ISA防火墙下的Ubuntu更新

因为公司的一个SP项目需要安装一个Linux的计算机,我便自告奋勇的给那台机器安了个Ubuntu,因为以前用的很顺手。

但是这次是老革命遇到了新问题,因为Linux的系统遇到了Windows的ISA代理服务器,域用户名和密码便无法使用,Ubuntu的更新便成立一件非常头痛的事情,我是用LiveCD装的,虽然安装完了,Desktop用着没有任何问题,但是这是一台工作机器,很多东西,如C库,输入法等都不在默认安装范围,因此如果不能更新,无疑该Ubuntu便和玩具差不多了。

昨天回来一顿猛搜,还真有不知道的哥们碰到过这个问题,林林总总的解决方法几乎只有一个。那就是需要使用代理,但是有个例外那就是Firefox,使用域下面的用户名和密码就能上网,这只能说Firefox这玩意儿太强悍。

下面介绍下,如何在AD域的情况下,顺利更新Ubuntu吧。

工具名称:NTLM authorization Proxy Server v0.9.9
下载地址:http://ntlmaps.sourceforge.net/

它的工具原理是在本地机上开置一个类似代理服务器(proxy-like)的进程,所有的代理请求经过它后就转化为NT的代理,并向NT代理服务器发送请求。

下载之后,执行
$ tar -zxvf ntlmaps-0.9.9

找到server.cfg,修改它
[GENERAL]
LISTEN_PORT:5865 # 本机监听端口
PARENT_PROXY:192.168.0.2 # ISA服务器
PARENT_PROXY_PORT:8080 # ISA服务器端口
PARENT_PROXY_TIMEOUT:15
ALLOW_EXTERNAL_CLIENTS:0
FRIENDLY_IPS:
URL_LOG:0
MAX_CONNECTION_BACKLOG:5
[CLIENT_HEADER]
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/msword, application/vnd.ms-powerpoint, */*
User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows 98)
[NTLM_AUTH]
NT_HOSTNAME:192.168.0.2 # 主机名
NT_DOMAIN:demo-domain # 域
USER:test# ISA代理的用户名
PASSWORD:test# ISA代理的密码
LM_PART:1
NT_PART:0
NTLM_FLAGS: 06820000
NTLM_TO_BASIC:0
[DEBUG]
DEBUG:0
BIN_DEBUG:0
SCR_DEBUG:0
AUTH_DEBUG:0

配置完后保存,启动main.py:
# python main.py &

然后设置需要连接外网的工具的代理地址为127.0.0.1,端口为5865,即可连接外网。

使用新立得包管理的同学,可以更改设置里面的代理服务器,按照上面的填写。

如果使用apt-get update的话需要执行
$ export http_proxy="http://127.0.0.1:5865"

OK,完成。希望这些东西能被baidu或者google收藏,以便更多在公司ISA代理下不能更新Ubuntu的同学查阅到。