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

有哪款光猫支持光猫拨号后给下级设备发 PD 前缀吗

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

    如题,目前遇到过的光猫拨号都只会给下级设备发/64 的 IPV6 地址,有哪款光猫能配置成直接下发 PD 前缀吗

    18 条回复    2024-02-24 18:26:39 +08:00
    mantouboji
        1
    mantouboji  
       309 天前
    我用过的中国移动光猫 ZTE H3-2s ,破解超密后进配置页面打开 DHCPv6 ,从移动收到/60 的,可以给下级 RouterOS 分配/62 的。但是,分配下去的/62 却有 80%的可能不在那个/60 的范围内,导致路由错误。需要连续关电源重新拨号多次才有可能正确。

    我甚至为此专门给光猫配了一个米家智能插座,开发了一套 RouterOS 脚本去检测,还有一个 HomeAssistant 自动化流程去检测错误并多次开关光猫电源直到正确为止。

    最近受不了了,升级成移动的千兆,换成了一个烽火 HG5143F ,也弄到了超密,进去没有可以配置的地方,还是从运营商得到/60 ,却只给下级 RouterOS 分配一个/64 。下级 RouterOS 只好自己弄成/72 给两个 VLAN 用。

    我朋友家的是上海联通的千兆宽带,光猫是 ZTE F4600U ,也是只能给下级一个/64 的前缀。
    ysc3839
        2
    ysc3839  
       309 天前 via Android
    光猫问题?正常来说拿到 PD 后会通过 SLAAC 下发整个段的,普通 DHCPv6 才会下发单个地址
    yyzh
        3
    yyzh  
       309 天前
    @ysc3839 可能吧.目前用过的友华普通光猫和中兴的 fttr 猫都得开启 dhcpv6 服务器才能下发 pd.只开 slaac 就只下发单/64 地址.
    ysc3839
        4
    ysc3839  
       309 天前 via Android
    @yyzh 没记错的话,SLAAC 并不能下发单个地址,SLAAC 只能下发一个段,具体什么地址是设备进行选择的
    yyzh
        5
    yyzh  
       309 天前
    @ysc3839 应该是,不过至少 openwrt 如果只开 slaac 就拿不到 pd.必须手动改配置文件用 relay 下面的设备才能拿到 v6.
    VxJiahua
        6
    VxJiahua  
       309 天前 via Android
    自己买路由器刷好 op ,默认就能下发 pd
    ac169
        7
    ac169  
       308 天前
    如果我没记错的话: RA 消息里面 PD 的掩码最大的段就是/64,因为 RA 消息的主要目的是让具体自动生成地址. 要完整的 PD 下发是通过 DHCPv6 服务消息来的, 像 OP 这些默认情况都是 DHCPv6 + SLAAC 混合模式,所以很多时候会让人误解. 比如: 你从运营商那里获取到的前缀就是 DHCPv6 实现的,并不是 RA 消息实现的! 所以要实现你的功能, 必须要看光猫是否支持 DHCPv6 服务配置
    ontry
        8
    ontry  
       308 天前
    电信 G7615 ,光猫拨号前缀 56 能给下级路由器/60 ,这是还是得看 PD 前缀给多少
    peasant
        9
    peasant  
       308 天前
    不是光猫不支持下发 PD ,是你的路由器不支持通过 DHCPv6 获取 PD ,我用过的好几款光猫都是能正常下发的,运营商给的/60 光猫给路由器的是/64 只有一款友华的光猫会给路由器/62
    mantouboji
        10
    mantouboji  
       308 天前
    估计楼主自己也不清楚技术概念,所以也没说清楚自己的所谓“下级设备”是什么东西。下面好几层楼的都在瞎扯。

    如果是普通的电脑、手机等等终端设备,本身是不会单独请求前缀的,上级路由器通过 RA 发送一个/64 的前缀,终端设备靠 SLAAC 随机生成后面的 64 位,形成自己的 IPv6 地址。

    只有当“下级设备”是一个二级路由器的时候,才会涉及到申请前缀。比如在 RouterOS 里你可以在/ipv6/dhcp-client 里选申请 address 、prefix 和 info 三者的不同组合。二级路由器申请到一个前缀(一般肯定是要比 64 短的,比如电信给了光猫/56 ,光猫再给二级路由器/60 ;移动给了/60 ,光猫给二级路由器/62 ),然后从这里面再划分出若干个/64 给下面的终端设备。就我的应用情况而言,我的二级路由器上还建了三个 VLAN ,光猫给的/62 可以分成四个/64 ,依次把每个/64 分给一个 VLAN 。每个 VLAN 下面一堆终端共享这个/64 并生成自己的地址。
    dude4
        11
    dude4  
       308 天前
    下级 RouterOS 只好自己弄成/72 给两个 VLAN 用。
    >>>那你的安卓设备如何联网?默认安卓 V6 只支持 slaac ,/72 只能手动路由啊??

    我朋友家的是上海联通的千兆宽带,光猫是 ZTE F4600U ,也是只能给下级一个/64 的前缀。
    >>>这个倒不一定是猫的问题,抠门的联通很多地方默认桥接 PD 也只有/64
    dude4
        12
    dude4  
       308 天前
    @mantouboji 回复错了,@你一下……
    mantouboji
        13
    mantouboji  
       308 天前
    @dude4 我没有什么安卓设备,当时也没深入测试,看了一眼几个设备上上的地址依旧是/64 。然后我就弄成桥接了,直接用 RouteOS 拨号处理,不愿意伺候这种破玩意儿。
    gy6221
        14
    gy6221  
    OP
       308 天前
    @mantouboji #10 我这里的下级设备指的是路由器,例如 openwrt 。我手上的光猫是菊花的 HG2543C1 和友华的 PT924 ,在光猫拨号时 OpenWrt 都只能拿到/64 的地址。改桥接的话路由器能拿到/60
    mantouboji
        15
    mantouboji  
       308 天前
    @gy6221 所以你到底关心的是什么?是二级路由器里接上级网络那个接口的地址(这个肯定是/64 ),还是这个路由器获得的用来给自己下面的终端设备分配地址用的前缀?

    这是我的一个接在 RB4011 下面的二级路由器(跑 RouterOS 7.14rc2 的 J1900 工控机)的 IPv6 地址:
    ```
    [yaofei@ROSJ1900] > /ipv6/address/print
    Flags: D - DYNAMIC; G - GLOBAL, L - LINK-LOCAL
    Columns: ADDRESS, FROM-POOL, INTERFACE, ADVERTISE
    # ADDRESS FROM-POOL INTERFACE ADVERTISE
    0 G 240e:38a:2f8f:f040::1/64 v6pool bridge1 yes
    1 G fd80:28:600:40::1/64 wg1 yes
    2 G fd80:28:600:41::1/64 dockers yes
    3 DL fe80::47fb:6149:26a0:95ea/64 wg1 no
    4 D ::1/128 lo no
    5 DL fe80::ee8:6cff:fe67:391f/64 bridge1 no
    6 DL fe80::608a:46ff:fe33:a18c/64 dockers no
    7 DL fe80::ee8:6cff:fe67:391d/64 ether1 no
    8 DG 240e:38a:2f8f:f000:ee8:6cff:fe68:391d/64 ether1 no

    [yaofei@ROSJ1900] > /ipv6/pool/print
    Flags: D - DYNAMIC
    Columns: NAME, PREFIX, PREFIX-LENGTH, EXPIRES-AFTER
    # NAME PREFIX PREFIX-LENGTH EXPIRES-AFTER
    0 D v6pool 240e:38a:2f8f:f040::/60 62 1d22h37m38s

    ```


    你可以看到接上级网络的 ether1 的地址是 f000 ,从上级得到的前缀池是 f040/60 ,然后从里面取出第一个/64 也就是 f000/64 给 bridge1 配置地址。
    jim9606
        16
    jim9606  
       308 天前
    遇到跟 OP 一样的问题,由于别的原因要用光猫拨号,ISP 下发/60 前缀但作为二级路由的 openwrt(23.06.2)拿到的是/64 前缀,不过因为我没有设三级路由的需要所以就没管这点了。
    我这边遇到的问题是隔一段时间二级路由下面就没了 GUA 前缀,所有 GUA 地址 deprecated ,查 ifstatus lan 得知前缀 preferred=0 但 valid>0 ,重启 wan6 接口可恢复,不知道怎么解决。

    光猫上的 IPv6 信息:
    IPv6: 2XXX:XXXX:603:b625:56ce:82ff:feXX:XXXX
    前缀: 2XXX:XXXX:63b:c340::/60
    前缀来源: PrefixDelegation
    下发方式:RA/DHCPv6
    首选/有效时间: 3600/1209600

    Openwrt 二级路由的信息:
    wan6:
    IPv6: 2XXX:XXXX:63b:c340:1e40:e8ff:feXX:XXXX/128
    IPv6-PD: 2XXX:XXXX:63b:c341::/64
    lan:
    IPv6: 2XXX:XXXX:63b:c341::1/64
    IPv6: fd26:aa84:c3c8:1::1/64 (实测有没有 ULA 并无影响)
    yjzll
        17
    yjzll  
       307 天前
    @ac169 赞,思路清晰,看了很多 ipv6 文章,少有说清楚的
    yjzll
        18
    yjzll  
       307 天前
    @jim9606 软路由通病,开源的都有这个问题,爱快,ros 都看到这个报错情况,光猫拨号,光猫仅管理其 lan 口下的设备,穿透上来的他老爷子不管,所以,一段时间后 wan6 没了,临时的办法是,所有穿透上来的设备,自己 ping6 二级路由器 wan 口的 ipv6 地址,定时 ping ,而且这里 ping ,那里还要 ping ,不是一台 ping ,大家都恢复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   922 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 21:24 · PVG 05:24 · LAX 13:24 · JFK 16:24
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.