如果要从网络访问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可以帮助。
快乐代理!