我有一个wireguard连接的场景,服务端的ip地址可能会变,如果服务端的ip地址变了之后,客户端就再也连不上了,除非我手动停用启用一下wireguard的peer才可以。
写了个Mikrotik的Script来侦测wireguard的连通性,如果发现不能ping通就自动重置peer连接。
:local targetIP "10.11.11.1" :if ([/ping $targetIP count=3] = 0) do={ :log info ("$targetIP 不可以ping通,重启wireguard peer...") /interface/wireguard/peers/set disabled=yes numbers=0 :delay 5s /interface/wireguard/peers/set disabled=no numbers=0 }
定义这个脚本,ip地址写wireguard服务端的对端peer的ip,这个脚本放在客户端里面,配置好scheduler,就可以实现自动保活了。