Linux下安装配置Cntlm代理

链接:作者:零壹軒

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

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

安装

以Debian系的安装为例:

sudo apt install cntlm

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

choco install cntlm

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

配置

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

修改cntlm.conf

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

UsernameUSERNAMEDomainCOMPANY_DOMAINPassword********Proxy proxy.company.com:8080Proxy proxy2.company.com:8080NoProxy localhost, 127.0.0.*, 10.*, 192.168.*, .company.comListen3128

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

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

Gateway yes

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

Allow 127.0.0.1Deny 0/0

获取Auth

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

$ sudo cntlm -vc /etc/cntlm.conf -M http://baidu.comsection: global, Username = USERNAMEsection: global, Domain = COMPANY_DOMAINsection: global, Proxy = proxy.company.com:8080section: global, Proxy = proxy2.company.com:8080section: global, NoProxy = localhost, 127.0.0.*, 10.*, 192.168.*, .company.comsection: global, Listen = 3128...HEAD: HTTP/1.1 200 OKOK (HTTP code: 200)----------------------------[ Profile  1 ]------Auth            NTLMPassNT          7FA051B4B85F0E7EEBB24D3CD73E52B0PassLM          23A1E1A7276E84EA4846D4C9FF957C35------------------------------------------------cntlm: Terminating with 0 active threads

添加Auth到配置

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

AuthNTLMPassNT7FA051B4B85F0E7EEBB24D3CD73E52B9PassLM23A1E1A7276E84EA4846D4C9FF957C31

重载或重启

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

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

sudo systemctl reload cntlm

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

sudo systemctl restart cntlm

良许个人

添加良许个人即送3套程序员必读资料

→ 精选技术资料共享

→ 高手如云交流社群

本全部博文已整理成一个目录,请在里回复「m」获取!

推荐阅读:

别瞎学了,这几门语言要被淘汰了!

TCP协议灵魂 12 问,总会用得到

红旗 Linux 桌面操作系统11来了:支持国产自主CPU,全新UI风格设计,兼容面广

5T技术资源大放送!包括但不限于:C/C++,Linux,Python,Java,PHP,人工智能,单片机,树莓派,等等。在内回复「1024」,即可免费获取!!