|
有些公司,上网有限制,却没有统一配置网关和路由,只是提供了上外网的代理。IT设施的不完善,只能让员工自己想办法。当然,也有些情况是特殊的网络策略与权限管理所致。 Cntlm是一个HTTP二级代理软件。它主要的作用,是在能代理上网的前提下,给这个代理再做一个代理,提供给更多的下级用户。下级用户不需要、也不可能知道代理的账户密码,这样既保障了安全、又实现了方便。 安装以Debian系的安装为例: sudo apt install cntlm/ B: G. q, x; U1 c8 ~非Debian系的安装,也是类似的形式。Cntlm是一个很老的软件,在各大Linux发行版都有发布。甚至,连Windows下也有发布,可以通过choco安装。 choco install cntlm7 w- B U( O9 [6 y1 m: t [下面的介绍以Linux为例。Windows下的配置,和Linux大同小异,只是文件位置不同。 配置Cntlm安装后,在/etc/cntlm.conf就有一份默认配置。如果需要在线查看配置,可以参考cntlm.conf。 修改cntlm.conf以下配置,几乎是/etc/cntlm.conf的最简配置。 Username USERNAME/ k8 r5 M( L. x" M3 X8 W- T- WDomain COMPANY_DOMAIN Password ********- e; }6 a/ P$ m" i# `: v; c & a8 P4 M3 j7 \3 S5 S Proxy proxy.company.com:8080* Q5 E5 h* G, ]* o; F, I Proxy proxy2.company.com:8080 & x5 M X" W: s4 m- _. z% \/ } NoProxy localhost, 127.0.0.*, 10.*, 192.168.*, .company.com ]' P/ E2 @2 b Listen 3128 注意:其中USERNAME、proxy.company.com:8080等,应该换成自己的场景适用的值。此外,如果使用下一节【获取Auth】的手段,Password配置可省略。 这个配置,仅能让本机访问。如果要允许localhost以外的机器访问,则需要再添加Gateway yes。 Gateway yes: B* i% Z" [- i' o& Z. f4 Z% D. L4 `如果需要限制外部访问,可以设置黑(Deny)白(Allow)名单。 Allow 127.0.0.1. t6 U1 H+ t4 U# C y% oDeny 0/0! S# C; c% g7 J( a5 W0 l. W m. S 获取Auth 以上配置修改完成后,需要重载或重启cntlm。具体方法见重载或重启。 $ sudo cntlm -vc /etc/cntlm.conf -M http://baidu.com8 p# Q3 q% U, ]4 x( Z3 Gsection: global, Username = 'USERNAME' section: global, Domain = 'COMPANY_DOMAIN'! m2 h0 a5 K1 e" w: V7 S7 d' w0 k section: global, Proxy = 'proxy.company.com:8080'4 _% J- f0 @; t: X- O section: global, Proxy = 'proxy2.company.com:8080' section: global, NoProxy = 'localhost, 127.0.0.*, 10.*, 192.168.*, .company.com' section: global, Listen = '3128' \/ v$ w2 r, B$ U" N ^' q4 u& @ ...9 M$ o! @& L, ~8 r( B- |$ c HEAD: HTTP/1.1 200 OK OK (HTTP code: 200)- ^4 p" o$ K& _0 y& j' N ----------------------------[ Profile 1 ]------, P% A. E* L: e; N8 K; O6 E Auth NTLM PassNT 7FA051B4B85F0E7EEBB24D3CD73E52B0 PassLM 23A1E1A7276E84EA4846D4C9FF957C35: M1 J( ~. M8 Y k; T0 j1 x# b ------------------------------------------------* P6 G0 S o1 H# ]' Z cntlm: Terminating with 0 active threads 添加Auth到配置 添加以下内容到刚才修改过的/etc/cntlm.conf: Auth NTLMPassNT 7FA051B4B85F0E7EEBB24D3CD73E52B9, g8 B) W7 u( Z" N PassLM 23A1E1A7276E84EA4846D4C9FF957C31 重载或重启 在使用包管理器安装的情况下,Cntlm默认由systemd来守护,开机自启。 修改配置后,重载即可生效: sudo systemctl reload cntlm; b" a% p+ f/ j' m" n! i3 t若仍未生效,可以尝试重启: sudo systemctl restart cntlm |
微信公众号
手机版