0x0 案例1:数据传输时一端的设备异常重启,导致SA不一致

  • 结果:出现vpn隧道黑洞
  • 现象:我方一直在发送VPN数据过去,但是收不到回复
  • 解决方式:DPD(死亡对等体检测)类似hello包,采用空闲计时器机制发包检测对方是否存活,默认5次;只对阶段一有效

0x1 案例2:在采用NAT技术时,IPSEC VPN数据传输的可行性?

  • AH+传输模式;N;AH协议对整个数据包使用哈希函数,穿越NAT时改变了数据包的包头
  • AH+隧道模式:N;
  • esp+传输模式:N;TCP/UDP的伪首部校验,NAT改变了源ip,导致校验失败
  • esp+隧道模式:Y;可行

0x2 案例3:多VPN IKE协商问题

  • 场景1:隧道协商过程中,IKE规定源和目的端口都必须为UDP 500,在多VPN场景下源端口可能会在防火墙设备NAT后发生变化,从而导致IKE协商失败。
  • 场景2:数据传输过程中,由于ESP在工作在网络层,没有传输层头部,从而无法进行NAPT端口复用,导致回包失败
  • 解决方式:NAT-T技术
    1. 在IPsec VPN中允许源端口为非UDP 500端口,使用目的端口是UDP4500端口。
    2. 为ESP增加新的头部,从而解决回包的问题