记录一次ipsec vpn隧道建立成功,内网不通的非常规问题排查过程

时间:2022-11-11 10:58:35

问题描述

ABC三地互相打通ipsecvpn,A和B、A和C无问题,B和C地有问题。问题为隧道建立成功,而双向内网不通,通过查看日志没有发现报错。

问题分析步骤

第一步遇到问题首先查看配置,不通的和通的配置做对比分析,初次并未发现异常。

第二步抓包: B的内网地址10.7.0.35 C的内网地址172.16.18.95 B访问C:

  • C上主机和防火墙未抓到包
  • B上防火墙抓包: 记录一次ipsec vpn隧道建立成功,内网不通的非常规问题排查过程
  • B上主机抓包: 记录一次ipsec vpn隧道建立成功,内网不通的非常规问题排查过程 通过分析,B请求C的包未发送成功,未到达C

C访问B

  • B上主机抓包如下: 记录一次ipsec vpn隧道建立成功,内网不通的非常规问题排查过程

  • B上防火墙抓包:

  • C上主机抓包: 记录一次ipsec vpn隧道建立成功,内网不通的非常规问题排查过程 通过分析,C的请求到了B,第1次握手成功,第二次B给C回过去失败,这种一般两种情况,第一种是B没发出去,第二种是B发出去不知道发给了谁,C没收到

第三步进一步排查,第二步的定位的问题是B发给C的请求包发出了(防火墙抓到了包),但不知道去了哪儿。还需要进一步按照这个思路排查配置:

  • 防火墙上查看ike和ipsec状态,发现了诡异的地方 记录一次ipsec vpn隧道建立成功,内网不通的非常规问题排查过程记录一次ipsec vpn隧道建立成功,内网不通的非常规问题排查过程

对比分析以上2个图可知,上面的ipsec的加密流的目的地址掩码是19位,下面的是24位,存在了包含关系,发往172.16.18.95的数据包走了上面的ipsec,所以是不通的。

解决办法

把19位的目的地址改成24位的或其他,让2个目的地址不存在包含被包含关系。