RouterOS v7 DDNS自动更新WireGuard Endpoint IP | IPv6
RouterOS v7 DDNS自动更新WireGuard Endpoint IP | IPv6
About
原理,每过一段时间校验域名的解析结果,如果ip不变则不更改。
定时脚本:
:local peerName "peer的name" :local domain "域名" :local currentIP [/interface wireguard peers get [find name=$peerName] endpoint-address] :local resolvedIP [:resolve $domain] :if ($currentIP != $resolvedIP) do={ /interface wireguard peers set [find name=$peerName] endpoint-address=$resolvedIP /interface wireguard disable [find name=$peerName] /interface wireguard enable [find name=$peerName] :log info "WireGuard peer IP updated to $resolvedIP and peer restarted." } else={ :log info "WireGuard peer IP is up-to-date." }
如果使用RouterOS自带的Cloud DDNS使用IPv6单栈,需要丢弃RouterOS的v4解析(现在大部分运营商IPv4出口都是NAT)
IP->DNS-DNS Static
设置完成之后,重启路由,保证解析更新,使用dig确认A解析为空(可以用CNAME指向RouterOS提供的域名)