内网通过代理使用apt-get安装软件

某地电信的一个项目,我们这边提供的软件绑定到了几台服务器上;发给客户后,过了半年终于上架调试了。
本来是好事,调试上架意味着要付款了。所以做的也特别卖力。根据网络环境更改了一些基本的配置后,一切正常,心中暗喜。到了下午快下班的时候,做完了其他的配置,图像服务器也做完一台了,心里松了口气。因为图像服务器有三台,都是一样的配置,一台做完了,只要拷贝过去就能用了……
不想这时问题出现了:运行程序时,报了一长串的错误,提示这个库缺失,那个库缺失。心里不由的就一紧,查看了一下系统的配置,火就上来了……
其实发货前对必须的软件环境进行了配置和测试,但是其中有三台配置完全相同的图像服务器,虽然配置比较繁碎,但是我做完一台服务器的配置后,把详细配置的步骤都做成了文档,然后交给同事去做,当时他回复我说配置好了,但是事实上根本就没有……单单是这样,也不足以使我恼火,最麻烦的是,这几台图像服务器只有内网,并且服务器进入电信机房后,每次进机房都得拿许可,更加悲催的是,我们根本没有人在那边,都是集成商那边派人按我们的要求安装好,我们远程进行配置和调试……
但是工作还是必须得做,而且集成商那边要求明天进行调试,时间紧迫。
因为手头还有一台能够访问公网的服务器,内网的网卡在一个网段,而且应该在同一级交换机上,所以用这台服务器来做代理,应该能让内网的两台图像服务器连上更新服务器。
罗嗦了半天,进入正题:
代理服务器选用了Squid,网上相关的配置文档很多,这里仅从debian系统下实现通过代理使用apt-get更新角度说起:
公网的临时代理服务器配置:
安装squid:
# apt-get install squid

这里遇到一个小问题,虽然这台公网服务器可以被访问到,但是奇怪的是,设置的dns服务器却无法解析mirrors.geekbone.org,奇怪的紧。ping了一下mirrors.geekbone.org的实际ip,可以访问,只好手动在/etc/hosts下加了ip的映射。
安装完成,配置/etc/squid/squid.conf
找到并添加:
# Example rule allowing access from your local networks.
# Adapt localnet in the ACL section to list your (internal) IP networks
# from where browsing should be allowed
#http_access allow localnet
http_access allow localhost
###########add by leo, for image server update #####
acl my_network src 192.168.0.34 192.168.0.35 192.168.0.36
http_access allow my_network
###########end add image server update rules########
# And finally deny all other access to this proxy
http_access deny all

然后开启路由功能:
# echo “1″ >/proc/sys/net/ipv4/ip_forward

重启squid
# /etc/init.d/squid restart

代理客户端(图像服务器)配置:
添加临时代理:
export http_proxy=”http://192.168.0.31:3128″

然后使用aptitude update进行更新并安装需要的软件包。

猜你喜欢

转载自haibuo1981.iteye.com/blog/1450734