OpenWrt + 每步科技DDNS 实现ipv6动态域名解析方法

其实好几个月前我就已经把这个动态域名设置好了,后面重新刷了系统,忘记保存,又得重新再来,这次把过程记录一下,免得下次再从头百度。

工具

  • 刷好openWrt的路由器
  • 一个每步科技注册的域名(我为什么选择这个,因为它免费)

步骤

  1. 创建更新脚本
    通过ssh访问到openwrt的后台,创建一个文件夹,存放用来向每步的服务器发送本机信息的脚本,在其中创建脚本,我这里命名为mbDDNS.sh,其中输入以下内容:

    #sync
    #. /lib/functions/network.sh
    #network_flush_cache
    #network_find_wan6 NET_IF6
    #network_get_ipaddr6 NET_ADDR6 "${NET_IF6}"
    NET_ADDR6=$(ifconfig | grep br-lan -A 10 | grep 2409 | cut -b 23-43)
    old=$(cat ./ips6.ini)
    new=$NET_ADDR6
    if [ "$old" != "$new" ]
    then
    rm -rf ips6.ini
    echo $new > ips6.ini
    rm index*
    #wget "http://v6.meibu.com/v6.asp?name=注册的域名&pwd=注册时设置的密码"
    wget "http://ipv6.meibu.com/?id=123&name=注册的域名&pwd=注册时设置的密码&ipv6=$NET_ADDR6"
    else
    echo "==same!"
    fi
    

    这个是从每步网站上的脚本改来的,原脚本在这里
    原脚本我运行起来有问题,所以改了一下。

  2. 测试内容是否成功

  • 一种方法是根据每步在这个网页的描述:
    返回 chenggong 为成功
    返回 chongfu 为重复提交
    返回 err1 为密码错误
    返回 err2 为域名错误
    返回 daoqi 为使用到期
    观察返回值,看是否成功,我这里也不知道为什么,成功了只返回了个OK,错误了才有上面说的返回值。
  • 另一种方法是使用这个网址去ping自己设置好的域名,看是否能够ping通,如果能通,那就是成功了.
  1. 在openwrt中设置http访问端口
    因为默认的ipv6的http访问端口80是被封了的,个人宽带都是被封了的,无法正常访问,所以如果想实现远程登录本地路由器的web管理界面,就要更改web访问端口到任意自己想设置的值。这样属于workaround的方法,虽然能够通过互联网访问我们的路由器管理页面了,但是访问的时候必须在域名后面加上

    :设置的域名

    :808

    才能访问
    在这里插入图片描述
    像这样进行设置。

    有可能比较坑的是有可能这样设置了还是不能从互联网访问,原因有可能是防火墙的设置问题
    在这里插入图片描述
    在防火墙设置里,红圈部分要设置为接收。

  2. 定时任务

    有时候自己路由器重启了,ipv6地址会变化,这时候我们肯定不希望通过域名无法正常访问我们的路由器

    可以在web管理界面中的计划任务中添加如下配置:

    10 * * * * /bin/bash /root/ddns/mbDDNS.sh
    

    不同版本openwrt中 /bin/bash 可能不一样,终端输入echo $SHELL可查看。
    这个运行的文件就是第一步设置的脚本,每十分钟运行一次,如果ipv6地址有更更新,就使用新地址,否则什么都不做。

结束

如果对内容有不清楚的地方欢迎留言,我看到会尽快回复

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值