|
目前几大营运商,基本都提供IPV6公网地址了,传统的内网穿透等方法相对比较麻烦。
本文针对移动大内网,分享DDNS最简单方法。
第一步:meibu.com注册账号,获得二级域名一个及密码备用。
第二步:新建 ddns.sh 脚本,复制以下代码,然后注意修改 xxxxxx.msns.cn为申请的二级域名,pwd=密码,保存。
- #!/bin/sh
- # 获取当前文件目录
- dir=$(cd $(dirname $0); pwd)
- # ip.txt用来保存IP地址,如果IP地址没有发生变化,则不进行地址更新,重复提交地址更新官方会封号。
- iptxt="$dir""/ip.txt"
- # 获取IPv6地址
- ip=$(ip -6 addr list scope global $device | grep -v " fd" | sed -n 's/.*inet6 \([0-9a-f:]\+\).*/\1/p' | head -n 1)
- if [ "${ip:-none}" == "none" ]
- then
- echo "[ddns] 获取IP错误!"
- exit 12
- fi
- if [ -f $iptxt ]
- then
- oldip=$(tail -n 1 $iptxt)
- else
- oldip="::"
- fi
- # 与ip.txt中的IP地址对比,如果一致,则退出;如果不一致,则将新IP写入ip.txt文件中,并提交动态域名更新。
- if [ "$ip" == "$oldip" ]
- then
- echo "[ddns] IP无变化!"
- exit 0
- fi
- # 将变化的ip地址写入ip.txt
- echo $ip > $iptxt
- # 更新动态域名IP地址,xxxxxx.msns.cn为申请的域名,“pwd=”后面为密码
- url="http://www.meibu.com/ipv6zdz.asp?ipv6=${ip}&name=xxxxxx.msns.cn&pwd=xxxxxx"
- re=`curl -s $url`
- echo "[ddns] 更新域名成功!"
复制代码 第三步:SecureFX下在/root/下直接新建文件夹ddns,然后把ddns.sh复制进去。当然路径也可以自己设定。
第四步:openwrt后台计划任务添加定时执行,设定为每1分钟获取一次IPV6地址,并在文件夹生成IP.txt,以后每次获取IP对比该txt,如未发生变化则结束。如发生变化则更新。
- * * * * * /root/ddns/ddns.sh
复制代码 到这来基本就完事了,初次添加计划任务后,可能需要等待数分钟才可以通过二级域名访问。也可以直接在ssh执行一次脚本,手动更新一次。
|
|