RouterOS Wireguard 自动更新端点脚本
RouterOS利用DDNS自动更新Wiregurad Peer的endpoint,默认是解析ipv6,如果需要ipv4的话,把第三行的type=ipv6
删除即可
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| :local peerName "Peer名称" :local hostDomain "对端域名位置" :global newEndpoint [:resolve $hostDomain type=ipv6] :global oldEndpoint
:if ($newEndpoint != "") do={ :if ($newEndpoint != $oldEndpoint) do={ :local peerId [/interface/wireguard/peers find where name=$peerName] :if ($peerId != "") do={ /interface/wireguard/peers set $peerId endpoint-address=$newEndpoint :log info ("WireGuard peer " . $peerName . " endpoint-address updated to " . $newEndpoint) :set $oldEndpoint $newEndpoint } else={ :log warning ("WireGuard peer " . $peerName . " not found.") } } } else={ :log warning ("Failed to resolve host: " . $hostDomain) }
|