共计 723 个字符,预计需要花费 2 分钟才能阅读完成。
故障表现
在华为云新加坡ecs 上使用 strongwan 部署了VPN,俄罗斯使用托管VPN。两端 VPN 互联,用于打通跨 region 的不同 VPC。同时使用了 prometheus + blackbox 进行 ping 探测,监控 VPC 的链接状态。
近日发现 VPN 多次断开导致两个VPC通信异常,最终定位到是由于流量太少导致隧道断联后不会主动重连。
解决方案
和华为云技术支持沟通,导致隧道被关闭的原因很多,但是不重连是因为没有流量触发协商。
可以通过在俄罗斯一台VM部署长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 &
参考链接:support.huaweicloud.com/…
总结
在执行了长Ping 之后,未再观察到隧道断开现象。
说明长Ping 可以保活,但是对于隧道重新协商是否有作用,需要再观察。
本文属于专题:公有云
引用链接
正文完