如果ping不通,重新连接wireguard到其他VPN服务器?



我使用WireGuard连接到Mullvads (= vpn服务)vpn服务器。总的来说,我使用5个不同的wireguard vpn配置(vpn服务器*)。

所以要连接到server3,我运行wg-quick up server3,并断开当前服务器- server3 -wg-quick down server3

有时vpn服务器宕机。我想要一个几乎即时重新连接到另一个5个可用的服务器。我怎么做才能使它自动工作?

crontab:

*/3 * * * * ping -c4 google.com || wg-command-here?

所以每隔三分钟google.com就会被ping通。如果失败,它将运行wg-command-here。这是什么=D?

所以当ping失败时=>断开当前wireguard服务器=>连接到5个可用节点中的另一个(随机的,但是最好是而不是当前连接的那个,原因很明显)。

有没有人有一个整洁的脚本,可以解决这个问题?我已经用谷歌搜索了2天根本找不到解决办法。肯定有可能,管他呢。我没有编程知识,所以我真的希望这里有一个复制粘贴解决方案。

您需要运行一个脚本,不时检查连接脚本ping服务器当服务器在线时,它连接到有线VPN并检查连接的服务器,如果连接的服务器ping失败3次,它通过ping

检查另一个服务器在运行前修改serverip脚本

#!/bin/bash
server1IP= 84.18.418.64 #change server1 ip or name 
server2IP= 84.18.418.687 #change server2 ip or name 
server3IP= 845.158.418.64 #change server3 ip or name 
server4IP= 44.168.418.64 #change server4 ip or name 
server5IP= 64.68.418.64 #change server5 ip or name 
while true
do
if /bin/ping -c 1 $server1Ip
then
sudo wg-quick up server1
tries=0
while [[ $tries -lt 3 ]]
do
if /bin/ping -c 1 $server1Ip
then
tries=0
continue
fi
tries=$((tries+1))
done
sudo wg-quick down server1
fi
if /bin/ping -c 1 $server2Ip
then
sudo wg-quick up server2
tries=0
while [[ $tries -lt 3 ]]
do
if /bin/ping -c 1 $server2Ip
then
tries=0
continue
fi
tries=$((tries+1))
done
sudo wg-quick down server2
fi
if /bin/ping -c 1 $server3Ip
then
sudo wg-quick up server3
tries=0
while [[ $tries -lt 3 ]]
do
if /bin/ping -c 1 $server3Ip
then
tries=0
continue
fi
tries=$((tries+1))
done
sudo wg-quick down server3
fi
if /bin/ping -c 1 $server4Ip
then
sudo wg-quick up server4
tries=0
while [[ $tries -lt 3 ]]
do
if /bin/ping -c 1 $server4Ip
then
tries=0
continue
fi
tries=$((tries+1))
done
sudo wg-quick down server4
fi
if /bin/ping -c 1 $server5Ip
then
sudo wg-quick up server5
tries=0
while [[ $tries -lt 3 ]]
do
if /bin/ping -c 1 $server5Ip
then
tries=0
continue
fi
tries=$((tries+1))
done
sudo wg-quick down server5
fi
done

将此脚本保存为wiregard .sh或者下载https://anonfiles.com/p3Y94av1u6/wiregaurd_sh

sudo chmod +x wiregard .sh

sudo sed -i -e 's/r$//' wiregard .sh

sudo nohup "./wiregard .sh",

在启动时运行此脚本把这个放到crontab

中@reboot [wiregard脚本路径]

相关内容

  • 没有找到相关文章

最新更新