Asuswrt merlin的固件有个自定义DDNS, 通过这个设置可以让路由器支持更多的动态域名服务商.
下面简单记录一下设置方法.

1, 先编辑DDNS更新脚本
先SSH登录路由器, 再编辑脚本.

vi /jffs/scripts/ddns-start

若梅林固件后台有自定义脚本, 那么选择DDNS, 选择服务商对应的代码.

公云 pubyun.com (3322.org)

#!/bin/sh
wget -q -O - 'http://DDNS用户名:DDNS密码@members.3322.org/dyndns/update?hostname=你的ddns域名'
 
if [ $? -eq 0 ]; then
/sbin/ddns_custom_updated 1
else
/sbin/ddns_custom_updated 0
fi

Oray 花生壳

#!/bin/sh
wget -q -O - 'http://DDNS用户名:DDNS密码@ddns.oray.com:80/ph/update?hostname=你的ddns域名'
 
if [ $? -eq 0 ]; then
/sbin/ddns_custom_updated 1
else
/sbin/ddns_custom_updated 0
fi

FreeDNS (afraid.org)

#!/bin/sh
wget -q -O - 'http://freedns.afraid.org/dynamic/update.php?你的API'

if [ $? -eq 0 ]; then
/sbin/ddns_custom_updated 1
else
/sbin/ddns_custom_updated 0
fi

HE.NET

#!/bin/sh
wget -q -O- 'http://[域名]:[DDNS key]@dyn.dns.he.net/nic/update?hostname=[域名]'
 
if [ $? -eq 0 ]; then
/sbin/ddns_custom_updated 1
else
/sbin/ddns_custom_updated 0
fi

ChangeIP

#!/bin/sh
wget -q -O- 'http://nic.ChangeIP.com/nic/update?u=用户名&p=密码&hostname=域名'
 
if [ $? -eq 0 ]; then
/sbin/ddns_custom_updated 1
else
/sbin/ddns_custom_updated 0
fi

2, 然后再修改文件权限,
(通过后台自定义脚本修改的文件不用再登录ssh修改权限了)

chmod 755 /jffs/scripts/ddns-start

3, 再后台外部网络--DDNS里面选择Custom (自定义).

备注:
脚本同时支持多家服务商, 截图上添加了afraid freedns和3322

PQX0dx.md.jpg

参考
https://github.com/RMerl/asuswrt-merlin/wiki/DDNS-Sample-Scripts