Mikrotik RouterOS-脚本-花生壳动态域名解析-阿里云开发者社区

开发者社区> 余二五> 正文

Mikrotik RouterOS-脚本-花生壳动态域名解析

简介:
+关注继续查看

花生壳官方提供给用户的“如何在ROS中设置花生壳ddns(公网版)”错漏百出,根本无法使用。

为了解决此问题还特意学习了“Mikrotik RouterOS的脚本语法”。

现在把测试好的代码和设置过程、调试方法贴出来供各位博友参阅,以免浪费时间。

1、step1

开启NTP协议并修改时区:

1
2
/system ntp client set enabled=yes server-dns-names=1.centos.pool.ntp.org
/system clock set time-zone-name=Asia/Shanghai

检测路由是否与动态域名服务器通讯正常:

1
/ping ddns.oray.com

2、step2

修改脚本前,先组装一个URL测试:

1
/tool fetch url="http://ddns.oray.com/ph/update\?hostname=example.oicp.net&myip=119.128.4.27" mode=http user="example" password="pwd"

直接粘贴到路由上测试:

wKiom1YYhG-gXtnAAADDe6UGBoM574.jpg

DNS查询是否可以正常更新DNS解析:

wKioL1YYhIiyOz0gAACO9izsoZM127.jpg

尝更新一个错误的IP给花生壳DDNS服务器试试:

wKioL1YYhIiAIJhNAADMhjbFBF8499.jpg

DNS查询是否可以更新掉之前正确的DNS解析:

wKiom1YYhG7TYQ_YAACD2b5Y_aw370.jpg

可以看到DNS解析出来的是一个错误的IP地址。

3、step3

写脚本前,先查看当前路由的PPPOE接口名称:

wKioL1YYhi6ANH_YAADTKNalAAo119.jpg

可以看到正确的接口名称为“ChinaNet”

根据正确的接口名字修改脚本等信息:

1
2
3
4
5
6
7
8
9
10
11
{
:local ipaddr;
:local server "http://ddns.oray.com";
:local domain "example.oicp.net";
:local users "example";
:local paswd "pwd";
:set ipaddr [/ip address get [/ip address find interface=ChinaNet] address];
:set ipaddr [:pick $ipaddr 0 ([:len $ipaddr] -3)];
:local par "/ph/update\?&hostname=$domain&myip=$ipaddr";
/tool fetch url=($server . $par) mode=http user=$users password=$paswd;
}

以上需要修改的参数:

server    //固定为http://ddns.oray.com

domain    //你向花生壳申请的域名

users    //登录花生壳的用户名

paswd    //登录花生壳的密码

interface    //上面查询出来的虚拟接口名称

把代码直接粘贴到路由上测试:

wKioL1YYhInD65wHAAG2DOxY3_w159.jpg

DNS查询是否能把错误的IP更新掉:

wKiom1YYhG_BSPX7AACFt_r_j6Y887.jpg

可以看到脚本成功地找到了本路由PPPOE接口的当前IP,并成功提交给了花生壳服务器。

4、step4

以下将设置脚本和定时任务,使脚本可以自动执行:

“/System/Scripts”设置目录,单击【+】按钮

wKiom1YYidPCvLLbAAEpSknXTCE541.jpg

如上图所示:

“On Event”增加通过测试的脚本代码。

单击【OK】按钮退出。

“/System/Scheduler”设置目录,单击【+】按钮

wKioL1YYignznmJWAAEBXyp038k050.jpg

如上图所示:

Interval设置为“30”分钟

“On Event”增加“:execute peanutddns”脚本调用语句。

注:更新的版本已经不支持“:execute scriptName”语句,请直接写脚本名称“peanutddns”

单击【OK】按钮退出。

5、step5

检测是否已经正常工作:

再次尝试更新一个错误IP给花生壳的DDNS服务器:

wKioL1YYhIiAIJhNAADMhjbFBF8499.jpg

wKiom1YYhG7TYQ_YAACD2b5Y_aw370.jpg

等待脚本执行:

wKiom1YYiojjtYxKAADajEyC4W8837.jpg

如上图所示:

等待“Run Count”执行加“1”后表示已经更新过DNS。

wKiom1YYhG_BSPX7AACFt_r_j6Y887.jpg

如上图所示:

错误的DNS被重新更新,证明脚本运行正常。









本文转自 tanzhenchao 51CTO博客,原文链接:http://blog.51cto.com/cmdschool/1701464,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
MySQL 脚本优化工具tuning-primer.sh使用教程说明
今天推荐给大家一个不错的脚本tuning-primer.sh,可以帮助我们去查看一下msyql的运行情况,产生报告和给出一些建议,我们可以根据这些建议,结合mysql服务器的实际情况,对mysql进行优化。
867 0
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
9480 0
tcpdump 方式检测 ip ip段 tcp并发数攻击防御shell 脚本
tcpdump 自定义抓包时间将信息存入文件
96 0
python写一段脚本代码自动完成输入(目录下的所有)文件的数据替换(修改数据和替换数据都是输入的)【转】
转自:http://blog.csdn.net/lixiaojie1012/article/details/23628129     初次尝试python语言,感觉用着真舒服,简单明了,库函数一调用就OK了 [python] view plain copy 在CODE上查看代码片派生到我的代码片 import sys,os,os.
558 0
懒人Shell脚本》之四——日志条数动态实时统计
本文是《懒人Shell脚本》之四——日志条数动态实时统计详解
663 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
10841 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
13163 0
+关注
20382
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载