有些公司,上网有限制,却没有统一配置网关和路由,只是提供了上外网的代理。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的最简配置。
- Username USERNAME
- Domain COMPANY_DOMAIN
- Password ********
- Proxy proxy.company.com:8080
- Proxy proxy2.company.com:8080
- NoProxy localhost, 127.0.0.*, 10.*, 192.168.*, .company.com
- Listen 3128
注意:其中USERNAME、proxy.company.com:8080等,应该换成自己的场景适用的值。此外,如果使用下一节【获取Auth】的手段,Password配置可省略。
这个配置,仅能让本机访问。如果要允许localhost以外的机器访问,则需要再添加Gateway yes。
- Gateway yes
如果需要限制外部访问,可以设置黑(Deny)白(Allow)名单。
- Allow 127.0.0.1
- Deny 0/0
获取Auth
以上配置修改完成后,需要重载或重启cntlm。具体方法见重载或重启。