DPD的数据报文结构不一致,导致DPD数据包都双向发了,但是都不回对方。部分厂商的DPD报文类型有两种hash-notify和notify-hash,例如华为设备,我司DPD数据报文是hash-notify。
案例一:和华为对接场景
华为设备开启debug ike all 和debug ipsec all,发现:Jan 16 2018 13:19:15.590.5+00:00 IKE/7/IKE_Debug Info:17:9348 Recv Msg from peer X.X.166.230 :HASH |NOTIFY |,对端的DPD消息格式为 HASH |NOTIFY |,华为的格式是NOTIFY | HASH ,怀疑是两边DPD格式不一致导致对端拆隧道导致流量不通。
或者如果能看到华为设备的图形配置界面,有个DPD的有个特别的选项【DPD类型】和【DPD报文载荷顺序】华为的默认配置是【按周期发送】和【notify-hash顺序】。
按照我们支持的,DPD报文载荷顺序改成hash-notify,重连下就可以了
ike peer XXX v1
dpd type periodic
dpd msg seq-hash-notify