RouterOS v7 DDNS自动更新WireGuard Endpoint IP | IPv6

RouterOS v7 DDNS自动更新WireGuard Endpoint IP | IPv6

· json · rss
Subscribe:

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