阿里云的最新办法
利用自带的动态dns插件,添加一个配置
注意上面的1、2、3处
ip地址来源为脚本
2处为脚本文件的在路由器上的存放路径
3处是触发脚本执行更新的接口,根据你的实际情况进行选择为了保证刷机之后脚本文件还在,一般这样设置
- #!/bin/sh
- pd=$(ubus call network.interface.wan6 status | grep -A 3 ‘”ipv6-prefix”:’ | grep address | awk ‘{print $2}’ | awk ‘{print substr($0,1,length($0)-4)}’ | sed ‘s/^.//’)
- hz=:209:34ff:fe2c:5ab0
- wanip6=${pd}${hz}
- echo “${wanip6}”
补充,@conupefox提供的获取PD的另外一个方法
- <blockquote>. /lib/functions/network.sh
这个跟以前的方法类似,主要是通过代码获取pd然后加上客户机IPV6地址的固定后缀,就是一个完整的V6地址
——————————————————————————————————————————————————————————————————————————————–
以下为非阿里云,如dynu等二级域名的使用放大
在IPV6环境,网内各设备均会获得一个全球地址,路由上可以通过ddns等工具最其自身所获取的wan6 ip实现域名绑定,并自动更新,但不能解决通过域名访问网内其它设备IPV6地址的问题,经过观察发现我们的路由获取的IPV6除了128位地址外还有一个PD前缀(移动为60位,电信为56位),如下图
黄色方框内即为前缀
我们再来看网内设备所获取的IPV6地址
发现前面方框内即前面所说的前缀,后面方框内为给此设备分配的IPV6地址后缀,仔细观察还可以看出后缀最后6位与设备mac地址的后6位一样,但这并不是所有设备都是如此。
在经过多次观察,会发现路由对设备分配的IPV6后缀基本是固定的,当路由器重新拨号后,运营商分配的ipv6前缀会和wan ip一样发生变化,但后缀部分并不会变(此处不绝对,有些设备每次都不一样,此方法不适用)
同时在IPV4我们可以在路由上对局域网内设备指定IP地址分配,在IPV6我们一样也可以,但不再是固定的IP地址了,只能固定的后缀,再加上运营商分配的前缀就组成一个完整的IPV6地址
在openwrt的网络-DHCP/DNS菜单的最下面有个静态地址分配
方框内填好后缀就行了,我习惯于用IPV4地址做后缀,其中DUID这个字段从“已分配的 DHCPv6 租约”里面找到对应关系选取。但此方式不建议,因为有时候并不会生效,会造成解析失败,建议后缀还是全地址(例如:2e0:b4ff:fe1c:4c63)
以上工作做好后,现在来讲如何通过脚本来实现动态域名的更新。
首先我们在dynu.com注册n个免费域名,该网站现在需要fq访问,但不影响解析
我们在openwrt的/etc/ppp/ip-up.d目录下新建一个dynu-a.sh的文件,内容如下:
- #!/bin/sh
- USERNAME=”user” #你注册dynu用户名
- PASSWORD=”password” #你注册的dynu密码
- DOMAIN=”kobxx.dynu.net” #你注册的dynu免费域名
- wanip=`ifconfig pppoe-wan 2>/dev/null | grep ‘inet addr’ | awk ‘{print $2}’ | cut -d: -f2 2>/dev/null` #获取路由器IPV4地址
- pd=`ubus call network.interface.wan6 status | grep -A 3 ‘”ipv6-prefix”:’ | grep address | awk ‘{print $2}’ | grep -oE ‘[0-f]{0,4}\:[0-f]{0,4}\:[0-f]{0,4}\:[0-f]{0,4}’` #获取路由器IPV6前缀
- hz=::123 #123为路由上给a设备分配的IPV6后缀
- wanip6=${pd}${hz} #前缀后缀组合为设备的IPV6地址
- curl -k “https://207.38.70.46/nic/update?hostname=${DOMAIN}&username=${USERNAME}&password=${PASSWORD}&myip=${wanip}&myipv6=${wanip6}” #执行将ip地址发送到域名服务器进行更新
以上用户名密码等信息自行修改,保存后修改文件权限为0755
在lede的文件系统,放在/etc/ppp/ip-up.d目录下的脚本会在发生pppoe拨号自动触发执行,也就是说只要路由器重新拨号即可完成域名更新
如果有多台设备,可以继续新建文件dynu-b.sh,替换相应内容,依次可以将网内所有设备按照此方式实现域名更新。
这样做的好处就是避免了所有设备的域名更新IP全部在路由实现,而且路由只要重新拨号就触发,不需要花精力为每台设备去找ddns插件,有的平台可能根本就没合适的插件
https://www.right.com.cn/forum/thread-668697-1-1.html
要发表评论,您必须先登录。