广东移动,路由器拨号无法获取 IPv6 前缀,光猫拨号可以,何解?

9 天前
 MFWT

一直以来都是 NATv6 凑合着用,但是最近想要让下游的 BT 机器也有 v6 入站的能力,感觉还是研究一下比较好

环境

光猫是移动的 H3-2r ,已经干进去了 Telnet (但无从下手),改了桥接

主路由是一台跑了 Debian 12 的小主机,PPPoE 拨号可以正常拿到双栈地址( v6 是/64 的地址)

状况

按照网上教程使用 wide-dhcpv6-client ,却无法获取 IPv6 PD 。手动运行 dhcp6c 也拿不到前缀,表现为远端无响应:

root@router:~# dhcp6c -dDfi ppp0

Feb/06/2025 16:14:06: get_duid: extracted an existing DUID from /var/lib/dhcpv6/dhcp6c_duid: 00:01:00:01:2e:3a:7b:ae:*:*:*:*:*:*
Feb/06/2025 16:14:06: dhcp6_reset_timer: reset a timer on ppp0, state=INIT, timeo=0, retrans=720
Feb/06/2025 16:14:07: client6_send: a new XID (58d61a) is generated
Feb/06/2025 16:14:07: copy_option: set client ID (len 14)
Feb/06/2025 16:14:07: copy_option: set elapsed time (len 2)
Feb/06/2025 16:14:07: client6_send: send information request to ff02::1:2%ppp0
Feb/06/2025 16:14:07: dhcp6_reset_timer: reset a timer on ppp0, state=INFOREQ, timeo=0, retrans=987

# 之后都是不断的重试

尝试过

  1. ping ff02::1:2%ppp0(通不通过-I 指定接口都尝试过),无响应

  2. 切换为光猫拨号,就可以在光猫后台看到前缀,下级路由也可以拿到前缀,继续分地址(之所以不使用光猫拨号,原因在于,此时下级设备分到的 IPv6 地址的入站访问会被光猫拦截,即使是已经把所有 WebUI 上能找到的和防火墙有关的开关全部关闭,外部网络路由追踪可以发现,显示到光猫那一跳,再往下就没有任何回应了。而如果是路由器拨号,那么就可以一路直通到路由器,访问服务也正常)

我的问题:

  1. 可能会是因为光猫拨号时候有加入其他的参数进行鉴权吗?
  2. 可能会和光猫 MAC 地址什么的有关系吗?
  3. 这个小主机 WAN 口并不是直接接入路由器,而是类似 Trunk 口,接入网管交换机,通过 VLAN 一分四,再选一个接口( 本例中 ppp0 对应的是 eth1.10 )连接到光猫,会和这个有关系吗?
  4. 以前使用 OpenWRT 软路由的时候没这么多幺蛾子,我需要尝试更换为 OpenWRT-x86 吗?

后注:

如有需要补充日志的,请留言指出,谢谢!

1031 次点击
所在节点    宽带症候群
19 条回复
MFWT
9 天前
另:尝试过在分配给路由器 WAN 口的/64 地址中,『假装』前 64 位是前缀,自己补上后 64 位,分配给接口,依然可以使用,外部也可以正常接入(包括此时 WAN 口实际上打开了临时地址功能,也能正常使用,可能上级做了整个/64 的路由过来?)。我在想可不可以:

1. 用同样的方法拼接一个/128 的地址,交给下级设备
2. 同时,路由器上做好静态路由,目标地址为这个/128 的,路由到 LAN 口

这种办法除了麻烦之外,还会有什么弊端吗
titanium98118
9 天前
没折腾过 debian 拨号,用 openwrt 拨号就能自动获取到 PD /60
billytom
8 天前
我也是广东移动,经常搞着搞着甚至连 ipv6 地址都没有了,这时候需要光猫重新注册
djw123
8 天前
0752 表示还是 v6 老实用 OP 吧
djw123
8 天前
同时建议看下是不是中兴 vbras ,可能存在响应兼容性问题
MFWT
8 天前
@djw123 这个要怎么判断呢
djw123
8 天前
@MFWT PPPoE 查询对端响应信息就可以判断
Ggmusic
8 天前
用 2 楼的办法,装个 openwrt 虚机拨号,如果不想放弃 Debian ,可以抓 openwrt 的包,和 Debian 的做比较,修改 widedhcpv6client 配置。
如果想用一楼凑合,可以看看 v6 的 ndp 代理
htfcuddles
8 天前
配置 dhcp6c.conf 不贴怎么分析,谁知道有没有请求 pd
MFWT
7 天前
@htfcuddles

profile default
{
information-only;
request domain-name-servers;
request domain-name;
script "/etc/wide-dhcpv6/dhcp6c-script";
};

interface ppp0 {
send ia-pd 0;
};

id-assoc pd 0 {
prefix ::/64 infinity;
prefix-interface eth0 {
sla-len 4;
ifid 1;
};
};


这个是 dhcp6c.conf 的内容,不确定是不是缺少了什么内容?
htfcuddles
7 天前
以下方法逐个试试:

1. 移动可能不支持无穷大的租期时间,修改为 prefix ::/64 3600;

2. 删除 ifid 1

3. /etc/ppp/options 添加
+ipv6
ipv6cp-accept-local
ipv6cp-accept-remote

4.换成 odhcp6c ( op 同款)
liaoyuan6666
7 天前
没试过,个人喜欢爱快或者 openwrt
MFWT
6 天前
@htfcuddles
经尝试,均无效,其表现都是 ff02::1:2 无响应
所使用的 odhcp6c 包是:sbyx/odhcp6c
所使用的命令是:
1. odhcp6c -v -P 0 ppp0
2. odhcp6c -v -P 60 ppp0
3. odhcp6c -v -N try -P 0 ppp0
运行后,命令行均无输出
xqzr
6 天前
tcpdump -ni ppp0 port \(546 or 547\)
MFWT
6 天前
@xqzr
root@router:~# tcpdump -ni ppp0 port \(546 or 547\)

tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on ppp0, link-type LINUX_SLL (Linux cooked v1), snapshot length 262144 bytes
23:36:23.657373 IP6 fe80::1060:9335:2d8:eba0.546 > ff02::1:2.547: dhcp6 solicit
23:36:23.659679 IP6 fe80::a67b:2cff:fe1f:a1f.547 > fe80::1060:9335:2d8:eba0.546: dhcp6 advertise
23:36:24.703343 IP6 fe80::1060:9335:2d8:eba0.546 > ff02::1:2.547: dhcp6 solicit
23:36:24.705625 IP6 fe80::a67b:2cff:fe1f:a1f.547 > fe80::1060:9335:2d8:eba0.546: dhcp6 advertise
23:36:26.749296 IP6 fe80::1060:9335:2d8:eba0.546 > ff02::1:2.547: dhcp6 solicit
23:36:26.752145 IP6 fe80::a67b:2cff:fe1f:a1f.547 > fe80::1060:9335:2d8:eba0.546: dhcp6 advertise

547 端口有回应,但是....似乎 dhcp6c 并不认
MFWT
6 天前
@xqzr 查看 ppp0 口配置,可以确定 fe80::a67b:2cff:fe1f:a1f 就是对端
MFWT
6 天前
@xqzr 已检查 net.ipv6.conf.ppp0.accept_ra = 2
MFWT
6 天前
@htfcuddles 如最新回复所示,抓包发现对端路由器 567 端口已经回包,tcpdump 可以看到,但是 dhcp6c 和 odhcp6c 均无任何反应,似乎就是没有包过来一样
MFWT
6 天前
@djw123
@Ggmusic
@htfcuddles
@xqzr

感谢各位老哥的帮助,问题已解决

原因:原本为了防止外网扫描内网主机的 ip6tables 规则过于粗糙,屏蔽了 UDP 1:1024 的入站请求。单独放行 UDP 546 端口入站后问题解决

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://tanronggui.xyz/t/1109379

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX