如何解决VPN连接不稳定经常掉线?
2021-12-30 本文已影响0人
风静花犹落
VPN连接在正常的使用过程中会存在重协商情况,触发重协商的条件有IPsec SA的生命周期即将到期和VPN传输的流量超过20Gbit,重协商一般不造成连接中断。
大多数的连接中断都是因为两端的配置信息错误造成的,或公网异常导致重协商失败造成的。
常见的连接中断原因有:
- 两端的ACL不匹配;
- SA生命周期不匹配;
- 用户侧数据中心未配置DPD;
- VPN使用过程中修改了配置信息;
- 数据超过MTU后导致报文分片;
- 运营商网络抖动。
因此请在配置VPN时确保一下操作和配置,以进行连接状态保活:
-
两端的子网配置互为镜像;
-
SA生命周期信息一致;
-
用户侧数据中心网关开启DPD配置,探测次数不少于5次;
-
连接过程中修改参数两侧同步修改;
-
设置用户侧数据中心设备TCP MAX-MSS为1300;
-
确保用户侧数据中心出口有足够的带宽可被VPN使用;
-
确认VPN连接可被两端触发协商,开启用户侧数据中心设备的主动协商配置;
-
两端子网进行长Ping操作(脚本内容如下)。
#!/bin/sh host=$1 if [ -z $host ]; then echo "Usage: `basename $0` [HOST]" exit 1 fi log_name=$host".log" while :; do result=`ping -W 1 -c 1 $host | grep 'bytes from '` if [ $? -gt 0 ]; then echo -e "`date +'%Y/%m/%d %H:%M:%S'` - host $host is down"| tee -a $log_name else echo -e "`date +'%Y/%m/%d %H:%M:%S'` - host $host is ok -`echo $result | cut -d ':' -f 2`"| tee -a $log_name fi sleep 5 # avoid ping rain done
-
执行脚本
nohup ./ping.sh x.x.x.x &
说明:
-
通过VI编辑器将以上脚本粘贴在ping.sh文本中。
-
给文件授权 chmod 777 ping.sh。
-
使用文件执行ping命令:
nohup ./ping.sh x.x.x.x &
, x.x.x.x是您需要ping的远端目标IP。 -
执行ping命令后,后台运行并生成x.x.x.x.log文件,执行命令:
tail -f x.x.x.x.log
,可以实时查看长ping结果。
来源: https://support.huaweicloud.com/vpn_faq/vpn_08_0702.html