V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
OpenWrt 是一个专门面向嵌入式设备的 Linux 发行版。你可以将 OpenWrt 支持的型号的嵌入式设备,比如各种路由器上的系统,换成一个有更多可能性可以折腾的 Linux 系统。
OpenWrt 官方网站
pk000
V2EX  ›  OpenWrt

OpenWRT 重新拨号后内网偶尔获取不到 IPv6 PD

  •  
  •   pk000 · 2022-03-01 17:42:04 +08:00 via iPhone · 3934 次点击
    这是一个创建于 873 天前的主题,其中的信息可能已经有所发展或是发生改变。
    OpenWRT WAN 口每隔 2 天运营商会强制断线,触发 PPPoE 重新拨号。重新拨号后,有可能会出现 LAN 上获取不到 IPv6 PD ,导致内网设备无法获取新的 IPv6 地址,IPv6 中断。
    请问有办法确保每次重新拨号均可正常获取 IPv6 PD 吗?
    或者配置 cron 定时检查 LAN 是否有 IPv6 PD ,若无,则通过某种不需要重新拨号的方式申请 IPv6 PD ,再向内网分发 IPv6 地址。如有此方式,请提供配置样例。
    20 条回复    2023-12-15 19:03:30 +08:00
    ochatokori
        1
    ochatokori  
       2022-03-01 18:08:54 +08:00 via Android
    拨号能正常获取的话,写个 hotplug ,在拨号的时候重启 lan 接口?
    pk000
        2
    pk000  
    OP
       2022-03-01 18:39:40 +08:00 via iPhone
    @ochatokori 正常情况下貌似不需要重启 LAN 接口就会更新 IPv6 PD 的呀。就是不确定是 WAN 口拨号有什么问题导致不能获取 IPv6 PD 。
    fhbyljj
        3
    fhbyljj  
       2022-03-02 02:34:12 +08:00 via Android
    你是不是一个 WAN 一个 WAN6
    pk000
        4
    pk000  
    OP
       2022-03-02 08:38:17 +08:00 via iPhone
    @fhbyljj 没有 WAN6 ,只有一个 WAN 。拨号 IPv6 地址在 WAN 上,IPv6 PD 在 LAN 上。
    fhbyljj
        5
    fhbyljj  
       2022-03-03 04:06:28 +08:00 via Android
    @pk000 我也是只有一个 WAN ,LAN 的 IPV6 一直能自己变换
    fhbyljj
        6
    fhbyljj  
       2022-03-03 04:07:30 +08:00 via Android
    @pk000 你可以试试把 WAN 的自动获取 IPV6 设置为手动,再创建一个 @wan 是 DHCPv6 客户端
    zbinlin
        7
    zbinlin  
       2022-03-03 21:01:59 +08:00
    是联通的吗?
    pk000
        8
    pk000  
    OP
       2022-03-04 08:25:09 +08:00 via iPhone
    @fhbyljj 好,晚点试试。

    @zbinlin 电信
    pk000
        9
    pk000  
    OP
       2022-03-23 18:37:44 +08:00
    @fhbyljj 建了 @wan ,看到路由器获取了 IPv6 地址和 IPv6 PD ,但是内网 lan 上设备无法分配到 IPv6 地址。不知道是不是 lean 的 OpenWRT 是不是改过什么。
    flynaj
        10
    flynaj  
       2022-03-23 20:56:04 +08:00 via Android
    你用的版本是不是 Current Stable Release - OpenWrt 21.02.2 ,如果不是的话更新一下
    luoshengdu
        11
    luoshengdu  
       2022-03-31 23:17:50 +08:00   ❤️ 1
    1.在 wan ( pppoe 拨号)口设置中,确认有,“勾选”使用内置 IPv6 管理,获取 IPv6 地址“自动”
    2.添加防火墙规则,允许 ipv6 udp 456 端口和 ipv6 的 igmp 协议进入本设备
    即可解决你描述的问题,且不需要 cron
    pk000
        12
    pk000  
    OP
       2022-04-23 18:19:09 +08:00 via iPhone
    @luoshengdu 经长时间测试,每 2 天运营商强制断线重拨还是会有一定概率出现没有 IPv6 地址的情况,且一直都没有,直到下次重新拨号(手动或运营商强制断线重拨)。
    luoshengdu
        13
    luoshengdu  
       2022-04-24 15:41:41 +08:00
    @pk000 我的测试这么久已经完全正常了哦,广州电信。 拨号

    最近一个月,没有定时重启过路由器,完全可用自动获取到 dhcp-pd 的 v6 地址,
    https://upimg.top/i/2022/04/24/6264fecd4d662.png
    pk000
        14
    pk000  
    OP
       2022-04-25 12:13:11 +08:00 via iPhone
    @luoshengdu 您用的是那个版本的固件?我用的是 eSir 的高大全。基于 lean 的源码。
    luoshengdu
        15
    luoshengdu  
       2022-04-25 15:13:22 +08:00
    @pk000 我是自己编译的 x86 固件 github.com/host2318 见 2021test 固件的 config ,可以.
    另外还有台 360v6 刷了 openwrt 测试了也可以
    Cambrian07
        16
    Cambrian07  
       2023-04-13 16:45:18 +08:00
    我也是遇到了这个问题,增加了一个 hotplug 解决了

    ``` shell
    #!/bin/sh
    [ "$ACTION" = ifup ] || exit 0
    [ "$INTERFACE" = wan ] || exit 0
    uci set network.globals.ula_prefix="$(ip -6 route show | grep default | sed -e 's/^.*from //g' | sed 's/ via.*$//g')"
    uci commit network
    /sbin/ifup lan
    ```
    tediorelee
        17
    tediorelee  
       351 天前
    @Cambrian07 sorry 挖个坟问一下,这个脚本应该放在哪个位置呢?
    Cambrian07
        18
    Cambrian07  
       349 天前   ❤️ 1
    #17
    ```shell
    vi /etc/hotplug.d/iface/99-ipv6
    chmod a+x /etc/hotplug.d/iface/99-ipv6
    reboot
    });
    ```

    @tediorelee
    kyon777
        19
    kyon777  
       340 天前
    @luoshengdu 大哥 靠谱啊 把这个端口加进防火墙,立马获取到 PD 了,挖坟给后面的人参考
    jqtmviyu
        20
    jqtmviyu  
       219 天前
    挖坟, 添加 ipv6 udp 456 端口 , 重启下就好了, 感谢
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   916 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 22:27 · PVG 06:27 · LAX 15:27 · JFK 18:27
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.