Proxy 能否将CNTLM配置为直通?尝试为浏览器、ssh等实现零配置代理切换

Proxy 能否将CNTLM配置为直通?尝试为浏览器、ssh等实现零配置代理切换,proxy,ntlm,Proxy,Ntlm,我的主要笔记本电脑在两个办公室wifi环境(一个在NTLM代理后面,另一个需要Cyberoam认证)和各种wifi/LAN环境之间穿梭 我的网络连接由netctl[1]管理,并使用一个自制脚本执行以下操作:- 检查我是否在NTLM办公环境中。如果是,请启动cntlm[2] 检查我是否在Cyberoam办公环境中。如果是,请使用适当的配置变量启动crclient[3] 在此之后,我根据当前环境修改了当前的_proxy配置文件和proxy.pac文件(基本上为NTLM环境之外的所有内容设置了一个空的

我的主要笔记本电脑在两个办公室wifi环境(一个在NTLM代理后面,另一个需要Cyberoam认证)和各种wifi/LAN环境之间穿梭

我的网络连接由netctl[1]管理,并使用一个自制脚本执行以下操作:-

  • 检查我是否在NTLM办公环境中。如果是,请启动cntlm[2]
  • 检查我是否在Cyberoam办公环境中。如果是,请使用适当的配置变量启动crclient[3] 在此之后,我根据当前环境修改了当前的_proxy配置文件和proxy.pac文件(基本上为NTLM环境之外的所有内容设置了一个空的proxy和一个direct passthrough proxy.pac,我将它们设置为指向cntlm)

    当前的_代理配置文件来源于我的shell(以及dropbox、skype、hubic、chromium等各种依赖于互联网的应用程序的启动脚本)。Firefox的连接取决于proxy.pac文件

    这是可行的,虽然不是很顺利。特别是它不鼓励我简单地将笔记本电脑置于睡眠状态,因为firefox需要重新加载proxy.pac,而且基本上所有应用程序都需要在网络环境之间移动才能重新启动。另一个大问题是,我需要为每个ssh目标配置两个ssh配置,一个带软木塞(用于NTLM环境),另一个不带软木塞

    因此,我的问题是:-

  • 是否可以将CNTLM与某种可配置的传递一起使用。这样,我的所有应用程序只需要在localhost:3128上安装一个代理,然后重启CNTLM,就可以在我的办公室从“直接”连接切换到通过NTLM代理连接

  • 如果做不到这一点,是否有可能(而且相当容易)使用iptables来配置(动态)所有流量以通过cntlm或不通过cntlm

  • 如果以上两种方法都不可行,那么运行本地squid(或类似)代理是否允许我尝试这样做

  • [1] -

    [2] -


    [3] -

    我认为你能做的最好的事情就是对cntlm.conf进行脚本更改,以更新NoProxy行。我还没有尝试过,但这篇博文有一个例子:


    我最终设置了一个简单的squid代理在3128上运行(cntlm也是如此),指导我所有的网络应用程序使用3128上的代理,然后在需要时停止/启动正确的代理服务器


    到目前为止,唯一的缺点是squid在某些类型的活动(例如npm更新)中出错,但这不是一个长期问题。

    我也有同样的问题。我编写了一个脚本,在不同的CNTLM配置(cp/重启)之间切换。为了不使用外部代理,我只在noproxy行中加了一个*