Ram*_*pau 3 ssh proxy socks netcat
所以我能够创建一个本地的socks代理,sudo ssh -D 8080 user@server
我只能从我的机器访问它:
nmap -p 8080 127.0.0.1
8080/tcp open http-proxy
Run Code Online (Sandbox Code Playgroud)
但是,无法从我的本地网络访问此代理:
nmap -p 8080 192.168.1.10
8080/tcp closed http-proxy
Run Code Online (Sandbox Code Playgroud)
我尝试过端口转发,但似乎没有解决问题(除非我做错了)我在Mac上,顺便说一下.
解决方案?
如果要从网络访问SOCKS代理,则需要SSH将其SOCKS代理绑定到可访问的外部地址,而不是localhost,这是"本地",不允许任何其他外部连接.请改用此命令:
ssh -ND "*:8080" user@server
Run Code Online (Sandbox Code Playgroud)
请注意,我已从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
Run Code Online (Sandbox Code Playgroud)
9999 只是一个防火墙ID号,可用于识别防火墙规则.
如果您决定停止打开代理,此命令将关闭它:
sudo ipfw delete 9999
Run Code Online (Sandbox Code Playgroud)
完成所有配置后,如果您希望代理在Internet上可用,则需要按照说明设置端口转发.您可以使用本指南在路由器上配置端口转发.
但是,通过Internet公开开放代理可能会带来麻烦.您的ISP可能会对此不满意,特别是如果有人不太喜欢通过Internet访问您的SOCKS代理.更好的解决方案?安装OpenSSH服务器,保护它,只需从Internet登录并在本地设置SOCKS代理.本指南可以为此提供帮助.
快乐代理!
| 归档时间: |
|
| 查看次数: |
3076 次 |
| 最近记录: |