首先,这里的动态域名用的是自己购买的顶级域名

再者,SAE指http://sae.sina.com.cn


首先将顶级域名绑到dnspod上去,具体看教程

不会将自己域名绑定dnspod的,自行百度吧,

绑定好后,添加A刻录,指向乱写,因为后面会通过dnspod的接口来修改

1

最后,记下,帐号,密码,A记录的域名:如ip.qinyang.me


接下来,通过sae来创建更新域名指向的应用,其它用其它的支持php空间也行,为什么用sae呢?(因为sae速度快,接近免费,稳定)。

在sae下创建应用,并上传php代码:dnspodupdate

如申请的应用为dnspodupdate.sinaapp.com.cn

dnspodupdate.php就放在应用根目录,则访问此php的网址为http://dnspodupdate.sinaapp.com.cn/dnspodupdate.php


最后,动态更新域名:

dnspodupdate.php的用法为:http://dnspodupdate.sinaapp.com.cn/dnspodupdate.php?username=******&password=******&domain=ip@qinyang.me&myip=1.1.1.2

如果执行成功,就可以在dnspod里刚刚添加的A记录已经变成了1.1.1.2,现在就是要把外网IP更新到dnspod上去了。

得到IP地址:可以访问http://www.3322.org/dyndns/getip得到,

脚本:

IPVAL=`curl http://www.3322.org/dyndns/getip 2>/dev/null`

更新脚本:

curl "http://dnspodupdate.sinaapp.com.cn/dnspodupdate.php?username=******&password=******&domain=ip@qinyang.me&myip=$IPVAL"

脚本上传下吧:myip

将域名中的用户名(NAMEVAL),密码(PASSWDVAL),子域名(DOMAINVAL),改为你自己的就OK啦,

NAMEVAL=mail@qinyang.me
PASSWDVAL=123456
DOMAINVAL=ip@qinyang.me

IPVAL=`curl http://www.3322.org/dyndns/getip 2>/dev/null`
curl "http://kqyu.netne.net/dnspodupdate.php?username=$NAMEVAL&password=$PASSWDVAL&domain=$DOMAINVAL&myip=$IPVAL"
echo OK

执行结果:

root@wangqinyang:~/shell# chmod 755 myip.sh 
root@wangqinyang:~/shell# ./myip.sh 
{"msg":"\u8bb0\u5f55\u4e0d\u9700\u8981\u66f4\u65b0"}OK

在crontab中加入执行计划就OK了

root@wangqinyang:~/shell# crontab -l

*/20 * * * * /root/shell/myip.sh