V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
username1919810
V2EX  ›  宽带症候群

关于 DHCPv6 获取的 PD 前缀 Lifetime 可能导致 wan6 定期断连的问题

  •  
  •   username1919810 · 232 天前 · 1196 次点击
    这是一个创建于 232 天前的主题,其中的信息可能已经有所发展或是发生改变。

    OP 路由器上跑的是 openwrt 官方 23.05rc3 ,WAN6 配置成 DHCPv6 客户端,从 ISP 的服务器获取 PD 前缀。 最近发现 WAN6 大约 6 小时左右就会掉线一次
    本来以为是 cx341a 网卡的问题,换到 i226 上发现还是有问题。日志中 Netifd 提示:
    daemon.notice netifd: Interface 'wan6' has lost the connection
    10s 内又重新连上

    抓包 ISP 的 DHCPv6 数据包发现:
    Ethernet II, Src: Cisco_3d:de:8c (10:f9:20:3d:de:8c), Dst: NECPlatf_ (<secret>)
    Internet Protocol Version 6, Src: fe80::12f9:20ff:fe3d:de8c, Dst: fe80::<secret>
    User Datagram Protocol, Src Port: 547, Dst Port: 546
    DHCPv6
    Message type: Advertise (2)
    Transaction ID: 0x8540de
    Client Identifier
    Server Identifier
    Reconfigure Accept
    Identity Association for Prefix Delegation
    Option: Identity Association for Prefix Delegation (25)
    Length: 41
    IAID: 00000000
    T1: 7200
    T2: 10800
    IA Prefix
    Option: IA Prefix (26)
    Length: 25
    Preferred lifetime: 12600
    Valid lifetime: 14400
    Prefix length: 56
    Prefix address: 2400:2410:<secret>00::

    每次分配的 PD 前缀都是固定的。
    理论上不应该在过期之前自动续租吗?不知为何出现了 6 小时整 wan6 就会失去连接的问题。不桥接 openwrt 直接把运营商路由器接到 ONU 上就没有这个问题,对运营商路由器抓包里 IAPD 的 Lifetime 是完全一样的。

    在 WAN6 连接 2 小时 5 分钟时运行 ifstatus wan6:

    { "up": true, "pending": false, "available": true, "autostart": true, "dynamic": false, "uptime": 8442, "l3_device": "eth2", "proto": "dhcpv6", "device": "eth2", "metric": 0, "dns_metric": 0, "delegation": true, "ipv4-address": [

        ],
        "ipv6-address": [
    
        ],
        "ipv6-prefix": [
                {
                        "address": "2400:2410:<secret>00::",
                        "mask": 56,
                        "preferred": 11358,
                        "valid": 13158,
                        "class": "wan6",
                        "assigned": {
                                "lan": {
                                        "address": "2400:2410:<secret>00::",
                                        "mask": 64
                                }
                        }
                }
        ],
        "ipv6-prefix-assignment": [
    
        ],
        "route": [
                {
                        "target": "::",
                        "mask": 0,
                        "nexthop": "fe80::12f9:20ff:fe3d:de8c",
                        "metric": 512,
                        "valid": 1798,
                        "source": "2400:2410:<secret>00::/56"
                }
        ],
        "dns-server": [
                "2404:1a8:7f01:a::3",
                "2404:1a8:7f01:b::3"
        ],
        "dns-search": [
                "flets-east.jp",
                "iptvf.jp"
        ],
        "neighbors": [
    
        ],
        "inactive": {
                "ipv4-address": [
    
                ],
                "ipv6-address": [
    
                ],
                "route": [
    
                ],
                "dns-server": [
    
                ],
                "dns-search": [
    
                ],
                "neighbors": [
    
                ]
        },
        "data": {
                "passthru": "00170020240401a87f01000a0000000000000003240401a87f01000b0000000000000003001800190a666c6574732d65617374026a7000056970747666026a7000001f0020240401a811020000000000000000000a240401a811020000000000000000000b"
        }
    

    }

    第 1 条附言  ·  231 天前
    抓包时发现了问题。
    odhcp6c 在不对 WAN6 进行任何配置的情况下是正常的,
    但是一旦使用 ip -6 addr add 为 WAN6 对应的 eth 接口手动增加了一个 IPv6 地址,
    在第二次 DHCPv6 服务器发出 dhcpv6 reconfigure message 的时候 odhcp6c 客户端发出的不是 Renew message ,而是 solicit message
    10 条回复    2023-09-02 21:46:37 +08:00
    1423
        1
    1423  
       232 天前
    新建一个 fresh new openwrt 试试,可能是之前配错了什么忘记了
    username1919810
        2
    username1919810  
    OP
       232 天前
    @1423 #1 装好 openwrt 就来测试了。。6 小时整掉线一次
    freebsdjlu
        3
    freebsdjlu  
       232 天前
    用 op 稳定版测,用硬路由测,一步步定位,如果就是 rc 版的问题,就报个 bug
    feng0vx
        4
    feng0vx  
       232 天前 via iPhone
    是不是 wan 口 ipv6 租期问题导致的前缀重新获取
    username1919810
        5
    username1919810  
    OP
       232 天前 via iPhone
    @feng0vx 在抓包观察 DHCPv6 的 Renew 了。很诡异的 bug
    username1919810
        6
    username1919810  
    OP
       232 天前 via iPhone
    @freebsdjlu 感觉不像是 openwrt 的问题(? 毕竟如果是个普遍的问题早就在 issue 里有人提了
    也许是我还没摸清 ISP 加的限制
    dfly0603
        7
    dfly0603  
       231 天前 via iPhone
    感觉 Flets X 好灵(?
    huaxie1988
        8
    huaxie1988  
       231 天前 via Android
    家宽不需要配置 wan6 ,wan pppoe 设置 ipv6 自动就可以了
    username1919810
        9
    username1919810  
    OP
       231 天前 via iPhone
    @huaxie1988 我这不是 pppoe 上网
    username1919810
        10
    username1919810  
    OP
       231 天前 via iPhone
    @dfly0603 搞不懂 今天抓了一天包结果超过 6 小时了还没断 再看看(
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2645 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 05:29 · PVG 13:29 · LAX 22:29 · JFK 01:29
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.