基於tinyproxy搭建代理伺服器

Federico發表於2017-06-07

在我們實際的工作當中,經常會遇到這種情況,我們對線上伺服器進行操作時是通過跳板機來進行的,出於安全性及投入資金來考慮非必要情況下除跳板機以外的伺服器是沒有內網ip的,所以當我們位於內網的伺服器需要使用yum安裝軟體包時就遇到了不能連線網路的問題,我們可以通過部署基於Tinyproxy的http代理來用作yum代理,操作如下:

1.首先我們還是新建了一個名為TInyproxy的docker容器,新建容器後我們發現我們並沒有ping命令,所以需要安裝initscripts包

[root@Tinyproxy ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 02:42:AC:12:00:05
inet addr:172.18.0.5 Bcast:0.0.0.0 Mask:255.255.0.0
inet6 addr: fe80::42:acff:fe12:5/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:508 (508.0 b)

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)

 

 

[root@Tinyproxy ~]# ping www.baidu.com
bash: ping: command not found

 

 

[root@Tinyproxy ~]# yum install initscripts

安裝完成後,ping百度檢視我們是否可以連線外網

[root@Tinyproxy ~]# ping www.baidu.com
PING www.baidu.com (119.75.218.70) 56(84) bytes of data.
64 bytes from 119.75.218.70: icmp_seq=1 ttl=53 time=5.83 ms
64 bytes from 119.75.218.70: icmp_seq=2 ttl=53 time=4.44 ms

2.通過yum安裝TInyproxy軟體包搭建Tinyproxy代理伺服器,修改主配置檔案

[root@Tinyproxy ~]# yum -y install epel-release tinyproxy

[root@Tinyproxy ~]# vim /etc/tinyproxy/tinyproxy.conf  #主配置檔案

新增以下項:

Allow 127.0.0.1  #視環境而定,新增允許的網段或主機

Port 8888  #設定一個執行Tinyproxy需要使用的埠,此埠在內網機的yum配置檔案中同樣需要指定

3.建立用於模擬內網的伺服器,修改yum配置檔案,指定使用代理伺服器。

[root@nginx ~]# vim /etc/yum.conf

新增以下項:

proxy=http:172.18.0.5:8888  #ip及埠視情況而定

proxy_username=username  #並非必要
proxy_password=password   #並非必要

4.搭建完成後,進行測試

[root@nginx ~]# yum clean all && yum makecache  無報錯即可

5.完成以上操作後,我們的內網機器就可以使用yum來安裝軟體包了,當然我們也可以通過設定環境變數的方式來設定讓內網伺服器使用可以一些網路操作。

 

export http_proxy=http://username:password@proxyserver:port/
可以設定在環境變數當中,設定後就可以使用curl來訪問外網了。

如果這些沒有幫到你,你也可以去http://easwy.com/blog/archives/proxy-setting-on-linux-console/看看吧。

 

相關文章