有些公司,上網有限制,卻沒有統一配置網關和路由,只是提供了上外網的代理。 IT設施的不完善,只能讓員工本身想辦法。 固然,也有些狀況是特殊的網絡策略與權限管理所致。git
Cntlm是一個HTTP二級代理軟件。 它主要的做用,是在能代理上網的前提下,給這個代理再作一個代理,提供給更多的下級用戶。 下級用戶不須要、也不可能知道代理的帳戶密碼,這樣既保障了安全、又實現了方便。github
以Debian系的安裝爲例:shell
sudo apt install cntlm
非Debian系的安裝,也是相似的形式。 Cntlm是一個很老的軟件,在各大Linux發行版都有發佈。 甚至,連Windows下也有發佈,能夠經過choco
安裝。安全
choco install cntlm
下面的介紹以Linux爲例。 Windows下的配置,和Linux大同小異,只是文件位置不一樣。網絡
Cntlm安裝後,在/etc/cntlm.conf
就有一份默認配置。 若是須要在線查看配置,能夠參考cntlm.conf。ide
如下配置,幾乎是/etc/cntlm.conf
的最簡配置。.net
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
。rest
Gateway yes
若是須要限制外部訪問,能夠設置黑(Deny
)白(Allow
)名單。code
Allow 127.0.0.1 Deny 0/0
以上配置修改完成後,須要重載或重啓cntlm
。 具體方法見重載或重啓。
$ sudo cntlm -vc /etc/cntlm.conf -M http://baidu.com section: global, Username = 'USERNAME' section: global, Domain = 'COMPANY_DOMAIN' section: global, Proxy = 'proxy.company.com:8080' section: global, Proxy = 'proxy2.company.com:8080' section: global, NoProxy = 'localhost, 127.0.0.*, 10.*, 192.168.*, .company.com' section: global, Listen = '3128' ... HEAD: HTTP/1.1 200 OK OK (HTTP code: 200) ----------------------------[ Profile 1 ]------ Auth NTLM PassNT 7FA051B4B85F0E7EEBB24D3CD73E52B0 PassLM 23A1E1A7276E84EA4846D4C9FF957C35 ------------------------------------------------ cntlm: Terminating with 0 active threads
添加如下內容到剛纔修改過的/etc/cntlm.conf
:
Auth NTLM PassNT 7FA051B4B85F0E7EEBB24D3CD73E52B9 PassLM 23A1E1A7276E84EA4846D4C9FF957C31
在使用包管理器安裝的狀況下,Cntlm默認由systemd
來守護,開機自啓。
修改配置後,重載便可生效:
sudo systemctl reload cntlm
若仍未生效,能夠嘗試重啓:
sudo systemctl restart cntlm