欢迎光临本站
我们一直在努力

"路由器WAN重拨后IPv6 DNS解析问题:设备离线与运营商DNS直连相关"

设备在获取了ipv6地址后,如果wan口重拨更换了ipv6地址,路由器后面的设备dns分别有不同的问题,比如:ipv6更新后ssh会连不上,需要重启dropbear,原因是设备的dns地址已经通过dhcp自动获取,但是路由器ipv6变更后,dns服务器应该也会变更,但是设备这时是不知道的,还是用着变更前的dns地址,导致出现这种问题。

路由器wan重拨后,ipv6 dns解析直连运营商dns导致设备离线

我已知的情况:

  • 苹果手机:暂时没有发现有影响
  • 安卓手机:dns解析不再经过路由器53端口
  • 电脑有线:dns解析不再优先使用ipv6,基本全部都是ipv4进行dns解析。

基于以上情况,写了一个脚本:

wan_check.sh

[ "$(cat /proc/uptime | awk '{print $1}' | sed "s/...$//g")" -le 100 ] && exit
ipv4=`ifconfig pppoe-wan | grep P-t-P | grep -oE [0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3} | head -n1`
ipv6=`ifconfig pppoe-wan | grep Global | grep -oE [0-9a-z]{1,4}:[0-9a-z]{1,4}:[0-9a-z]{1,4}:[0-9a-z]{1,4}:[0-9a-z]{1,4}:[0-9a-z]{1,4}:[0-9a-z]{1,4}:[0-9a-z]{1,4}`
updateIPFile(){
    echo IPv4=$ipv4 > var/ip
    echo IPv6=$ipv6 >> var/ip
}
[ -z "$ipv4" ] && ifup wan || [ -f /var/ip ] && source /var/ip
[ -n "$ipv4" -a "$IPv4" != "$ipv4" ] && {
    updateIPFile
}
[ -n "$ipv6" -a "$IPv6" != "$ipv6" ] && {
    updateIPFile
    interface=`uci get network.lan.ifname`
    for ifname in $interface lan;do
        ubus call network.interface down "{ \"interface\" : \"${ifname}\" }"
    done
    sleep 1
    for ifname in $interface lan;do
        ubus call network.interface up "{ \"interface\" : \"${ifname}\" }"
    done
    sleep 10
    wlist=`cat /etc/config/wireless | grep ifname | awk '{print $3}' | sed "s/'//g"`
    for wl in $wlist;do
        macs=`iwinfo $wl assoclist | grep ..:..:..:..:..:.. | grep dBm | awk '{print $1}'`
        for mac in $macs;do
            iwpriv $wl kickmac $mac
        done
    done
}

若检测到ipv6地址更换,将所有wifi设备踢出,强制断开lan网口(模拟物理拔网线),此时路由器下的设备就可以通过dhcp重新获取地址来解决上述情况了。

链接: https://pan.baidu.com/s/1Z7iJtuSBqYfKQdSQ109Ygw

提取码: luyw

下载解压将里面的脚本放到/data文件夹,然后控制台输入命令即可:

chmod 755 data/wan_check.sh && sed -i '$a\*/1 * * * * /data/wan_check.sh' etc/crontabs/root && etc/init.d/cron restart
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《"路由器WAN重拨后IPv6 DNS解析问题:设备离线与运营商DNS直连相关"》
文章链接:https://www.youkayouwang.com/kaquan-baike/wifi-luyou/90625.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。