配置Linux使用CNTLM使用NTLM身份验证代理(ISA Server)
关于Cntlm代理
来自官方的ctnlm sourceforge.net网站 :“Cntlm是一个NTLM / NTLM会话响应/ NTLMv2身份验证HTTP代理,旨在帮助您摆脱Microsoft专有世界的链接,您可以使用免费的操作系统并尊重我们的崇高理念,但是你不能隐藏,一旦你在需要NTLM身份验证的公司代理服务器的冷钢条之后,你就可以完成,同样适用于不支持NTLM的第三方Windows应用程序。
这里是Cntlm。 它位于您的应用程序和公司代理之间,即时添加NTLM身份验证。 您可以指定几个“父”代理,Cntlm将一个接一个地尝试,直到一个工作。 所有auth'd连接都被缓存和重用,以实现高效率。 只需将您的应用程序代理设置指向Cntlm,请填写cntlm.conf(cntlm.ini),并且您已经准备好了。 这在Windows上很有用,但对于非Microsoft操作系统而言非常重要。
Cntlm集成TCP / IP端口转发(HTTP隧道),SOCKS5代理模式,独立代理,允许您浏览内部网以及Internet,并通过NTLM保护访问公司Web服务器。 有许多高级功能,如NTLMv2支持,密码保护,密码散列,完全多种平台代码(运行在每个架构和操作系统外),还有更多。 Cntlm可以在嵌入式平台上使用这么少的资源,而且它也是在没有任何外部依赖的情况下用普通C编写的。
Cntlm已经针对各种ISA服务器,WinGate,NetCache,Squid和Tinyproxy进行了测试,有和没有NTLM认证。
关于本教程
本教程假设您有一个干净的安装的Debian 7。
1.安装CNTLM
更新您的来源:
apt-get update
更新您的安装:
apt-get upgrade
安装应用程序:
apt-get install cntlm
2.配置CNTLM
一旦安装,编辑配置文件:
nano /etc/cntlm.conf
使用本地代理将监听的端口设置用户名,域,远程代理和地址。 这里只听本地界面:
Username testuser Domain contoso.com Proxy 10.0.0.41:8080 Listen 127.0.0.1:3128
生成密码哈希:
cntlm -H
你会看到这样的东西:
Password: PassLM 7F4BB72132BAA2A01FA94BD623A70D3B PassNT 2C27BB146F74625D159413FC1F30745F PassNTLMv2 D3972609581D8260868ED588303F0FF0 # Only for user 'testuser', domain 'contoso'
将这些行复制到/etc/cntlm.conf
3.配置Debian使用CNTLM代理:
执行此行以配置系统以使用本地代理:
export http_proxy=http://127.0.0.1:3128/
4.配置CNTLM监听外部网络:
如果您需要使用CNTLM作为代理服务器,请将此行添加到/etc/cntlm.conf(假设10.0.0.1是本地地址):
Listen 127.0.0.1:3128 Listen 10.0.0.1:3128
链接
CNTLM: http : //cntlm.sourceforge.net/
NTLM信息: http : //en.wikipedia.org/wiki/NT_LAN_Manager