建立基于polipo的代理

背景

10.17.8.* 網(wǎng)段的內(nèi)網(wǎng)訪問(wèn)權(quán)限被限制的很?chē)?yán)(雖然可以正常上外網(wǎng)),導(dǎo)致無(wú)法訪問(wèn)內(nèi)網(wǎng)部署的很多服務(wù)。
每增加一個(gè)IP,都需要走審批流程,非常低效和麻煩。

解決思路

采用代理。

已有虛機(jī)10.17.8.34,10.17.8.35
將10.17.8.34新添加一個(gè)IP10.17.2.178(該網(wǎng)段具有寬松的內(nèi)網(wǎng)訪問(wèn)權(quán)限)。
在該機(jī)器上部署代理。10.17.8.35通過(guò)該代理,實(shí)現(xiàn)http和https的上網(wǎng)。

建設(shè)代理

采用ssh的socks5代理 + polipo的http代理 的組合

socks5代理

在代理機(jī)上執(zhí)行:

ssh -D 9050 -f -C -q -N user@localhost -p 65300

ssh本身具有socks5代理能力,上述指令可以建立一個(gè)端口為9050的socks5代理端口。

polipo的http代理

用polipo將上述的socks5轉(zhuǎn)換為更方便使用的http_proxy和https_proxy代理。

polipo可以采用直接安裝或選擇docker的方式,這里選擇通用性更強(qiáng)的docker。
參考:https://hub.docker.com/r/vimagick/polipo/

docker pull vimagick/polipo

建立一個(gè)docker-compose.yml文件,內(nèi)容參考如下:

polipo:
  image: vimagick/polipo
  command:
    #authCredentials=username:password
    socksParentProxy=localhost:9050
  ports:
    - "8123:8123"
  restart: always
docker-compose up -d

(TODO:已知bug:目前采用這種方式https無(wú)法成功,但是附錄里的傳統(tǒng)安裝方式,https可以成功)

連接代理

在郁悶的10.17.8.35機(jī)器上,測(cè)試一下能否這個(gè)端口:

nmap 10.17.8.34 -p 8123

如果成功,執(zhí)行下面兩句即可實(shí)現(xiàn)http和https的上網(wǎng)

export http_proxy=http://10.17.8.34:8123
export https_proxy=http://10.17.8.34:8123

注意:export是在shell中執(zhí)行,采用systemctl啟動(dòng)的服務(wù),例如docker,是不受影響的。因此,需要在docker的配置文件里,centos是/etc/sysconfig/docker里添加

http_proxy=http://10.17.8.34:8123
https_proxy=http://10.17.8.34:8123
sudo systemctl restart docker.service

重啟docker服務(wù)即可生效。

附錄

傳統(tǒng)的polipo的centos安裝

這里提供傳統(tǒng)的安裝方式


git clone https://github.com/jech/polipo.git
cd polipo
# make.info需要這個(gè)
sudo yum install texinfo
make -sj
sudo make install
sudo mkdir /etc/polipo
echo -e '
proxyAddress = "::0"
socksParentProxy = "localhost:9050"
socksProxyType = socks5
daemonise = true
' > /etc/polipo/config
# run now
sudo polipo
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容