🌐 第七章 网络安全技术
📄 一句话概括

VPN=借公网挖加密隧道:把"只能走公网"这个缺点,用加密封装包装成"像有根私有专线"——Private 是"用起来像私有",不是线真的私有。

📝 本节和前面几节的关系

第七章前八节解决的是"网购这一条链路"的安全(7.8 收口)。本节把镜头拉远:公司有总部和分部、还有满世界出差的员工,他们要的不是一条安全链路,而是两个内网之间整体打通。隧道是封装思想(6.5 拆旧封新)和对称加密(7.3)+ 密钥交换与证书(7.4/7.7)的组合应用;两端路由器还要替整个内网做转发(6.7 路由表)。

一、先看需求:两个内网要"直通"

设想一个场景:

总部和分部的机器用的都是私有 IP(3.11 讲过:私有地址不出公网,公网路由器直接丢弃)。想两边互访,怎么办?

二、老办法:专线

运营商可以给你拉一根物理专线(专用线):一头接总部、一头接分部,这根线不经过互联网,物理上只有你两家在用。

专线安全是安全,但大多数公司付不起这个钱。于是问题变成:能不能用便宜的公网,达到"像专线一样"的效果?

三、VPN 的答案:隧道

VPN(Virtual Private Network,虚拟专用网络)的思路不是换一根线,而是在公网上"挖"一条隧道:

  1. 总部要发给分部的数据包,整个包(含内层 IP 头 192.168.x.x)被当作"货物";
  2. 外面再套一层新的 IP 头——外层的源/目的地址是两端的公网 IP;
  3. 货物部分用对称密钥加密(7.3 的 AES 一类);
  4. 包在公网上正常路由(走的就是第六章那一套逐跳转发),窃听者只能看到"某公网 IP 发给另一公网 IP 的密文包裹";
  5. 分部的 VPN 网关收到后拆掉外层、解密,还原出内层包,再交给分部内网。

这个过程叫封装(隧道):把一个完整的 IP 包塞进另一个 IP 包的载荷里。是不是很眼熟?6.5"拆旧帧、封新帧"的封装思想再加一层——只不过这次加的是加密。

关键技术上,主流是 IPsec 协议族(在网络层给 IP 包做加密+认证),一套完整流程里:

第七章前八节的零件,在这里又组装了一次——这次装的对象不是 HTTPS,而是路由器到路由器。

四、"低成本"从哪来

对比账本:

专线 互联网 VPN
线路 运营商专用线,独占 已有的普通宽带,零新增
费用 按月高额租费 几乎为零(只花带宽和设备钱)
安全 物理隔离 密码学保障(密钥足够长即足够安全)
稳定性 高 受公网质量影响

VPN 的成本优势来自"借用"——公网是现成的,你只是往上加了一层加密封装。代价也很清楚:

五、两种用法

站点到站点(Site-to-Site):

远程接入(Remote Access):

六、30 秒实验:看看你机器上的 VPN 痕迹

Windows 自带一个 VPN 客户端。按 Win+R 输入 ncpa.cpl 回车,打开网络连接窗口——这里能看到"新建传入连接 / VPN"的入口;再在"设置 → 网络和 Internet → VPN"里能看到系统级 VPN 配置界面。虽然你现在没配,但 Windows 原生就支持 IKEv2/L2TP/IPsec 这些 VPN 协议——IPsec 就是本节的主角。

(动手 Demo 见文末 Demo97。)

七、常见误区

八、Demo97:亲手翻一遍 Windows 的 VPN 支持与路由痕迹

用 PowerShell(管理员不需要,普通即可):

# 1. 看 Windows 原生支持的 VPN 协议(IPsec 就在列)
Get-VpnConnection -AllUserConnection
# 没有配置会返回空——重点看下面这条

# 2. 看系统 VPN 能用的协议类型(内置枚举)
[Enum]::GetNames([Microsoft.Management.Infrastructure.CimInstance]) | Select-String -Pattern "vpn" -SimpleMatch

# 3. 最直观的:看你当前路由表里有没有 VPN 接口类型的路由
route print | Select-String "0.0.0.0"

观察点:

九、自测

点开自测(5 题) 1. VPN 的 Private 指什么?线是私有的吗? 2. 隧道封装时,内层和外层 IP 头分别是什么地址? 3. 窃听者在公网上截到一个 VPN 包,能看到哪些信息、看不到哪些信息? 4. 站点到站点 VPN 和远程接入 VPN 的区别?各适合什么场景? 5. VPN 接通后,本机路由表会发生什么变化?为什么? **参考答案**: 1. 指"用起来像私有网络"——线是公网,私有的是加密后的内容。 2. 外层是两端 VPN 网关的**公网 IP**(负责在互联网上路由),内层是源主机和目的主机的**私有 IP**(被当货物封装)。 3. 能看到:外层公网源/目的地址、包的大小时间等元数据;看不到:内层 IP 头(内网拓扑)和数据内容(已加密)。 4. 站点到站点:网关对网关,整片内网打通,用户无感,适合固定分部;远程接入:单机对网关,验证用户身份,适合出差员工,另有轻量的 SSL VPN 走浏览器。 5. 多出指向 VPN 虚拟接口的路由(通常是通往公司内网网段的条目)——因为本机要决定"哪些包该进隧道",这个决定就是查路由表(6.3 最长前缀匹配),VPN 客户端替你静态写好了(6.9)。

十、下一步

相关笔记