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

求助关于 ros v7 获取不了 ipv6 前缀的问题

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

    成都电信。光猫拨号 or ikuai 均正常。
    使用 ros 配置 dhcpv6 client 获取 v6 前缀时卡 searching ,不能 bound 。
    debug 日志显示,每个端口前两次可以获取到 prefix ,但是最后都会报错提示 “bad server DUID”。两次之后便提示“NOPREFIXAVAIL”。
    之前有在恩山看到类似的问题,但是似乎也没有解决。

    28 条回复    2024-04-10 01:29:35 +08:00
    patrickyoung
        1
    patrickyoung  
       301 天前 via iPhone
    1. log 那里 topic: dhcp, dest: memory ,打一下 ros 的 dhcp 包看一下
    2. RFC3633: https://datatracker.ietf.org/doc/html/rfc3633

    > The requesting router subnets the delegated prefix and assigns the
    longer prefixes to links in the subscriber's network. In a typical
    scenario based on the network shown in Figure 1, the requesting
    router subnets a single delegated /48 prefix into /64 prefixes and
    assigns one /64 prefix to each of the links in the subscriber
    network.
    > An IA_PD is a construct through which a delegating router and a
    requesting router can identify, group and manage a set of related
    IPv6 prefixes.

    成都电信我没记错只给了 /64 ,我现在换了其他运营商了,印象中 PD 是不能继续再分了。

    供参考。
    OLOrz1984
        2
    OLOrz1984  
    OP
       300 天前
    @patrickyoung https://gist.github.com/OLOrz996/a1ab135b6c92e87575d1ef10d1c6b4c6 ,这个上午就打出来了,有获取到 prefix ,但是最后还是报错了
    raysonx
        3
    raysonx  
       300 天前   ❤️ 3
    先说结论,OP 所使用的当地运营商的 DHCPv6 服务器返回的消息格式存在 bug 。

    按照 DHCPv6 的规范,服务器和客户端的 DUID 的组成格式为:2 个字节的 type code ,外加 1-128 字节可变长度的 identifier
    (见 https://datatracker.ietf.org/doc/html/rfc8415#section-11 )。

    而 OP 给出的日志:
    10:28:29 dhcp,debug,packet -> clientid: 00030001 0050568c 5e2f
    10:28:29 dhcp,debug,packet -> serverid: 6660

    客户端( RouterOS )的 DUID 是 00030001 0050568c 5e2f ,服务端的 DUID 是 6660 。
    按照规范解读,客户端的 type code 是 0003 (DUID-LL),hardware type 是 0001 ,后面的 0050568c 5e2f 是 link-layer 地址。
    而服务端给的 DUID 是 6660 ,这只能解读为 type code 是 6660 ( RFC 中没有定义,应该是乱填的),然后没了。按照 RFC 的规定后面还要跟 1-128 字节的 identifier 。

    所以结论就是,你的运营商的 DHCPv6 服务器响应的消息里 Server DUID 是乱填的(不知道谁开发服务器连 RFC 都不遵守),连长度都不对。RouterOS 报错且忽视了服务器的回应。

    根本的解决方法是让运营商修服务器(可能性太低)或者换运营商。但我建议提出向 RouterOS 提一个 bug 吧,让 RouterOS 忽略这个错误就行了。
    neroxps
        4
    neroxps  
       300 天前 via iPhone
    # 允许 DHCPv6 客户端尝试前缀代理
    /ipv6 firewall filter add action=accept chain=input \
    comment="Accept DHCPv6 client prefix delegation" \
    dst-port=546 protocol=udp src-address=fe80::/10

    先确认 ipv6 dhcp client 端口在防火墙那边 input 是允许先吧。
    OLOrz
        5
    OLOrz  
       300 天前
    @raysonx 感谢,看来全国电信都是这样的问题……之前看见有人发上海电信的 duid 也是 6660

    @neroxps 和这个无关哈,我 v6 防火墙没有任何规则,是裸奔的
    KexyBiscuit
        6
    KexyBiscuit  
       300 天前   ❤️ 1
    @OLOrz 并不是,我这上海电信是 serverid: 00010006 7355b278 (link-layer address redacted),符合规范
    OLOrz
        7
    OLOrz  
       300 天前
    @KexyBiscuit 我是看到恩山这个帖子的,截图里也是 6660
    https://www.right.com.cn/forum/forum.php?mod=viewthread&tid=8278390
    KexyBiscuit
        8
    KexyBiscuit  
       299 天前
    @OLOrz 看来不同 BRAS 情况还不一样,可能是新采购的设备有问题?
    OLOrz
        9
    OLOrz  
       299 天前
    @KexyBiscuit 也有可能,不过我已经联系装维了,但是感觉找他们也没用。目前不知道该从什么渠道去问问
    letmefly
        10
    letmefly  
       299 天前
    估计 op 是用软路由,既然如此,为什么不用 CHR6.48.7 Long-term 版本?免费的正版,bug 还少。
    Waffle
        11
    Waffle  
       299 天前
    @letmefly CHR 免费授权是限速到 1Mbps 的吧,现在不一样了么?

    官网: https://help.mikrotik.com/docs/display/ROS/Cloud+Hosted+Router%2C+CHR#CloudHostedRouter,CHR-Freelicenses
    letmefly
        12
    letmefly  
       298 天前
    @Waffle 不会啊,一直能用。你不理它,它会每天给你续命的,或者你可以重新生成 ID ,再来 2 个月的免费授权。
    letmefly
        13
    letmefly  
       298 天前
    哦,你说的免费限速到 1Mbps 只是在你激活之前,例如你用 p1 授权到期了,它不会回到重新限速 1Mbps 的。
    jcxq5200
        14
    jcxq5200  
       298 天前 via iPhone
    我之前 7.2 获取 ipv6 没有问题,但是我把 IPv6 关了。近期成都电信升级新型城域网,我 ros 也升级到了 7.10 ,打算在 ros 里开启 ipv6 结果和楼主一样的情况。
    OLOrz1984
        15
    OLOrz1984  
    OP
       297 天前
    @jcxq5200 要是有解决办法了麻烦给说一声哈
    raysonx
        16
    raysonx  
       297 天前
    不知道 OP 所使用的 ROS 具体版本和硬件是什么,可以试试给 MikroTik 提一 bug 让其对 Server DUID
    的检查不要那么严格: https://help.mikrotik.com/servicedesk/servicedesk/customer/portal/1
    或者我来代为提交 bug 也可以,不过 MikroTik 对个人用户提的 bug 响应时间很慢就是了。
    dfly0603
        17
    dfly0603  
       297 天前 via iPhone
    我觉得应该让运营商那边修复这个问题,ROS 这边改的话总觉得很奇怪……
    OLOrz1984
        18
    OLOrz1984  
    OP
       295 天前
    @raysonx 感谢,如果有空的话就麻烦帮忙提个 bug 吧,随缘处理了。反正我也给装维反馈了,但是感觉用处不大。
    OLOrz1984
        19
    OLOrz1984  
    OP
       287 天前
    最新情况:
    1. 给 mikrotik 反馈了,目前没有响应。https://help.mikrotik.com/servicedesk/servicedesk/customer/portal/1/SUP-120873
    2. 也给电信反馈了问题,但目前刚流转到分公司装维那里,说帮我反馈给后台。
    OLOrz1984
        20
    OLOrz1984  
    OP
       286 天前
    再次更新情况
    我描述的问题:
    https://sm.ms/image/fOLrcimdnuaRENW
    电信的回复:
    https://sm.ms/image/YJ6VlxT1Edrp8jD
    响应很快,但是看起来电信并没有关注 server id 的问题,只是草草检查了一下……果然不能抱有太高的期望……
    neroanelli
        21
    neroanelli  
       282 天前
    我有 3 台 mikrotik 设备,其中 1 台连接 1 根电信和 1 根联通宽带,其他 2 台各自连接 1 根电信宽带。
    现在的情况是:
    neroanelli
        22
    neroanelli  
       282 天前
    @neroanelli
    1 、联通宽带可以获取到 ipv6
    2 、2 根电信宽带可以获取到 ipv6
    3 、1 根电信宽带 2-3 个月以前可以获取到 ipv6 ,但是现在获取不到了,故障信息和你的一致。
    4 、至于日志信息,无法获取 ipv6 的那台 mikrotik 的信息和你提供的差不多。其他能正常获取的 server id 则正常。
    5 、对比了 3 组电信宽带的光猫设置,internet 连接都是桥接。但是有一个区别是:无法获取 ipv6 的那台光猫,itv 的设置是获取 ipv4/ipv6 ,其他的 itv 都是获取 ipv4 。但是我现在还没找到方法去修改这台光猫的 itv 参数,也无法验证这个设置是否有影响。
    6 、区域位置和你一样,看到你的帖之后才发现有一台获取不到了 ipv6 。信息不一定准确和完整,可以作参考。
    neroanelli
        23
    neroanelli  
       282 天前
    @neroanelli
    itv 和 internet 其实做了 vlan 隔离,不应该是这个问题。另外我的 3 台设备在不同的区域,估计和不同区域的电信终端设备配置有关了。
    OLOrz1984
        24
    OLOrz1984  
    OP
       282 天前
    @neroanelli
    首先确认了下,我的 itv 是 ipv4 。
    然后根据之前电信工程师沟通的情况,华府大道这边 6 月有两次割接。我感觉可能是这个导致。
    但是他对 BAS 那边不清楚,也只能帮我反馈,等后台的人处理。
    neroanelli
        25
    neroanelli  
       282 天前 via iPhone
    @OLOrz1984 #24 恩,我的三根电信分别在高新、双流、天府新区,就天府新区的获取不到了
    binmiui
        26
    binmiui  
       165 天前
    @OLOrz1984 挖个坟,解决没有呢
    jalena
        27
    jalena  
       115 天前
    @neroanelli 龙泉驿这边也获取不到,但宽带拨号能获取到 IPv6
    BI4NBN
        28
    BI4NBN  
       10 天前
    @OLOrz1984 这个问题要反馈给 华为 中兴 bras 运维那边才可以 也就是说起码是市级管理员
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2647 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 05:10 · PVG 13:10 · LAX 22:10 · JFK 01:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.