技术 26 阅读 评论

    解决电信网络一段时间后ipv6丢失造成群晖等ddns失效

    博主家庭网络为某电信网络,光猫已获取超管密码并且固化telent,已经改桥接,多年都没有出问题,前段时间做了移机,后面就遇到ipv6每隔两三天就丢失,路由器使用lean的lede分支编译,已检查配置没有问题,后面发现是因为本地区电信网络一段时间后会把路由器踢下线,路由器会自动重连,但是自动重新连接后却缺少ipv6分发前缀,导致下面所有设备无法使用ipv6联网,于是写了个脚本来解决。

    ssh登录路由器使用ifstatus命令查看发现lede(lean的18.06分支)的ipv6前缀位于lan口,类似于:

    "ipv6-prefix-assignment": [
                {
                        "address": "xxxx:xxxx:xxxx:xxxx::",
                        "mask": 60,
                        "preferred": xxxx,
                        "valid": xxxx,
                        "local-address": {
                                "address": "xxxx:xxxx:xxxx:xxxx::1",
                                "mask": 60
                        }
                }
    

    该例子前缀为xxxx:xxxx:xxxx:xxxx::/60
    于是脚本的原理就是检测lan口ipv6-prefix-assignment下的分发前缀 xxxx:xxxx:xxxx:xxxx::/60 是否存在,如果不存在就重启wan口重新拨号。
    将脚本下载后放入/usr/bin目录下,并添加计划任务每10分钟检测一次:

    */10 * * * * /usr/bin/check_ipv6_prefix.sh
    

    测试正常运行近20天,ipv6运行正常,ddns工作正常。

    123.png

    124.png

    路由器输出日志(位于/tmp/ipv6_check.log):

    125.png

    从日志中你可以发现前缀发生变化的大概时间,可以推断出运营商多少天把你踢下线一次。

    下载地址:https://github.com/uparrows/check_ipv6_prefix/tree/main

    我总想起那天光影的聚合,好像一起一落之间,还看得到光阴的来去。

    0

      暂无评论