2017/09/13

在Linux上架socks5 server.

Socks5 是種 proxy, 以前想下載學術文章但人又不在學校內時,就用了一兩次自己架的socks5 server, 偽裝成校內的機器,再連到學校的圖書館,老實說還蠻好用的,只是當時socks5的server架起來後,一來很難設成自己預期的樣子,二來也沒留下文件,這個知識就這麼失傳了。

直到今天才發現,原來用ssh就可以做到,而且還異常簡單,只要一個指令:

ssh -N -D 0.0.0.0:1080 localhost

就行了,其中-N是讓ssh保持在idle狀態,同時在localhost上不執行任何命令;-D則是把port forward到1080, localhost則是ssh建立連線到localhost的意思。設好之後,其他人在瀏覽器那邊把SOCKS HOST設成執行該ssh指令的那台機器, port設成1080就大功告成。

連到測主機來源的網頁,會顯示

Visible IP Address Information:
hop description IP address GeoIP
0 Your internal IP: unknown 
1 Your external IP: 172.104.75.62 Japan, Tokyo, Tokyo
→ This server:  173.255.232.166 United States, New Jersey, Newark

另一種用法是在本機執行ssh指令:

ssh -N -D 1080 172.104.75.62

其中172.104.75.62是可以遠端ssh連線的server;成功登入後,在瀏覽器那邊設定socks proxy, SOCKS HOST填localhost, port填1080。

至於security的問題, 就交給 iptable 或是 tcpwrapper 囉。

沒有留言: