IPsec 是 OS 中实现,保护 IPv4|6 之上的所有协议,应用层(API)不需要任何更改。
可以简单概括为 三个组件,两种模式,三种拓扑
1. 三个组件
IPsec = AH + ESP + IKE
- AH: 完整性
- ESP: 保密性
- IKE: 交换 key, 最好用 IKEv2
2. 两种模式
2.1 Transport 模式
- host --> gw
- host <--> host
虽然也可以跨网段使用,但是(绝大多数)情况下在两端都在都一个子网中的时候用。
2.2 Tunnel 模式
- gw <--> gw
- host --> gw
通常两端的 gw 都是同一个组织拥有,但是 gw 之间的链路是不可靠的,所以 gw 之间需要建一个 "隧道" 进行防护,也就是所谓的 **site-to-site 的 vpn **场景, 只需要在 gw 启用 ipsec。
host -- gw <--> gw -- host
两端的 gw 后的 主机互访都经过 gw 之间"隧道"
3. 三种拓扑
4. VPN
VPN 通常都会使用 ESP
– 从内部网段发到 gw 的包,包头会添加为是另一个网段的IP(通向公网)
-
整个包的内容,以及源 IP 和 目标 IP 都被加密封入,全都隐藏起来
-
接收端网关解密数据包,并将原始 IP 数据包转发到其所保护的网络中的接收地址
所谓的 VPN 都是指 VPN 隧道 (VPN tunnel)
– 保证 通过公共互联网在属于同一组织的各个部分之间 的安全通信 的隧道