Ubuntu设置全局代理
之前有一篇文章用iptables做端口映射,实现了从外网直接ssh连接一台内网云主机,但即便这样,还是存在一些问题,譬如,apt仍旧无法访问外部源。
至于原因哈,猜一个,因为前面配置端口转发的时候只映射了22端口,而更新软件源等,使用的是http的80端口,些许应该再配置下http的80端口、https的433端口……
一不做二不休,直接在外网主机上用squid架设代理服务器,不就免去这一切乱七八糟的事了吗?架设代理服务器的过程后面会补上(又给自己挖坑呢)。
配置好代理服务器后,自然要把内网主机的代理配置指向这台外网主机。谷歌了一下,大部分文章提到的3种办法。一是直接执行
(这只针对当前会话有效);二是把上述内容添加到~/.bashrc中(实现当前用户每次登录时生效);三是安装一些第三方工具,类似于proxychain之类的。
但做了配置之后(不过我只试验了前2种),的确可以使用curl、wget等访问http资源了,但apt还是无法访问外部源,而且配置生效的范围相对局限。这又如何解决呢?
突然想到安装了gui的ubuntu,可以在系统设置中配置全局代理,遂找了个有gui的虚机试验了一把,果然发现配置生效后有两个文件发生了变化,打开具体看一眼,内容是这样滴
|
|
这么看来,前者配置的是系统全局代理服务器,后者则是针对apt做了单独的配置,这篇文章也应征了这个说法(ubuntu 10.10以后apt代理从后一个文件中读取)。
好了,将这两个文件新增的内容拷贝出来,贴到需要配置全局代理的内网主机的相同文件中去吧!
2017-01-14补充
除了apt,发现mvn也不走系统全局代理(捂脸)……
maven的代理配置位于setting.xml文件中的