网络访问受限?如果你有台VPS,且可以用SSH访问VPS,那就可以通过SSH隧道,建立自己的SOCKS5代理。你在电脑上的互联网访问将被加密发送到SOCKS5代理(你的SSH服务器),该服务器将流量发送到互联网。
这个实现包括以下几个关键步骤:
- 打开到远程服务器的SSH连接。连接建立后,SSH客户端还会打开一个本地TCP端口。这个例子中,TCP端口号是1337.
- 配制你的浏览器(谷歌、火狐……)使用本地代理访问互联网。
- 远程服务器接受你的SSH访问请求,并将作为该SOCKS5连接的出站代理。
建立连接,运行如下命令:$ssh -D 1337 -q -C -N user@youvps.domain.name
-D 1337
: 在本地端口1337上打开SOCKS代理。如果该端口被占用,尝试不同的端口号。如果你想为多个端点打开多个SOCKS代理,为每个端点选择不同的端口。-C
: 在通道上压缩数据,节约带宽。-q
: 静默模式,终端不输出内容。-N
: 不执行远程命令,只转发端口。- `user@youvps.domain.name`: 你的远程服务器。
运行这条命令后,ssh
会一直运行,直到你CTRL+C
结束它。如果想在后台运行,可以在命令行中加-f
执行选项。
下面以Firefox(火狐)浏览器为例配制Socks5代理。
在火狐浏览器中,进入首选项>高级>网络,找到连接设置。把它们改成这样:
现在,你的浏览器会连接到本机的1337端口上,SSH隧道将流量传输到远程服务器,远程服务器再连接到你要访问的HTTP或HTTPS网站。
如果此时在显示IP的网站上查看本机IP,应该显示的是你远程服务器的地址。
本文参考自@mattiasgeniar的文章。