在MS ISA Server环境使用apt-get通过代理更新Ubuntu

最近遇到这个问题,和很多公司一样,我们公司使用了万恶的MS的ISA Server管理上网权限,上网需要使用代理。

 

那么首先,问题1,如何设置apt的代理

 

关于这个问题,网上很容易能找到资料,这里简述一下几种方法:

1. 在终端中使用export命令设置http_proxy变量指定代理,这种方法只对当前终端有作用。

export http_proxy=http://yourproxyaddress:proxyport

2. 修改/etc/apt/apt.conf这个文件,这种方法只对apt有作用。在文件中增加:

Acquire::http::Proxy "http://yourproxyaddress:proxyport";

3. 修改主目录(即/home/yourusername/)下的.bashrc文件:

http_proxy=http://yourproxyaddress:proxyport
export http_proxy

 

上面所说的方法,如果需要用户名和密码可以使用http://user:password@address:port这样的格式指定。

 

但是,问题2,对于处在ISA防火墙后面的用户,用户名种带有一个反斜杠:\,而这在上面的格式中,是不允许的。

 

在Ubuntu英文论坛上搜索一番以后,找到了方法,即使用http://sourceforge.net/projects/ntlmap   这个东东相当于在本地建立一个代理服务器,它是可以连接ISA的代理服务器的。

要使用这个工具,先祈祷你的电脑上装了python了(万幸的是Ubuntu应该默认就撞上了的),然后解压缩下载的包到某个位置,编辑其中的server.cfg文件,修改里面的几个值:

LISTEN_PORT:5865 这个是要在你本机建立的代理服务器的端口,默认5865.


PARENT_PROXY:192.168.*.*
PARENT_PROXY_PORT:80         这两个就是的ISA的代理服务器和端口。


NT_DOMAIN:domain                 这是你计算机所在的域和你的用户名,密码
USER:user
PASSWORD:

 

修改完成以后,保存。然后使用下面的命令启动本地的代理:

python main.py

 

最后,再按照文章开始的方法,设置apt的代理就可以了,

注意这次设置的代理应该是127.0.0.1端口是你刚才在server.cfg文件里配置的端口。

这样就避开了用户名里含有“\”的问题了.

同样,由于密码里含有“:”这种特殊字符的,也可以用此方法解决。

 

PS,在论坛搜索的时候,看到有人问这样的问题,楼主已经说的很明白了,是在ISA环境下,还是有人进来就按开始的方法回答,并且说 it works for me...

看来老外那里小白也不少嘛,所以说,不要盲目崇拜老外

 

参考:

http://ubuntuforums.org/archive/index.php/t-474978.html

http://www.tuxmachines.org/node/12889

https://help.ubuntu.com/community/AptGet/Howto

你可能感兴趣的:(PHP,python,配置管理,ubuntu,防火墙)