部署Linux代理服务器

在DevOps自动初始化服务器时,需要自动安装Linux软件包、Pip依赖包等。但对于一些安全策略,从服务器直接访问外网时不被允许的。

所以,一般企业采用两种方式:

1. 下载依赖包,上传到服务器上后手动安装。 该方法非常冗余,而且依赖包可能会形成好几层依赖。依赖包的抓取和更新都是一件很耗时和无趣的事情;

2. 做一个软件库镜像。这种方式通过Docker的方式,比以前要容易的多了,软件上试行很简单,硬件上,准备百G左右的硬盘就好了。 还有,镜像更新需要你的网络足够好。

我偏好的方式,是建立一个代理。在一个有外网网络访问权限的机器上,安装代理服务器,其他不可访问外网的设备,通过代理服务器进行访问。可访问资源的策略通过代理服务器进行控制即可, 比如仅能访问yum源、pip源等。这种方式属于按需访问,简单轻便。

代理服务器比较知名的,是Squid,配置强大。另一个我最爱的小型简约的代理服务器是tinyproxy。

  1. 在可访问公网的机器上安装tinyproxy:
yum install tinyproxy

如果yum repo里面没有tinyproxy,可以去rpmfind寻找,并安装远程文件:

yum install https://rpmfind.net/linux/epel/7/x86_64/Packages/t/tinyproxy-1.8.3-2.el7.x86_64.rpm

2. 配置

vi /etc/tinyproxy/tinyproxy.conf
#Add below line, according your server ip configuration
Allow 172.16.0.0/12
Allow 192.168.0.0/12

3. 启动

service tinyproxy restart

4. 在其他机器上验证代理

ssh a-internal-server
export http_proxy=192.168.6.200:8888
curl http://www.luochunhui.com/

完成,就这么简单。

接下来在后文,我将通过配置,把这个Proxy,用到DevOps的自动化软件安装中去,解决yum、pip的安装问题。

发表评论

电子邮件地址不会被公开。

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据