Linux下安装配置Cntlm代理

系统 Linux
Cntlm是一个HTTP二级代理软件。它主要的作用,是在能代理上网的前提下,给这个代理再做一个代理,提供给更多的下级用户。下级用户不需要、也不可能知道代理的账户密码,这样既保障了安全、又实现了方便。

[[375228]]

 有些公司,上网有限制,却没有统一配置网关和路由,只是提供了上外网的代理。IT设施的不完善,只能让员工自己想办法。当然,也有些情况是特殊的网络策略与权限管理所致。

Cntlm是一个HTTP二级代理软件。它主要的作用,是在能代理上网的前提下,给这个代理再做一个代理,提供给更多的下级用户。下级用户不需要、也不可能知道代理的账户密码,这样既保障了安全、又实现了方便。

安装

以Debian系的安装为例: 

  1. sudo apt install cntlm 

非Debian系的安装,也是类似的形式。Cntlm是一个很老的软件,在各大Linux发行版都有发布。甚至,连Windows下也有发布,可以通过choco安装。 

  1. choco install cntlm 

下面的介绍以Linux为例。Windows下的配置,和Linux大同小异,只是文件位置不同。

配置

Cntlm安装后,在/etc/cntlm.conf就有一份默认配置。如果需要在线查看配置,可以参考cntlm.conf。

修改cntlm.conf

以下配置,几乎是/etc/cntlm.conf的最简配置。 

  1. Username    USERNAME  
  2. Domain      COMPANY_DOMAIN  
  3. Password    ********  
  4. Proxy       proxy.company.com:8080  
  5. Proxy       proxy2.company.com:8080  
  6. NoProxy     localhost, 127.0.0.*, 10.*, 192.168.*, .company.com  
  7. Listen      3128 

注意:其中USERNAME、proxy.company.com:8080等,应该换成自己的场景适用的值。此外,如果使用下一节【获取Auth】的手段,Password配置可省略。

这个配置,仅能让本机访问。如果要允许localhost以外的机器访问,则需要再添加Gateway yes。 

  1. Gateway yes 

如果需要限制外部访问,可以设置黑(Deny)白(Allow)名单。 

  1. Allow       127.0.0.1  
  2. Deny        0/0 

获取Auth

以上配置修改完成后,需要重载或重启cntlm。具体方法见重载或重启。 

  1. $ sudo cntlm -vc /etc/cntlm.conf -M http://baidu.com  
  2. section: global, Username = 'USERNAME'  
  3. section: global, Domain = 'COMPANY_DOMAIN'  
  4. section: global, Proxy = 'proxy.company.com:8080'  
  5. section: global, Proxy = 'proxy2.company.com:8080'  
  6. section: global, NoProxy = 'localhost, 127.0.0.*, 10.*, 192.168.*, .company.com'  
  7. section: global, Listen = '3128'  
  8. ...  
  9. HEAD: HTTP/1.1 200 OK  
  10. OK (HTTP code: 200)  
  11. ----------------------------[ Profile  1 ]------  
  12. Auth            NTLM  
  13. PassNT          7FA051B4B85F0E7EEBB24D3CD73E52B0  
  14. PassLM          23A1E1A7276E84EA4846D4C9FF957C35  
  15. ------------------------------------------------  
  16. cntlm: Terminating with 0 active threads 

添加Auth到配置

添加以下内容到刚才修改过的/etc/cntlm.conf: 

  1. Auth            NTLM  
  2. PassNT          7FA051B4B85F0E7EEBB24D3CD73E52B9  
  3. PassLM          23A1E1A7276E84EA4846D4C9FF957C31 

重载或重启

在使用包管理器安装的情况下,Cntlm默认由systemd来守护,开机自启。

修改配置后,重载即可生效: 

  1. sudo systemctl reload cntlm 

若仍未生效,可以尝试重启: 

  1. sudo systemctl restart cntlm  

 

责任编辑:庞桂玉 来源: 马哥Linux运维
相关推荐

2020-09-25 17:10:13

LinuxMySQL 8.0

2011-03-08 10:10:37

Linuxproftpd

2011-04-02 15:26:45

Cacti安装

2010-05-12 18:05:45

linux下subvesubversionapache配置

2011-03-08 11:11:38

LinuxLAMP安装

2011-03-08 11:11:38

LinuxLAMP安装

2011-03-31 10:31:18

Ubuntu安装MRTG

2009-07-07 11:33:06

JDK1.6

2012-08-17 09:48:55

MongoDB

2011-09-02 14:07:59

2011-04-01 12:22:35

2010-05-18 17:39:28

Subversion配

2019-12-09 11:10:24

LinuxDjangoPython

2011-07-02 14:03:12

Linux Qt

2011-03-02 08:57:51

2012-11-28 10:37:25

Linux集群安装配置

2011-02-25 18:11:48

LinuxPureFTPd

2010-05-25 11:24:30

SVN安装配置

2012-10-11 14:59:31

CentosFastDFS

2017-01-05 22:28:16

WindowsNano Server部署
点赞
收藏

51CTO技术栈公众号