Answers:
ssh
连接到运行ssh的服务器时使用的二进制文件支持带-D
标志开箱即用地运行SOCKS代理。例:
ssh -D 1337 -f -C -q -N user@remote -p 22
-D 1337
告诉ssh
在本地1337端口上启动SOCKS服务器。-f
将进程派生到后台。-C
打开压缩。-q
启用“安静模式”,因为这里的目的只是为了建立隧道,我们实际上并不关心错误输出等。-N
告诉您ssh
将不会发送任何命令(-f
如果我们未指定此命令,则会发出抱怨)。-p
指定要使用的端口;显然,该默认值默认为22,因此上面的声明毫无意义,但为清楚起见将其包括在内。当您的SOCKS服务器启动并运行时,只需确保您的应用程序(通常是Web浏览器)正在尝试连接到本地SOCKS代理,而不是常规Internet。
在Firefox 29(此处以示例说明)中,这是通过转到菜单(右上角的三个香肠),然后依次单击“首选项”>“高级”>“网络”>((连接)>“设置” ...-确保仅填写袜子字段!由于代理服务器位于同一系统上,因此您可以使用localhost
或127.0.0.1
指向其在同一系统上设置的任何端口。
如果您还需要通过隧道传送DNS请求(如果不是,则DNS查找将显示您要访问的网站),您只需选中“远程DNS”或在中进行整个配置即可about:config
。在最后一种情况下,将其打开并设置以下值:
network.proxy.socks : 127.0.0.1
network.proxy.socks_port : 1337
network.proxy.socks.remote_dns : true
network.proxy.socks_version : 5
network.proxy.type : 1
您可能还需要此设置来从隧道中排除某些域或站点:
network.proxy.no_proxies_on : localhost, 127.0.0.1, 192.168.0.0/24, .yourcompany.com
这个答案是从法国写的,但是通过瑞典传来的:)
-D
和-p
分开。
ssh -D 1337 user@host