最近在弄一些关于vpn的事,又在quora上看到了好多关于vpn的问题。(不知为何quora总是推荐让我回答vpn的问题)其中很多问题极其傻,缺少基础性常识,一看就是外行问的。

其实也难怪,vpn的需求,并不只是专业人士有。有位朋友向我咨询vpn问题,他可既不是要翻墙,也不是专业人士。所以我打算把和vpn有关的一些常识写一下,以备咨询。

vpn能做什么?

vpn能做什么,取决于你想要他做什么。vpn其实就是一个虚拟的线,连通两个地点,就如同真的接了一根线一般。只不过这个虚拟的线,实际上是由你到对方地点的网络来提供的支持。通常情况下,这么传数据会使得你的数据暴露在网络上。但是vpn里传输的所有数据都经过了加密,你可以认为传输者看不见。

所以,vpn能做什么呢?

有些公司阻止了员工访问很多网络。借助vpn,你可以绕到第三方的网络里去访问哪些网站。其实gfw也是同类情况,只是这家公司更大而已。

有些网络会监听访问,用来做一些对用户不利的事情。例如在国外,使用bt下载很可能会招致版权组织的诉讼。这时可以借助vpn来下载。或者某些公司也会监听用户的数据,例如qq。对于这类情况,你也可以用vpn跳出公司的网络。当然,如果你对这些问题已经有了顾虑,那么就不应当使用国产路由器。大部分国产路由器都会有监控用户数据的行为,很多甚至会修改。

vpn不能做什么?

vpn的常规模型,是从用户实际上网的地点“逃逸”到vpn供应商那里。(我们不讨论一些特殊情况)所以,他解决不了一些问题。

例如你的网站没有加密,那么就无法期待vpn来帮你。除非你能让你的所有用户和网站全部连到同一个vpn上(所以访问你的网站前需要先拨vpn)。基于同一个理由,你无法用vpn对抗网站劫持。

同理,如果某个网站未加密,你也无法指望使用vpn保证安全。vpn只能保证守在你家门口的这些人(例如ISP)无法弄到数据。守在服务器门口的人(如果有的话)依然可以获得你和服务器的全部通讯。

vpn分为哪些种类,有什么特点?

一般来说,常见的vpn有这么几种。

  • pptp。最古典和最通用的vpn。windows里默认内置,搭建和使用都相当容易。但是由于特殊的网络设计,因此有些公司无法使用。而且有安全性隐患。对掌握极大资源的攻击者,内容基本透明。
  • ipsec+l2tp。windows里内置,大部分公司应当都可以连通(没有故意拦截的话)。对于除美国政府外的截听者,应该都比较安全。
  • openvpn。复杂和强大,模式多变。需要安装第三方程序,因此并不是很容易用。但是可以跨越大部分公司网络,不会有什么阻碍。安全性很高,也有一些算法可以用来对抗美国政府。由于中国政府的封锁,无法跨越国内外。
  • sstp。windows自己的协议。只需要一个ssl连接,因此跨越性比openvpn还好。新版windows里应该有内置。
  • AnyConnect。Cisco的协议,需要安装第三方程序。跨越性和安全性没有实用数据。

简单来说。如果你只是要用而已,并且没有被掌握极大资源的攻击者盯上,而且不是反美国政府。那么哪种方便用哪种。下面是一些系统的兼容性建议:

  • windows: pptp, ipsec+l2tp, sstp
  • linux: openvpn, pptp
  • android: pptp, ipsec+l2tp, openvpn
  • ios: pptp, ipsec+l2tp, anyconnect(似乎这是唯一一个能在ios上非越狱安装的vpn应用)

从上面我们可以看到,pptp其实是兼容性最好的,但是不是所有网络都支持。次之的是ipsec+l2tp。如果还有问题,openvpn应当能够解决你的问题。如果都不行,再考虑其他。sstp仅建议用于只有windows客户端的情况,anyconnect仅建议用于你钱足够多的情况。

所以大部分vpn供应商的协议选择都是pptp/ipsec+l2tp,或者多一个openvpn。这足以应付大部分情况。

这里 是我看到的一个比较全面的,关于vpn之间比较的页面。

使用了vpn,我的网络安全了么?

不一定。如我上面所说,vpn只保证了你家门口的安全。守护在服务器前的人依然可以获得数据。甚至,如果vpn供应商怀有恶意的话,他们也能够获得数据。所以这是一个ISP和VPN供应商,谁更可信的问题。

而且实际情况往往更加复杂。很多数据的获取,并不来源于源IP地址,而是在浏览器里植入了身份相关信息。浏览器的身份相关信息相当敏感,没有他们,你就无法在网站上登录。也因此,这些数据一旦被恶意者获得,他们就能借助你在第三方网站上的身份信息,获得你是谁。

对于这些威胁,vpn都是无能为力的。