asus merlin使用cloudflare作为DDNS

ref:

https://github.com/RMerl/asuswrt-merlin.ng/wiki/DDNS-services

https://github.com/troglobit/inadyn/tree/master/examples

https://github.com/troglobit/inadyn

 

1.创建cloudflare api token

登陆cloudflare->my profile->API Tokens 创建并保存

2.ssh登陆路由器,编辑/jffs/inadyn.conf

 

vi /jffs/inadyn.conf

修改如下

allow-ipv6 = true

# ipv4
provider cloudflare.com:1 {
checkip-server = 1.1.1.1
checkip-path = /cdn-cgi/trace
username = zone.name # cloudflare 的zone
password = api_token # Create a unique custom api token with the following permissions: Zone.Zone - Read, Zone.DNS - Edit.
hostname = hostname.zone.name
ttl = 1 # optional, value of 1 is 'automatic'.
proxied = false # optional.
}

# ipv6
provider cloudflare.com:2 {
checkip-server = dns64.cloudflare-dns.com
checkip-path = /cdn-cgi/trace
username = zone.name
password = api_token # Use the same api token as above.
hostname = hostname.zone.name
ttl = 1 # optional, value of 1 is 'automatic'.
proxied = false # optional.
}

inadyn关联配置文件

inadyn --check-config -f "/jffs/inadyn.conf"

创建/jffs/scripts/ddns-start

vi /jffs/scripts/ddns-start

添加以下内容

#!/bin/sh
inadyn --once -f "/jffs/inadyn.conf" -e "/sbin/ddns_custom_updated 1" --continue-on-error "/sbin/ddns_custom_updated 0"

添加可执行权限

chmod +x /jffs/scripts/ddns-start

浏览器登陆路由器,在DDNS选项中选择custom,就可以了