dynv6 IPv6更新,Linux Shell脚本读取IPv6

家里原来用长城宽带,运营商好说话,给我申请了个公网IP,用来架设私有云,搞个花生壳动态域名就行了。
最近由于搬家,新地方没有长城宽带,只能换用移动宽带了,移动不肯给公网IP,只有大内网IP,好在移动支持IPv6,赶紧去dynv6.com申请了个域名,然后,他们推荐用ddclient来更新,可是我电脑ddclient老是报无法解析IP的错误,最后实在没办法,自己写个脚本来更新。现分享给大家。

写个更新脚本

cat /usr/bin/ddns.dynv6.sh

#!/bin/sh
export PATH=/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin
ipv6=$(ifconfig wlp3s0 | grep 'inet6 2409' | awk '{print $2}' | head -1)
wget --no-check-certificate -q -O dynv6.log 'http://dynv6.com/api/update?hostname=<你的域名>&token=<你的令牌>&ipv6='$ipv6

其中,wlp3s0 是我的网卡名,要换成你自己的网卡名。2409是你的IPv6的前缀,我移动的是2409,这个主要是为了防止读错了,读成局域网IP了。

变成可执行

chmod +x /usr/bin/ddns.dynv6.sh

开机自动执行

在/etc/rc.local加入一行:
/usr/bin/ddns.dynv6.sh

这样每次电脑开机,都能把新的IPv6更新到dynv6,然后就用你的域名可以直接访问私有云了。

定时任务

如果你用的是无线网卡,一般启动时,可能无线网卡还没来得及连接,更新IP就会失败。所以,建议放在crontab中:

sudo crontab -l


*/10 * * * * /usr/bin/ddns.dynv6.sh

每10分钟更新一次。

你可能感兴趣的:(linux)