VPN
VPN(Virtual Private Network)
- VPN的英文全称是“VirtualPrivateNetwork”,翻译过来就是“虚拟专用网络”。顾名思义,虚拟专用网络我们可以把它理解成是虚拟出来的内部专线。
- 它可以通过特殊的加密的通讯协议在连接在Internet上的位于不同地方的两个或多个企业内部网之间建立一条专有的通讯线路,就好比是架设了一条专线一样,但是它并不需要真正的去铺设光缆之类的物理线路。这就好比去电信局申请专线,但是不用给铺设线路的费用,也不用购买路由器等硬件设备。
- 虚拟专用网(VPN)被定义为通过一个公用网络(通常是因特网)建立一个临时的、安全的连接,是一条穿过混乱的公用网络的安全、稳定的隧道。虚拟专用网是对企业内部网的扩展。
- 虚拟专用网络的功能是:在公用网络上建立专用网络,进行加密通讯。在企业网络中有广泛应用。VPN网关通过对数据包的加密和数据包目标地址的转换实现远程访问。VPN有多种分类方式,主要是按协议进行分类。VPN可通过服务器、硬件、软件等多种方式实现。
VPN本质是在自己VPN网关之后,对数据进行加密,就可以在公网网络中加密传输,到了另一端的VPN网关后,VPN网管进行解密获取数据。
本质就是在的公网传输中套了一套(出站协议,入站协议)加密协议。
VPN的应用分类:
(1)Access VPN(远程接入VPN):客户端到网关,使用公网作为骨干网在设备之间传输VPN数据流量;
(2)Intranet VPN(内联网VPN):网关到网关,通过公司的网络架构连接来自同公司的资源;
(3)Extranet VPN(外联网VPN):与合作伙伴企业网构成Extranet,将一个公司与另一个公司
(内外联网VPN)站点-站点VPN
本质上将两个局域网的通信进行了加密传输。两端或者多端的地址相对比较固定
区别只是同公司的内部网VPN还是不同公司的外部网VPN
(远程接入VPN)客户端-站点VPN
这类远程接入VPN比较灵活,适合客户端位置不固定的远程办公,使其可以用浏览器直接通信也可以另外安装客户端软件来进行通信。
这类型的VPN的还有全局模式(全隧道模式)和规则模式(半隧道模式)。
全局模式就是所有数据传输都走隧道。
规则模式就是符合规则的数据传输才走隧道。(Clash的规则控制模式就是如此)
直连:就是不走随便,直接走公网。(当然你访问国内的网站不会也要走代理吧?)
VPN的保密、验证完整性、认证
保密需要用加密算法,加密算法常用的有AES、3DES
验证数据完整性需要HASH值了。常用HASH算法有MD5和SHA
认证需要用的认证算法,认证算法重用的有PSK和RSA
VPN的协议
- PPTP(过时,不推荐)
PPTP 的英文全称是 Point to Point Tunneling Protocol,是拨号时代的初生代 VPN 通信协议,由微软开发,最早同 Windows 95 OSR2一起于1996年发布,一直沿用至今。它同时使用 TCP 和 GRE 来完成 PPP 数据包的封装和传输。
PPTP 从发布之初开始就被因为安全性能低的弱点被诟病。一开始的 PPTP 并没有加密授权特性,只能依靠 PPP (Point-to-Point Protocol点对点协议) 的 MPPE 实现加密保护。即使后面 MPPE升级实现了RSA RC4 算法,支持128位密匙,仍拥有诸多安全漏洞,很容易被(国家安全局等)解密攻破并受到(字典/暴力)攻击。为此,部分 VPN 厂商已经弃之不用。即使仍有一些 VPN 因为其良好的稳定性和连接速度将其延用,当用户有重要信息需要保护的时候,PPTP 也并不建议选择。
优点:速度快,平台支持度高,易配置
缺点:安全系数低,容易被防火墙阻挡,被第三方攻破
- IPSec
IPSec 全名Internet Protocol Security,是通过分组 IP 协议并对其进行加密和安全认证的协议集合,是常用的 VPN 协议之一,用以有效保证安全的加密 Internet 通信。IPsec 网络传输协议族主要包括安全协议认证头AH(Authentication Header)、封装安全载荷 ESP(Encapsulating Security Payload)和因特网密匙交换 IKE (Internet Key Exchange)。它们协同工作以验证源并锁定 IP 数据包,从而建立受保护的连接。
IPSec 可以作为 VPN 服务的协议独立工作,不仅适用于多台机器之间入口对入口的通信,还可用于端对端的分组通信。由于本身缺失加密机制,通常与上述的 IKEv2或 L2TP 组合使用。
优点:网络层保护,无需依赖独立应用,无兼容问题
缺点:安全系数低,服务器负载高
- IKEv2 / IPSec (推荐,尤其是手机)
Internet Key Exchange version 2,是上述IPsec协议套件的一部分。独特的 MOBIKE 功能确保了 VPN 连接的稳定性,因为它不会受到任何可能的网络变化的影响。作为由微软和思科/Cisco 联合开发 的 IKE 的最新版本,该 VPN 协议通常通过在 IPSec 身份验证套件内在 VPN 客户端和 VPN 服务器之间创建安全关联/SA 来屏蔽流量,就此出现了 IKEv2/IPsec。
IKEv2/IPsec 不仅安全,而且连接快速。因此,许多 VPN 应用程序已经被利用,估计更多的 VPN 将利用该协议来提供快速和私密的网络浏览。
优点:速度快,稳定,安全性较高,易配置
缺点:可被防火墙阻挡,闭源
- L2TP / IPSec(过时,偶尔可用)
L2TP 又叫第2层隧道协议,是上述 PPTP 的继承者,因为本身让没有加密功能,为了提高安全级别,通常与 IPSec 一起实施以添加加密。这使得该协议组的工作速度比任何单个协议(如 OpenVPN)都要慢。
L2TP / IPsec 很容易设置。但由于它绕过防火墙的能力不强,当你想解锁某个区域的任何互联网过滤器时,L2TP/IPSec并不是首选。知名的VPN 厂商如 NordVPN 已经在 2018 年底停止了对 PPTP 和 L2TP 的支持。
优点:设备 & 系统兼容性高,安全性较高,容易设置
缺点:速度较慢,可被防火墙阻挡
- OpenVPN(还未深入了解)
OpenVPN 是一种开源、跨平台、也是目前最常用的VPN 加密协议,没有之一。它使用 OpenSSL 加密库的 SSL/TLS 进行密钥交换,以便严密保护点对点或站点到站点连接,并且通过将数据分成小包来传输数据。
OpenVPN 又可分为两种OpenVPN TCP和 OpenVPN UDP,前者更侧重网络安全而后者拥有更好的连接速度。
优点:开源协议且经过第三方审计,安全性高,支持各种加密算法,可绕过防火墙
缺点:不能独立使用,需要依靠第三方软件,设置较复杂,更适合桌面端
- WireGuard(还未深入了解)
WireGuard 是一种比较新的开源 VPN 协议。由于它的开发目的就是在性能、易用性和省电等方面全面超越当下流行的 IKEv2/IPsec 和 OpenVPN,因此许多人将 WireGuard 称为 ”VPN 协议的未来“。而已有实际测试已经证明 WireGuard(使用 UDP)确实比 OpenVPN TCP 和 UDP 都快,而且 ping 值和延迟更低。并且,与其它具有复杂加密算法的通用 VPN 协议不同,WireGuard 只是重新组装了现成的算法,以实现更简单但仍然安全的加密目标。具体来说,其前沿的密码学用法包括Noise协议框架、ChaCha20、Curve25519等。
WireGuard最初只支持 Linux,现在已经变成了可在 Windows、macOS、iOS、Android 等多平台使用。 尽管如此,它仍在开发更新中,这意味着当下版本还是有一定程度的安全风险。
优点:速度超快,轻便,工作效率高,省电,易搭建配置,不容易被封锁
缺点:目前主流 VPN 支持度不高,尚在持续开发
- Shadowsocks
Shadowsocks 是一种免费且开源的加密代理/VPN 协议。它是一款基于 Socks5 的代理协议,最早由亚洲某审查严重国家的程序员开发,主要应用于绕过政府防火墙/GFW 审查。Shadowsocks, 又叫飞机,酸酸,影梭,曾经由作者 clowwindy 发布于 GitHub 代码库。尽管后来受官方压力,Shadowsocks 所有代码库和信息已于2015年被他关闭和删除,但仍有一群开发爱好者一直对其进行维护和更新。后面还延申初了更多的代理协议,例如 V2Ray(支持 Socks、HTTP、Shadowsocks、VMess协议 ) 和 Trojan(基于TLS协议)。
相较于OpenVPN,WireGuard 等一流 VPN 协议,此类代理协议安全性能还是无法相提并论,使用它们泄露 IP 地址和其他重要信息的概率会大幅增加。
优点:隐匿性较强,安全,支持多种加密算法,速度相对较快,可穿透防火墙,开源
缺点:第三方软件支持较少,自己搭建较复杂
(有兴趣可以自己看看Project V和Trojan-GFW)
当然,没有可以完美的隐藏自己访问的网站和ip地址,就算你用vps自建vpn自建dns站点,只要你在这互联网上,在公网数据传输,就是在给GFW机会,GFW和传输协议未来只会相互促进。网络安全再怎么重视也不为过,最好将命运掌握在自己手中。