使用ssh代理穿墙

作者:zzhang   来源:Windforce's Cabin

现在有某些脑袋长包的网络管理员采取了一些极端的防火墙策略,不仅仅限制流入的数据,还限制流出的数据,使得个人用户的自由的到极大的限制,一个典型的例子就是在GFW内,你经常看到The Connection is reset by the site.

而ssh的加密和端口映射功能则提供了一个很好的解决方案。在现在的网络教程中,一般的教程都让你用ssh -D port user@server,然后将代理设为localhost:port来解决这一问题。但不幸的是,这一策略要求有一个防火墙外的主机,而且你申请的绝大多数Free Unix Shell Account并不适用于这一策略,因为这些站点通常会为了安全考虑而关闭Tcp转发。

一个高成本的解决方案就是利用VPS或者在国外租用的服务器,当然VPS的成本更低一点,但也十分昂贵,但他可以不仅仅用于翻墙,还可以作为一个多用途服务器来使用,需要注意的是,利用VPS翻墙时,一定要打开服务器sshd服务的Tcp转发选项,不然你会郁闷的发现高墙仍然在你面前高耸,其具体方法为,编辑/etc/ssh/sshd_config文件

置AllowTcpForwarding为yes。

此外,要成功的翻墙还有一个重要的前提,就是摆脱DNS劫持的限制,这并没有什么太好的解决方法,一个可行的方案是直接利用远程主机解析域名后写入本机的/etc/hosts文件。

没有评论: