Linux全域代理

來源:互聯網
上載者:User

Linux全域代理

一般用Linux的話都是用全域代理都是用http_proxy以及https_proxy這兩個環境環境變數來實現的, 但是缺點是這種方式並不是真正的全域代理, 即使設定了代理的話,對於某些應用還是無效的,比如w3m,而且這種方式並不支援socks協議.

我在實驗室環境使用shadowsocks作為代理用來訪問外網, 沒有用來翻牆,原因是個人感覺shadosocks比其他socks軟體好部署,雖然加密損失點效能,但是table加密那點計算量也不算什麼.在windows環境的話用proxifity就可以很好得解決全域代理的問題,在Linux上,上面也說了,確實是一件比較麻煩的事情.

shadowsocks的伺服器端就不介紹了, 推薦安裝C with libev版本, 這個版本包含了ss-server ss-redir ss-local ss-tunnel,其他版本貌似沒有實現本文功能的ss-redir. 除了ss-server是作為服務端的,其餘三個都是做作為用戶端的.ss-redir是用來做透明代理的, ss-local是做本地socks5代理的, ss-tunnel是做隧道的(這個目前還不知道實際的用途). 本文要說的就是用ss-redir配合Linux強大的iptable來實現全域代理.

下面以ubuntu14.04的環境來介紹

#建立一個叫SOCKS的鏈iptables -t nat -N SOCKS#忽略伺服器的地址,如果不屬於內網IP的話一定要注意加上.#其實下面這句可以省略的, 因為它屬於172.16.0.0/12iptables -t nat -A SOCKS -d 172.23.45.19 -j RETURN# 忽略本地地址iptables -t nat -A SOCKS -d 0.0.0.0/8 -j RETURNiptables -t nat -A SOCKS -d 10.0.0.0/8 -j RETURNiptables -t nat -A SOCKS -d 127.0.0.0/8 -j RETURNiptables -t nat -A SOCKS -d 169.254.0.0/16 -j RETURNiptables -t nat -A SOCKS -d 172.16.0.0/12 -j RETURNiptables -t nat -A SOCKS -d 192.168.0.0/16 -j RETURNiptables -t nat -A SOCKS -d 224.0.0.0/4 -j RETURNiptables -t nat -A SOCKS -d 240.0.0.0/4 -j RETURN# Anything else should be redirected to shadowsocks's local port#除上面之外的所有流量都跳轉到socks的本地連接埠(local_port),這裡使用shadosock預設連接埠1080iptables -t nat -A SOCKS -p tcp -j REDIRECT --to-ports 1080# 最後是應用上面的規則,將OUTPUT出去的tcp流量全部經過SOCKS鏈#如果是在openwrt上實現透明代理的話,使用下面被注釋了的規則#iptables -t nat -A PREROUTING -p tcp -j SOCKSiptables -t nat -A OUTPUT -p tcp -j SOCKS

可以將這段指令碼儲存為一個sh,加入開機自啟

將防火牆規則加入系統後,啟動ss-redir,其實兩者順序調換了也無所謂

#ss-redir -c /etc/shadosocks.json

shadosocks.json的內容和設定ss-local是一致的.shadosocks的好處是server/client共用一套配置.shadosocks官網即使對用戶端伺服器有分類, 但是用戶端只是伺服器端的一個子集,所以推薦用伺服器的版本.

經過這樣一番設定的話, 原生所有tcp流量都會經過代理機器出去了,目前ss-redir不知處udp轉寄.

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.