本文主要讲解如何借助阿里云aliyun的云解析API接口来实现RouterOS(以下简称ROS)的DDNS动态解析。

一、创建访问控制RAM的AccessKey

我这边简单的讲讲如何申请开通:

1、阿里云网站 --> 产品 --> 安全 --> 应用身份服务,这个就是控制API ,用户管理,新建用户,填写用户名和勾上“为该用户自动生成AccessKey”,保存好这个accesskey。

2、策略管理 --> 自定义授权策略,新建授权策略,选择空白模版,授权策略名称随便填(如alidns),策略内容为下面的内容(修改下面内容中的域名为你自己要做DDNS的域名)

action是api的接口,只接受AddDomainRecord(增加域名解析),DescribeDomainRecords(输出域名解析列表)和UpdateDomainRecord(修改域名解析记录)

Resource是指被授权的具体对象,这边domain/myxzy.com需要修改成你自己的域名domain/xxx.com。这样就是授权对象是该域名

{"Version": "1","Statement": [{"Action": ["alidns:AddDomainRecord","alidns:DescribeDomainRecords","alidns:UpdateDomainRecord"],"Resource": "acs:alidns:*:*:domain/myxzy.com","Effect": "Allow"}]
}

3、用户管理,对上面创建的用户,点击授权,选择刚才自定义创建的策略,确定。

二、PHP制作aliyun API动态解析接口

以下是我制作好的php解析接口

接口地址:

  • http://u.myxzy.com/alidns

HTTP请求方式:

  • POST/GET

请求参数:

  • id    (必选)  AccessKeyId
  • secret (必选)  AccessKeySecret
  • record  (必选)  记录名(如:www)
  • domain (必选)  域名(如:myxzy.com)
  • ip         (可选,默认值为请求来源IPv4)  DDNS的IP地址

示例:

curl -X POST http://u.myxzy.com/alidns -d 'id=id&secret=secret&domain=myxzy.com&record=www&ip=1.1.1.1'

返回

“0”代表解析修改成功或者是当前解析记录ip相同

“1”代表AccessKey报错(这个阿里云我这边经常出现,刷新就可以正常)

“2”代表没有设置参数

安全说明:

1、本接口未记录所有的解析AccessKey和解析记录,但是服务器的访问日志会有链接记录(按照政策要求需保存6个月的日志)。虽然有日志但是本接口不提供任何查询。

2、强烈建议按照步骤一设置授权权限。

3、由于使用本接口出现的任何安全问题,本人概不负责。这边只能保证本人不会去做任何后门行为。这边建议勤换AccessKey

2019-6-8 v1.0

1、只支持A记录,TTL为600(10分钟),线路是默认线路

2、ip填入不带,默认是来源的IPv4地址

3、不支持IPv6

4、解析记录不存在会自动新建解析记录,存在则修改解析

5、多线路相同主机名记录只能识别列表第一条主机名解析记录

6、暂不提供源码。

三、ROS脚本

id、secret、domain、record、pppoe修改成自己的。定时1分钟运行就好。

#aliyun Access Key
:local id "AccessKeyId"
:local secret "AccessKeySecret"#domain
:local domain "myxzy.com"
:local record "www"#PPPoE-out
:local pppoe "pppoe-out1":local ipaddr [/ip address get [/ip address find interface=$pppoe] address]
:set ipaddr [:pick $ipaddr 0 ([len $ipaddr] -3)]
:global aliip
:if ($ipaddr != $aliip) do={
:local result [/tool fetch url="http://u.myxzy.com/alidns/\?id=$id&secret=$secret&domain=$domain&record=$record&ip=$ipaddr" as-value output=user];
:if ($result->"status" = "finished") do={
:if ($result->"data" = "0") do={
:set aliip $ipaddr
:log info "alidns update ok";
} else={
:log info "alidns update error";
}
}
}

脚本说明:获取pppoe拨号ip,然后判断和记录解析ip是否相同,不同开始访问我的php解析脚本,解析脚本就判断参数执行,返回0或1或2,如果是0更新记录的alidns解析ip,其他的不记录

RouterOS利用aliyun的API接口实现DDNS动态解析相关推荐

  1. fetchtype 动态控制_RouterOS利用aliyun的API接口实现DDNS动态解析

    本文主要讲解如何借助阿里云aliyun的云解析API接口来实现RouterOS(以下简称ROS)的DDNS动态解析. 一.创建访问控制RAM的AccessKey 我这边简单的讲讲如何申请开通: 1.阿 ...

  2. php查询ip归属地api接口_【php】利用新浪api接口与php获取远程数据的方法,获取IP地址,并获取相应的IP归属地...

    本文与<[Servlet]Javaweb中,利用新浪api接口,获取IP地址,并获取相应的IP归属地>(点击打开链接)为姊妹篇,只是后端编程语言换成了php. 做出同样的效果,打开页面,得 ...

  3. php新浪获取ip接口,【php】利用新浪api接口与php获取远程数据的步骤,获取IP地址,并获取相应的IP归属地...

    [php]利用新浪api接口与php获取远程数据的方法,获取IP地址,并获取相应的IP归属地 本文与<[Servlet]Javaweb中,利用新浪api接口,获取IP地址,并获取相应的IP归属地 ...

  4. python 接入百度地图数据包下载_Python爬虫-利用百度地图API接口爬取数据并保存至MySQL数据库...

    首先,我这里有一份相关城市以及该城市的公园数量的txt文件: 分析-02.png 其次,利用百度地图API提供的接口爬取城市公园的相关信息. 所利用的API接口有两个: 1.http://api.ma ...

  5. linux ipv6动态解析,家庭宽带ipv6搭建外网访问方案,ddns动态解析ipv6,ipv6建站等

    注意:ipv6和ipv4之间不可互相访问!!! 如题: 1.先确认我们本地是否有公网ipv6地址 Windows查看方法:打开cmd.输入ipconfig 看到有2开头的就是公网ipv6了 linux ...

  6. 利用百度云API接口上传照片进行植物识别

    第一步还是引库,确定自己安装过这些库了,没有安装的需要自行安装 import requests import base64 import os #os库是下面多张图片进行识别的,如果一次识别一张图片就 ...

  7. 利用百度地图API接口自制地图

    首先注册成为开发者百度地图开放平台 | 百度地图API SDK | 地图开发 创建一个服务器端应用,这个应用是为了查询地点的经纬度 把地点存一个csv文件,为了查询准确把市和区补在地点前面,通过pyt ...

  8. 如何利用python调用API接口获取数据进行测试

    一.Python 可以使用 requests 库来调用 API 接口获取数据.以下是基本的步骤: 1.安装 requests 库 pip install requests 2.导入 requests ...

  9. 利用苏宁API接口获取北京时间授时

    本文将以苏宁免费的时间接口为例: http://quan.suning.com/getSysTime.do 演示如何向服务器的API接口发送GET请求报文,而且解析数据. GET请求格式 具体GET请 ...

最新文章

  1. Codeforces Gym 100269G Garage 数学
  2. SAP Fiori 应用无法根据contact搜索的原因分析
  3. python 多层包多模块_python Modules模块操作
  4. linux 终端调用MATLAB程序
  5. 前端学习(130):HTML和CSS发展历史
  6. pdfjs 字体新增_pdfjs 引入字体失败
  7. 什么行业适合年轻人自主创业
  8. gateway配置mysql_使用Gateway配置路由以及动态路由
  9. Krasovsky_1940_Albers投影介绍及转换
  10. 【有意思的BUG】未名
  11. 校园edu无网络访问解决方案
  12. 利用python预测sir模型_SI,SIS,SIR模型的正确实现(python)
  13. ccf中文期刊目录_中国计算机学会CCF推荐中文科技期刊目录
  14. 做量化投研必须掌握的三大基本模型理论
  15. 88家上市公司区块链分布图:七成拓展落地应用 互联网公司善于底层基础
  16. 力天创见热区统计方案
  17. python网址拼接_Python相对完美的URL拼接函数
  18. Maven中的GroupID和ArtifactID指的是什么?
  19. EAUML日拱一卒-微信小程序实战:位置闹铃 (20)-发布微信小程序(续)
  20. STM32的复位电路、ISP一键下载原理

热门文章

  1. dot.net 从win的IIS移植到linux的jexus的注意事项
  2. 工具武装的前端开发工程师 1
  3. Edge 浏览器开发 JavaScript 脚本
  4. 不可多得的干货!万字Android技术类校招面试题汇总,吐血整理
  5. 投资笔记 - 小表弟
  6. 一句话概括H5项目开发技术路线
  7. Docker系列之五:Volume 卷的使用——以Redis为例
  8. 23届国企招聘信息获取渠道
  9. 利用python分析2018智联招聘全国各个城市的职位数排名
  10. 多因子认证是什么意思?与双因子认证有什么区别?