IPsec VPN 通過在 IP 層加密、認證數據包,實現公網上的安全專用通道。本文以 ICMP 為例,結合抓包分析,詳細還原數據包在雙端 VPN 設備間的完整生命週期。
PC1 (184.0.0.2) ── VPN1 ── 公網 ── VPN2 ── PC2 (185.0.0.2) VPN1: eth1(內網 184.0.0.1) ── ipsec0(隧道) ── eth0(公網 192.168.95.164) VPN2: eth0(公網 192.168.95.195) ── ipsec0(隧道) ── eth1(內網 185.0.0.1)
11:26:39.649389 R@eth1 IP 184.0.0.2 > 185.0.0.2: ICMP echo request, id 512, seq 12039 (明文進入) 11:26:39.649411 X@ipsec0 IP 184.0.0.2 > 185.0.0.2: ICMP echo request, id 512, seq 12039 (加密前) 11:26:39.649485 X@eth0 IP 184.0.0.2 > 185.0.0.2: ESP(spi=0x30f18c51,seq=0xc38), length 76 (ESP 包發出) 11:26:39.656606 R@eth0 IP 185.0.0.2 > 184.0.0.2: ESP(spi=0xa6e0f4f2,seq=0xb36), length 76 (收到回包 ESP) 11:26:39.656606 R@ipsec0 IP 185.0.0.2 > 184.0.0.2: ICMP echo reply, id 512, seq 12039 (解密後) 11:26:39.656672 X@eth1 IP 185.0.0.2 > 184.0.0.2: ICMP echo reply, id 512, seq 12039 (轉發內網)
關鍵觀察:
R = 接收,X = 發送。| 特性 | 隧道模式 | 傳輸模式 |
|---|---|---|
| 封裝範圍 | 整個原始 IP 包(含 IP 頭) | 僅 IP 載荷(TCP/UDP/ICMP 等) |
| 外層 IP 頭 | 新建公網 IP 頭 | 保留原始 IP 頭 |
| 典型場景 | 站點間 VPN、網關間加密 | 端到端主機加密、Host-to-Gateway |
| NAT 穿越 | 需 NAT-T (UDP 4500 封裝) | 原生不友好,少用 |
ip tcp adjust-mss 1360)。IPsec VPN 數據流程本質是「明文 → 封裝加密 → 公網傳輸 → 解密還原 → 明文」。掌握各接口角色、抓包關鍵點、SA 參數匹配邏輯,是高效排障、優化性能的基石。