RB750 Ros4.16动态域名更新脚本,发送IP地址到指定Email

Ros不知道从哪个版本开始已经开始内置支持DDNS了,用WinBox连接后,IP -> Cloud 启用DDNS即可,ROS会给你一个xxxxxxxx.sn.mynetname.net的域名指向你的ROS公网IP,不用自己折腾DDNS了。

以下内容已经过时。

===================================================================

脚本在RB750,4.16版ros正常运行。

1、Winbox中,Tools->Email中做如下设置

Server:填入你的smtp服务商的地址。例如119.147.74.45,为QQ的smtp服务器地址

Port:默认 25

From:你用来发信的电子邮件地址

User:smtp的帐号。 QQ的为 xxxx(你的QQ号) @qq.com

Password:密码

2、Winbox中,System->Scheduler,添加一个新任务

本例使用的www.changeip.com的动态域名服务

在脚本编辑框中输入如下脚本:

:global ddnsuser "动态域名服务的帐户名"
:global ddnspass "密码"
:global ddnshost "动态域名 www.myxxx.ddns.com"
:global ddnsinterface "ADSL接口的名称"
:global ddnssystem ("mt-" . [/system package get [/system package find name=system] version] )
:global ddnsip [ /ip address get [/ip address find interface=$ddnsinterface] address ]
:global ddnslastip
:global Mailsendto "接受IP地址的email邮箱名"
# isUpdate和IssendMail为两个控制变量,isUpdate为True时更新域名,isSendMail为true时发送email到指定邮箱

:global isUpdate true   
:global isSendMail true 

:if ([:len [/interface find name=$ddnsinterface]] = 0 ) do={ :log info "DDNS: No interface named $ddnsinterface, please check configuration." }
:if ([ :typeof $ddnslastip ] = "nothing" ) do={ :global ddnslastip 0.0.0.0/0 }
:if ([ :typeof $ddnsip ] = "nothing" ) do={
:log info ("DDNS: No ip address present on " . $ddnsinterface . ", please check.")
} else={
    :if ($ddnsip != $ddnslastip) do={
    :if ( $isUpdate ) do={
    :log info "DDNS: Sending UPDATE!"
    /tool dns-update name=$ddnshost address=[:pick $ddnsip 0 [:find $ddnsip "/"]] key-name=$ddnsuser key=$ddnspass
    :log info "DDNS: UPDATE finished!"
    }
    :if ( $isSendMail ) do={
    :global strDate [/system clock get date]
    :global strTime [/system clock get time]
    :global strSystemName [/system identity get name]
    :log info "DDNS: Mail update is sending!"
    /tool e-mail send to=$Mailsendto subject="DSL IP $strDate $strTime $strSystemName" body="DSL IP $ddnsip"
    :log info "DDNS: Mail update finished!"
    }
    :global ddnslastip $ddnsip
  } else={
    :log info "DDNS: No changes necessary."
  }
}

脚本运行间隔10~15分钟.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值