我是用的自购的光猫和 Mikrotik hAP ax2 路由器,光猫是桥接的,用路由器拨号。位置在鹤沙航城。
昨天凌晨断网将近一分钟,我重置 PPPoE 密码之后重拨连上了(不知道是不是无效操作),重连之后公网 IPv4 变成了 58.37
网段,Active AC name 变成了 SH-SH-GD-VBASCP-1.NMAN.V6000
,然后就发现拿不到 IPv6 前缀了。
IPv6 配置为
/ipv6 dhcp-client add \
add-default-route=yes \
allow-reconfigure=no \
check-gateway=none \
default-route-distance=1 \
default-route-tables=main \
dhcp-options="" \
dhcp-options="" \
disabled=no \
interface="China Telecom" \
pool-name=ipv6_pool \
pool-prefix-length=60 \
prefix-address-lists="" \
prefix-hint=::/60 \
request=prefix \
use-interface-duid=yes \
use-peer-dns=no \
validate-server-duid=no
打开 dhcp, packet, debug
日志看到如下输出:
2025-07-17 01:06:47 dhcp,debug,packet send China Telecom -> ff02::1:2%29
2025-07-17 01:06:47 dhcp,debug,packet type: solicit
2025-07-17 01:06:47 dhcp,debug,packet transaction-id: 5ba3d8
2025-07-17 01:06:47 dhcp,debug,packet -> clientid: 00030001 00000000 0000
2025-07-17 01:06:47 dhcp,debug,packet -> elapsed_time: 0
2025-07-17 01:06:47 dhcp,debug,packet -> rapid_commit: [empty]
2025-07-17 01:06:47 dhcp,debug,packet -> ia_pd:
2025-07-17 01:06:47 dhcp,debug,packet t1: 0
2025-07-17 01:06:47 dhcp,debug,packet t2: 0
2025-07-17 01:06:47 dhcp,debug,packet id: 0x9
2025-07-17 01:06:47 dhcp,debug,packet -> ia_prefix:
2025-07-17 01:06:47 dhcp,debug,packet prefix: ::/60
2025-07-17 01:06:47 dhcp,debug,packet valid time: 0
2025-07-17 01:06:47 dhcp,debug,packet pref. time: 0
2025-07-17 01:06:48 dhcp,debug,packet send China Telecom -> ff02::1:2%41
2025-07-17 01:06:48 dhcp,debug,packet type: solicit
2025-07-17 01:06:48 dhcp,debug,packet transaction-id: 5ba3d8
2025-07-17 01:06:48 dhcp,debug,packet -> clientid: 00030001 00000000 0000
2025-07-17 01:06:48 dhcp,debug,packet -> elapsed_time: 1
2025-07-17 01:06:48 dhcp,debug,packet -> rapid_commit: [empty]
2025-07-17 01:06:48 dhcp,debug,packet -> ia_pd:
2025-07-17 01:06:48 dhcp,debug,packet t1: 0
2025-07-17 01:06:48 dhcp,debug,packet t2: 0
2025-07-17 01:06:48 dhcp,debug,packet id: 0x9
2025-07-17 01:06:48 dhcp,debug,packet -> ia_prefix:
2025-07-17 01:06:48 dhcp,debug,packet prefix: ::/60
2025-07-17 01:06:48 dhcp,debug,packet valid time: 0
2025-07-17 01:06:48 dhcp,debug,packet pref. time: 0
2025-07-17 01:06:49 dhcp,debug,packet secs = 20
2025-07-17 01:06:49 dhcp,debug,packet ciaddr = 0.0.0.0
2025-07-17 01:06:49 dhcp,debug,packet chaddr = D4:01:C3:37:A1:13
2025-07-17 01:06:49 dhcp,debug,packet Host-Name = "MikroTik"
2025-07-17 01:06:49 dhcp,debug,packet Msg-Type = discover
2025-07-17 01:06:49 dhcp,debug,packet Parameter-List = Subnet-Mask,Classless-Route,Router,Static-Route,Dom
ain-Server,NTP-Server,CAPWAP-Server,Vendor-Specific
2025-07-17 01:06:49 dhcp,debug,packet Client-Id = 01-D4-01-C3-37-A1-13
也试着给电信装维师傅发了短信,把宽带编号发他之后,就再没回复了。
1
boris1993Jr OP 神奇,刚刚 PPPoE Scan 又只能搜到一个 `SH-SH-NHXC-MSE-1.MAN.NE40E` 了,重拨连上这个之后 IPv6 前缀就能拿得到。
|
2
boris1993Jr OP 再更新,等了会又能搜到 `SH-SH-GD-VBASCP-1.NMAN.V6000`,再重拨连上它,然后 IPv6 前缀也能拿到了。
把 IPv6 DHCP Client 禁用再启用,尝试重新绑定,也能再次拿到前缀。 等几天看看,是不是电信半夜偷偷把问题修复了。 |
3
boris1993Jr OP 顺便贴出来当前生效的配置
``` /ipv6 dhcp-client add add-default-route=yes allow-reconfigure=no check-gateway=none default-route-distance=1 default-route-tables=main dhcp-options="" dhcp-options="" disabled=no interface="China Telecom" pool-name=ipv6_pool pool-prefix-length=60 prefix-address-lists="" prefix-hint=::/0 request=prefix use-interface-duid=yes use-peer-dns=no validate-server-duid=no ``` 以及日志(拿到的前缀我打了码) ``` 2025-07-17 01:42:02 dhcp,debug,packet send China Telecom -> ff02::1:2%43 2025-07-17 01:42:02 dhcp,debug,packet type: solicit 2025-07-17 01:42:02 dhcp,debug,packet transaction-id: 4eddf1 2025-07-17 01:42:02 dhcp,debug,packet -> clientid: 00030001 00000000 0000 2025-07-17 01:42:02 dhcp,debug,packet -> elapsed_time: 0 2025-07-17 01:42:02 dhcp,debug,packet -> rapid_commit: [empty] 2025-07-17 01:42:02 dhcp,debug,packet -> ia_pd: 2025-07-17 01:42:02 dhcp,debug,packet t1: 0 2025-07-17 01:42:02 dhcp,debug,packet t2: 0 2025-07-17 01:42:02 dhcp,debug,packet id: 0x9 2025-07-17 01:42:02 dhcp,debug,packet recv client: China Telecom fe80::d6c1:c8ff:fe9a:7710 -> fe80::7886:2236:0:9 2025-07-17 01:42:02 dhcp,debug,packet type: reply 2025-07-17 01:42:02 dhcp,debug,packet transaction-id: 4eddf1 2025-07-17 01:42:02 dhcp,debug,packet -> clientid: 00030001 00000000 0000 2025-07-17 01:42:02 dhcp,debug,packet -> serverid: 6660 2025-07-17 01:42:02 dhcp,debug,packet -> rapid_commit: [empty] 2025-07-17 01:42:02 dhcp,debug,packet -> dns_servers: 2025-07-17 01:42:02 dhcp,debug,packet 240e:58:c000:1600:180:168:255:118 2025-07-17 01:42:02 dhcp,debug,packet 240e:58:c000:1000:116:228:111:18 2025-07-17 01:42:02 dhcp,debug,packet -> ia_pd: 2025-07-17 01:42:02 dhcp,debug,packet t1: 43200 2025-07-17 01:42:02 dhcp,debug,packet t2: 69120 2025-07-17 01:42:02 dhcp,debug,packet id: 0x9 2025-07-17 01:42:02 dhcp,debug,packet -> status: 0 - success 2025-07-17 01:42:02 dhcp,debug,packet msg: SUCCESS 2025-07-17 01:42:02 dhcp,debug,packet -> ia_prefix: 2025-07-17 01:42:02 dhcp,debug,packet prefix: <REDACTED>::/56 2025-07-17 01:42:02 dhcp,debug,packet valid time: 86400 2025-07-17 01:42:02 dhcp,debug,packet pref. time: 86400 2025-07-17 01:42:02 dhcp,debug,packet secs = 24 2025-07-17 01:42:02 dhcp,debug,packet ciaddr = 0.0.0.0 2025-07-17 01:42:02 dhcp,debug,packet chaddr = D4:01:C3:37:A1:13 2025-07-17 01:42:02 dhcp,debug,packet Host-Name = "MikroTik" 2025-07-17 01:42:02 dhcp,debug,packet Msg-Type = discover 2025-07-17 01:42:02 dhcp,debug,packet Parameter-List = Subnet-Mask,Classless-Route,Router,Static-Route,Domain-Server,NTP-Server,CAPWAP-Server,Vendor-Specific 2025-07-17 01:42:02 dhcp,debug,packet Client-Id = 01-D4-01-C3-37-A1-13 ``` |
![]() |
4
billytom 62 天前
重新注册光猫
|
![]() |
5
filifelet 62 天前
升级 ROS 到最新版本,7.18 之前跟中兴的 VBRAS 有冲突的。把 ipv6-DHCP CLIENT-advanced-validate server duid 的勾去掉试试。
|
6
children009 62 天前
估计是 ros 的问题,我也试过 x86 ros 的多个版本,有时候挺费劲的,改用爱快+op
|
7
boris1993Jr OP @filifelet #5 我已经升级到 7.19.2 ,也关掉了 validate server DUID 。昨天一开始怎么样都拿不到前缀,后来 SH-SH-GD-VBASCP-1.NMAN.V6000 短暂消失一分多钟又出现之后,再重连就能拿到。我怀疑是不是电信半夜给它更新了固件。
@children009 #6 也搜到过说中兴的 vBRAS 对 IPv6 实现有问题,导致 RouterOS 跟它不兼容的帖子。我的版本已经可以不交验服务端 DUID ,起初各种测试也都拿不到前缀。后来 SH-SH-GD-VBASCP-1.NMAN.V6000 短暂消失一分多钟又出现之后,再重连就能拿到。我怀疑是不是电信半夜给它更新了固件。换路由器就不考虑了,毕竟是硬路由,换设备又是一顿折腾...... |
8
erfesq 62 天前 via Android
没有直接投诉,v6 是要求推进的,一投诉一个准
|
![]() |
9
keyfunc 62 天前
pppoe client 可以设置 ac-name 用搜到的非 vbras 那个
|
10
supermaxisme 60 天前 ![]() 第一段日志,ROS 没有收到对端的 reply
第二段日志,ROS 收到了,鉴于你也设置了 validate-server-duid=no 所以就使用这个 reply 中的信息(前缀 有效时间等等),即便 DUID 依然是不合法的。 只能说 ZTE 设备的这个配置模板全国通用 很令人无语。。。。 另外建议不要通过手动 scan 然后选择 PPPOE server 的方式连接 (即手动设置 PPPOE server name) 如果 server name 有设置,ROS 只会使用这个 server ,通过 PPPOE 发现的其他 server 都会被忽略掉。 参考我的帖子(历史信息) https://www.v2ex.com/t/998644#reply34 |
11
boris1993Jr OP @supermaxisme #10 刚刚手欠重新开关了下 IPv6 的 DHCP 客户端,发现又拿不到了
我也觉得手动指定 AC Name 不靠谱,万一哪天老的 PPPoE 服务器下线,那我不还是得改么 然后又跑了下 PPPoE Scan ,结果又搜不到 vBRAS 的那条了,不知道是不是电信在搞什么测试...... |
12
supermaxisme 59 天前 ![]() @boris1993Jr
PPPoE 服务器切换,盲猜是电信在逐步下线华为的那个硬件服务器 NE40E ,将用户割接到 ZTE 的 V6000 (跑在虚拟化上),然后你的小区正在割接过程当中。。。 V6000 是虚拟化的访问控制器( AC ),它上面可能跑着几十万用户,电信没有什么十分必要的情况不会动的 ( ZTE 驻电信的外包运维是这么说的)。 造成 DUID 出问题的原因在于,华为的硬件服务器默认会使用服务器网卡(硬件) MAC 地址生成 DUID ,这样无论如何都会生成一个“合法”的 DUID (格式上合法)。 而 V6000 是完全虚拟化的,按照电信的配置文件 (之前看过截屏) 是手动指定的 (著名的 666 - 注意不是 6660 - 6660 很可能是某个中间过程 ROS? 自动补全的) |