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提供的域名)