其实好几个月前我就已经把这个动态域名设置好了,后面重新刷了系统,忘记保存,又得重新再来,这次把过程记录一下,免得下次再从头百度。
工具
- 刷好openWrt的路由器
- 一个每步科技注册的域名(我为什么选择这个,因为它免费)
步骤
-
创建更新脚本 通过ssh访问到openwrt的后台,创建一个文件夹,存放用来向每步的服务器发送本机信息的脚本,在其中创建脚本,我这里命名为mbDDNS.sh,其中输入以下内容: sync
. /lib/functions/network.sh
network_flush_cache
network_find_wan6 NET_IF6
network_get_ipaddr6 NET_ADDR6 "${NET_IF6}"
old=$(cat ./ips6.ini)
new="${NET_ADDR6}"
if [ "$old" != "$new" ]
then
rm -rf ips6.ini
echo $new > ips6.ini
wget "http://v6.meibu.com/v6.asp?name=注册的域名&pwd=注册时设置的密码"
rm v6.asp*
else
echo "==same!"
fi
这个是从每步网站上的脚本改来的,原脚本在这里: 原脚本我运行起来有问题,所以改了一下。 -
测试内容是否成功
- 一种方法是根据每步在这个网页的描述:
返回 chenggong 为成功 返回 chongfu 为重复提交 返回 err1 为密码错误 返回 err2 为域名错误 返回 daoqi 为使用到期 观察返回值,看是否成功,我这里也不知道为什么,成功了只返回了个OK,错误了才有上面说的返回值。 - 另一种方法是使用这个网址去ping自己设置好的域名,看是否能够ping通,如果能通,那就是成功了.
-
在openwrt中设置http访问端口 因为默认的ipv6的http访问端口80是被封了的,个人宽带都是被封了的,无法正常访问,所以如果想实现远程登录本地路由器的web管理界面,就要更改web访问端口到任意自己想设置的值。这样属于workaround的方法,虽然能够通过互联网访问我们的路由器管理页面了,但是访问的时候必须在域名后面加上
:设置的域名
如
:808
才能访问 像这样进行设置。 有可能比较坑的是有可能这样设置了还是不能从互联网访问,原因有可能是防火墙的设置问题 在防火墙设置里,红圈部分要设置为接收。 -
定时任务 有时候自己路由器重启了,ipv6地址会变化,这时候我们肯定不希望通过域名无法正常访问我们的路由器 可以在web管理界面中的计划任务中添加如下配置: 10 * * * * /bin/bash /root/ddns/mbDDNS.sh
这个运行的文件就是第一步设置的脚本,每十分钟运行一次,如果ipv6地址有更更新,就使用新地址,否则什么都不做。
结束
如果对内容有不清楚的地方欢迎留言,我看到会尽快回复
|