说在前面

新版配置

新版ROS(需要官方硬件)的IP菜单下有个Cloud,其实就是动态域名的,将此功能开启后,过一会儿Public AddressDNS Name中就会显示出内容,前者为你的外网IP地址,后者为自动创建域名,以后使用这个域名访问就行了。

踩坑点

这是一个大坑,大坑,大坑,浪费了我好几个小时。

我配置好SchedulelScripts之后,一直无法更新IP地址,使用/system script run 脚本名测试才发现dns无法解析,随后检查dns相关配置发现pppoeUse Peer DNS没有勾选。

RouterOS配置动态域名解析(DDNS)

脚本

PS:以下是3322(pubyun)的ddns脚本

:local ednsuser "DDNS用户名"
:local ednspass "DDNS密码"
:local ednshost "DDNS域名"
:local ednsinterface "PPPOE拨号接口名"
:local members "http://members.3322.net/dyndns/update?system=dyndns"
:local status
:local status [/interface get [/interface find name=$ednsinterface] running]
:if ($status!=false) do={
:local ednslastip [:resolve $ednshost]
:if ([ :typeof $ednslastip ] = nil ) do={ :local ednslastip "0" }
:local ednsiph [ /ip address get [/ip address find interface=$ednsinterface ] address ]
:local ednsip [:pick $ednsiph 0 [:find $ednsiph "/"]]
:local ednsstr "&hostname=$ednshost&myip=$ednsip"
:if ($ednslastip != $ednsip) do={/tool fetch url=($members . $ednsstr) mode=http user=$ednsuser password=$ednspass
:delay 2
:local result [/file get $ednshost contents]
:log info ($ednshost . " " .$result)
/file remove $ednshost;
}
}

RouterOS配置动态域名解析(DDNS)
RouterOS配置动态域名解析(DDNS)

定时器

RouterOS配置动态域名解析(DDNS)
RouterOS配置动态域名解析(DDNS)

参考资料:

文章目录