1. 什么是虚拟专用网络(VPN)
虚拟专用网络(Virtual Private Network,简称VPN)是一种建立在物理网络之上的逻辑网络(Overlay Network),它通常跨越多个地理区域。
因为它是逻辑上的网络,所以被称为“虚拟”。当一台设备连接到一个VPN后,用户会感觉这台设备就像是直接连接到了组织的私有网络中一样。当然,为了保障远程访问时的安全性和隐私性,所有通过公共网络传输的VPN流量都会被加密。
总结下来,使用VPN的主要原因有:
✅ 远程访问
✅ 数据加密
✅ 隐私保护
2. VPN的类型与隧道概念
根据架构和使用的传输协议不同,VPN可分为点对点(Point-to-Point)和站点到站点(Site-to-Site)两种类型。
- 点对点VPN:用于为单个设备提供远程访问企业私有网络的能力。
- 站点到站点VPN:用于连接两个私有网络,仿佛它们是直接连接的一样。
如下图所示,展示了两种类型的架构区别:
在两个VPN实体之间建立的传输连接通常被称为“隧道(Tunnel)”,通过该隧道传输数据的过程称为“隧道传输(Tunneling)”。
这种隧道完全由软件实现,不需要额外的硬件设备。当然,也存在硬件形式的VPN设备,但它们通常用于需要极高安全性的场景。
从OSI模型来看,隧道可以在数据链路层(L2)、网络层(L3)甚至更高层建立。根据建立的层级不同,隧道可以实现桥接(L2)或路由(L3)功能。例如,某些VPN可以在TCP传输层之上提供L2服务。
3. 常见的VPN协议
不同的VPN协议通常针对特定的“覆盖网络层”与“传输层”组合设计。以下是一些常见的协议:
协议 | 类型 | 覆盖层 | 传输层 | 说明 |
---|---|---|---|---|
PPTP | 点对点 | L2 (PPP) | TCP | 曾流行,现已过时 |
PPPoE | 点对点 | L2 (PPP) | Ethernet | 常用于宽带拨号 |
L2TP | 点对点 | L2 (PPP) | UDP | 需配合IPsec使用 |
IPsec | 点对点/站点到站点 | L3 | IPv4/IPv6 | 支持多种操作模式 |
SSL/TLS | 点对点 | L3 | TCP | 常用于Web安全通信 |
SSTP | 点对点 | L2 (PPP) | SSL/TLS | 微软推出,替代PPTP/L2TP |
DTLS | 点对点 | L3 | UDP | 支持数据报传输的安全协议 |
OpenVPN | 点对点/站点到站点 | L3 | TCP/UDP + SSL/TLS | 开源,灵活,安全性高 |
SSH Tunnels | 点对点 | L4 | SSH | 严格来说是端口转发 |
💡 SSH隧道虽然也可以实现类似VPN的功能,但它属于L4层,通常称为“端口转发”,不需要安装专门的客户端或服务器软件。
4. 提升隐私性的方法
虽然VPN通过加密保障了通信安全,但它并不能完全保证隐私。 因为有些远程VPN服务器可能会记录用户名、IP地址甚至用户活动日志。
此外,某些服务可能会通过IP地理位置或Wi-Fi定位系统来识别用户位置。使用VPN后,这些服务只能看到VPN服务器的位置,而非用户真实位置。
如果我们连VPN服务器都不想暴露自己的身份和位置怎么办?
✅ 可以建立多层嵌套的VPN隧道,这种技术被称为“多跳VPN(Multi-hop VPN)”或“洋葱路由(Onion Routing)”。
每一跳都会去掉一层加密,就像剥洋葱一样:
著名的Tor网络就是采用这种方式。由于数据经过多层中继,追踪用户真实IP变得极其困难。但代价是更高的网络延迟和性能开销。
5. 使用VPN时需要注意的问题
使用VPN时,有两个关键点需要特别注意:
- 网络和CPU开销增加
- 可能的非最优路由问题
5.1 性能开销
加密和解密过程会消耗额外的CPU资源,同时隧道封装也会增加数据包的大小,造成带宽浪费。
5.2 非最优路由
由于是Overlay网络,可能会出现“绕远路”的情况。
例如,一个位于伦敦的用户通过VPN连接到印度的总部,然后访问位于德国法兰克福的数据中心,那么流量会来回跨越多个国家。
这种现象在以下两种情况尤为常见:
- 所有流量都通过隧道传输(Full Tunnel模式)
- 使用L2桥接时,广播流量也会被转发
5.3 如何缓解路由问题?
✅ 使用“选择性路由(Selective Routing)”或“拆分隧道(Split Tunnel)”
只将目标为私有网络的流量通过隧道传输,其他流量走本地网关。
⚠️ 但很多公司出于安全考虑,要求所有流量都必须经过防火墙。
5.4 防火墙与NAT的影响
某些防火墙仅允许SSH、HTTP、HTTPS等协议通过,其他协议可能被拦截。NAT后的设备也无法被外部直接访问。
✅ 基于SSL/TLS的协议(如OpenVPN)通常能穿透防火墙和NAT
其他协议可能需要配置端口转发或放宽防火墙策略。
6. 总结:VPN的优缺点
优点 | 缺点 |
---|---|
远程访问私有网络 | 网络延迟增加 |
数据加密保障安全 | CPU资源消耗增加 |
绕过地理限制 | 有活动日志和流量监控风险 |
无需额外硬件 | 可能出现非最优路由 |
支持跨地域网络连接 | 某些协议受限于防火墙/NAT |
📌 总结一句话:
如果你需要安全地远程访问企业网络,或在公共WiFi下保护隐私,使用VPN是一个成熟可靠的选择。但也要注意其潜在的性能损耗和配置复杂性。