欢迎光临散文网 会员登陆 & 注册

wireguard节点ping检测不通,重启服务脚本。

2023-03-26 16:38 作者:超级混蛋的混蛋大弹坑  | 我要投稿

背景:

我有两个局域网,一个有动态公网,设置ddns。另一个地方只有私网地址。两个局域网内各有一台centos部署了wireguard。如果有公网的节点路由器重新拨号会导致无公网节点掉线。

解决思路:

通过在无公网节点上增加ping检测脚本和crontab命令定时启动脚本来实现子节点自动重连。

步骤:

1、编写脚本

touch pingwg.sh

nano pingwg.sh

把下面几行粘贴到nano文本里头,ip地址改成自己要检测的。

#!/bin/sh

if ! ping -c 3 192.168.0.5 > /dev/null 2>&1 ;then

echo "The network is down! Now try restarting wg0!\n" >> ./ddns-wg0.log

systemctl restart wg-quick@wg0

fi

2、测试脚本

sh pingwg.sh 不报错,wireguard服务正常重启。

3、创建crontab定时任务

1)修改pingwg.sh的权限(否则crontab运行提示权限不足,我是直接777了)

chmod 777 pingwg.sh

2)增加定时任务

nano /etc/crontab

在文本最后加上一句

20,40 * * * * root /root/pingwg.sh

意思为:分 时 天 月 周 用户名 脚本路径

表示每小时的20和40分钟执行该脚本。 脚本位置必须是绝对路径。

3)启动crontab进程

crontab /etc/crontab

附录:

脚本参考 www.dianjilingqu.com/145511.html 进行修改。

wireguard节点ping检测不通,重启服务脚本。的评论 (共 条)

分享到微博请遵守国家法律