RouterOS定期更新Oray/no-ip

Standard

利用脚本和定时任务,在RouterOS上可以很简单的完成这项工作,需要注意的是,如果RouterOS不是连接猫的路由器,可能接口IP是不能直接使用的,这里的示例脚本是通过访问ifconfig.co解析的公网ip。

Oray

{
local ipaddr
local server "http://ddns.oray.com"
local domain "域名"
local par "/ph/update\?&hostname=$domain&myip=$ipaddr"
local users "用户名"
local paswd "密码"
/tool fetch url="http://ifconfig.co/ip" dst-path=ip.txt
:set ipaddr [/file get ip.txt contents]
/tool fetch url=($server . $par) mode=http user=$users password=$paswd
}

no-ip

{
local ipaddr
local noipuser "用户名"
local noippass "密码"
local noipdomain "域名"
local url "http://dynupdate.no-ip.com/nic/update?hostname=$noipdomain&myip=$ipaddr"
/tool fetch url="http://ifconfig.co/ip" dst-path=ip2.txt
:set ipaddr [/file get ip2.txt contents]
/tool fetch url=$url mode=http user=$noipuser password=$noippass
}

配置定时执行

在On Event填入执行命令:

/system script run 脚本名称

参考配置

补充

如果直接通过RouterOS拨号获取公网ip,那么可以直接获取接口(注意自己的实际接口名称)的ip地址:

:set ipaddr [/ip address get [/ip address find interface=pppoe-out1] address]
:set ipaddr [:pick $ipaddr 0 ([len $ipaddr] -3)]

发表评论

电子邮件地址不会被公开。 必填项已用*标注