如果要從網絡訪問SOCKS代理,則需要使用SSH將其SOCKS代理綁定到可訪問的外部地址,而不是本地主機,該主機爲「本地」,並且不允許任何其他外部連接。使用這個命令:
ssh -ND "*:8080" [email protected]
注意,我從你的命令刪除sudo
,我已經添加了-N
標誌的命令。 sudo
肯定不需要;你只需要它,如果你打開1024以下的端口(除非你有很好的理由,否則你不應該這麼做)。 -N
標誌使SSH會話N oninteractive,以便您沒有啓動shell會話,只是一個代理。 -D ":8080"
將SOCKS代理綁定到系統上的所有地址,包括網絡地址。至於防火牆設置,如果您有最新版本的Mac OS X(10.6+),您可能還想將防火牆打開到您的8080端口。您可以使用此命令可以這樣做:
sudo ipfw add 9999 allow tcp from any to any dst-port 8080
9999
就是,你可以用它來識別防火牆規則防火牆ID號。
你應該決定停止打開你的代理,這個命令會關閉它備份:
sudo ipfw delete 9999
所有配置後,如果你希望你的代理服務器是整個互聯網可用,那麼你就需要按照說明設置端口轉發。您可以使用this guide在路由器上配置端口轉發。
然而 ......通過互聯網公開代理可能會導致麻煩。您的ISP可能會對此表示擔憂,特別是如果有人不太喜歡通過Internet訪問您的SOCKS代理。更好的解決方案?安裝一個OpenSSH服務器,保護它,只需從Internet登錄並在本地設置SOCKS代理。 This guide可以幫助。
快樂代理!