SSH和VPN凸墙的区别与联系分析

好久没写技术文章了,呵呵,从来没写过凸墙的文章呢,这次讲讲。不过不是讲怎么凸墙,SSH代理和VPN是两种最流行的凸墙方式,这篇文章就来谈谈他们的异同。

SSH方式:

通过SSH连接,在本地与远程服务器之间建立一个加密的管道(Tunnel),SSH客户端监听本地端口,形成SOCKET5代理。由于IE对SOCKET5代理不好,大家一般都是用FireFox。直接将FireFox设置Socket5代理就是可以正常使用的。但是这样,上国内网站也会绕道国外,影响速度。好在FireFox有大量优秀的插件,FoxyProxy和AutoProxy是很常用的通过URL筛选决定是否通过代理访问网站的插件,后者用的尤其多。

VPN方式:

VPN其实也是在本地与远程服务器之间建立了一个加密的通道,但是,与SSH不同的是,VPN客户端会虚拟一个网卡出来(这个虚拟的网卡连接的就是刚才说的那个加密通道),然后修改路由,使流量从加密通道走,达到凸墙的目的。当然,VPN也存在跟SSH相同的问题,如果访问国内网站,会绕道国外,速度很慢。聪明的人们又想出了办法:连接了VPN的电脑相当于有两块网卡,只要让国内流量从真实网卡走而国际流量从虚拟网卡走,这个问题就解决了。实际的操作就是手工加入国内IP的路由,让这部分流量直接走本地连接来搞定。
在解决绕道的问题上,大家可以看出SSH方式和VPN方式的不同了,SSH方式可以在URL的级别上筛选网址走加密通道,而VPN方式只能筛选IP。
举个例子,假设xxx是某强屏蔽的关键字,SSH代理+AutoProxy可以做到使http://www.abc.com/xxx走代理,而http://www.abc.com/yyy不走代理,这是VPN方式力所不及的。当然,VPN方式也有它得天独厚的好处,就是不用对应用软件进行任何设置即可使用,这对一些根本没法设置代理的应用软件是莫大的福音,这也是SSH方式力所不及的。

最后介绍几个SSH和VPN项目:

SSH帐号(支持IPv6) – http://sshchina.com
VPN (PPTP/L2TP/OpenVPN)帐号 – http://vpnchina.net
教育网IPv6 OpenVPN帐号 – http://eduVPN.com
PPTP VPN: http://pptp.us
yegle的OpenVPN:http://yegle.net/openvpn/
pptp/l2tp vpn: http://www.vpn38.net

114 Replies to “SSH和VPN凸墙的区别与联系分析”

  1. 哈哈 好文章 转走了 不过还是对VPN的原理不是很理解 既然是虚拟出一块网卡,那么修改路由表怎么就能达到FQ的效果呢? 无非就是修改下一跳吧。。然后怎么控制IP包从哪块网卡出去? 求解。。

  2. ssh总出问题,用的是GD的,不知道是ssh的问题还是我的问题。
    用vpn比较简单。也就偶尔用下。

  3. ==S60就是个悲剧……只有付费软件symvpn可以用vpn FQ 电脑可以用l2tp么?还有……为啥我的评论没有头像 在哪里设置 包括我自己的wp 不好意思 刚学wp 方便的话请Email我^^谢谢

  4. 版主,手机凸墙有啥好方法么。。。
    另外,方便发个比较稳定的免费SSH 账号么 :)

      1. @kangzj 
        哈哈,账号就不要啦,开玩笑的。 如果要考虑手机端能用,好像VPN 最合适啊。我的S60 3rd,不知有何手机端的可推荐的

  5. 有三种OpenVPN, PPTP, L2TP/IPSec. 有什么区别啊? 平时自己上网的话用哪种比较好呢?

  6. vpn上的路由也不需要手工设置, 特别是openvpn. 可以参照这个项目 http://code.google.com/p/chnroutes/
    vpn相比ssh最大的优势是并发性, 另外使用openvpn+udp配置的vpn则还有另外一个优势是这网络条件不好的时候, 依然能维持链接, 这个使用tcp协议的ssh tunnel是无法比拟的.

    1. @crazy_one, openvpn+udp关于这点我是深表赞同,曾经在9层vpn下开着OpenVPN翻墙,而这9层vpn之间的设备还都五花八门…对于这样的环境ssh还是没法跟OpenVPN相比的。

  7. VPN有点是全局,麻烦也是全局,网上的那些IP分布并不是很准确
    所以现在大部分时间都是在路由器里开个ssh通道供全家人周游鸟国…

      1. @kangzj, 恩,我的路由器除了少量驱动其他都是开源的。交叉编译工具也都提供,所以编译个openssh倒是很简单,然后在上面开个ssh -D,火狐用autoproxy家人的IE用pac…之前上面开过tor,IPv6 tunnel,openvpn.到最后还是用回了ssh

  8. 还有一个没写到的,一半学校会禁用上VPN。所以SSH是上选,对了,我比较喜欢Foxypoxy Auto不知为何不适应

  9. 应该说两者都比较安全吧。VPN是全局代理,一般在本地连接里新建一个连结就OK了,我比较喜欢这种。

  10. 这篇文章很实用啊,相信以后会越来越实用的。。。不过二者选其一,我还是更喜欢VPN。 😆

  11. 不能设置代理的软件的话,windows下可以用proxifier,sockscap之类的软件。linux下可以用proxychains这个程序

      1. @kangzj, 对了,有个问题提想请教下kangzj同学,使用SSH加密Tunnel浏览网页,产生的流量好像不会被计入为VPS的流量?我在我的VPS上开的账户,用ssh方式上网,发现VPS流量统计里面的bandwide数据貌似重来就没涨过……

Leave a Reply to kangzjCancel reply