
# 如何防止VPN连接出现中断情况？
VPN连接在正常的使用过程中会存在重协商情况，触发重协商的条件有IPsec SA的生命周期即将到期和VPN传输的流量超过20GB，重协商一般不造成连接中断。
大多数的连接中断都是因为两端的配置信息错误造成的，或公网异常导致重协商失败造成的。
常见的连接中断原因有：
- 两端的ACL不匹配；
- SA生命周期不匹配；
- 用户侧数据中心未配置DPD；
- VPN使用过程中修改了配置信息；
- 数据超过MTU后导致报文分片；
- 运营商网络抖动。
因此请在配置VPN时确保操作和配置，以进行连接状态保活：
- 两端的子网配置互为镜像；
- SA生命周期信息一致；
- 用户侧数据中心网关开启DPD配置，探测次数不少于3次；
- 连接过程中修改参数两侧同步修改；
- 设置用户侧数据中心设备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
  #./ping.sh x.x.x.x >>/dev/null &
  ```
  ![](https://support.huaweicloud.com/vpn_faq/public_sys-resources/note_3.0-zh-cn.png)
  1. 通过VI编辑器将以上脚本粘贴在ping.sh文本中。
  
  2. 给文件授权 chmod 777 ping.sh。
  
  3. 使用文件执行以下ping命令： **./ping.sh x.x.x.x \>\>/dev/null \&**
     x.x.x.x是您需要ping的远端目标IP。
     
  
  4. 执行ping命令后，后台运行并生成x.x.x.x.log文件，执行命令： **tail -f x.x.x.x.log**
     可以实时查看长ping结果。
     
    
 
