odhcpd NDP 中继不代理仅包含 SLAAC 地址
描述错误
当ImmortalWrt被配置为带有IPv6中继模式(NDP中继模式)的二级路由器时,odhcpd未能为通过纯SLAAC获取IPv6地址的设备注册NDP代理条目. 使用 DHCPv6 的设备是正确代理的,但 SLAAC 唯一的设备(如 Linux 机器使用默认内核 SLAAC)在 NDP 代理表格中缺失,导致这些设备没有IPv6 连接.
QQ 不朽版本
r37854-4b24da3b4c5c (中文(简体) ).
不朽的释放
25.12.0 国家
非致命目标/次级目标
x86/64 (中文(简体) ).
QQ 设备
QEMU标准PC (Q35 + ICH9, 2009).
图像类型
官方下载的图像
- 复制步骤
□ 配置
`/etc/配置/dhcp':
dhcp.lan=dhcp (英语).
dhcp.lan.interface='lan' (英语).
dhcp.lan.ra="中继" (中文(简体) ).
dhcp.lan.dhcpv6="中继" (中文(简体) ).
dhcp.lan.ndp='relay' (英语).
dhcp.wan6=dhcp (英语).
dhcp.wan6. 界面='wan6' (中文(简体) ).
dhcp.wan6.ra="中继" (中文(简体) ).
dhcp.wan6.dhcpv6="中间" (中文(简体) ).
dhcp.wan6.ndp='relay' (英语).
dhcp.wan6. 大师为"一".启用 IPv6 转发 :
#猫/蛋白/sys/net/ipv6/conf/ all/前置
1个实际行为
`odhcpd' NDP继电器只登记通过DHCPv6获得地址的设备的代理条目。 代理表格中只缺少SLAAC设备,导致这些设备的IPv6连接中断.
QQ 设备没有 IPv6 连接
通过纯 SLAAC 获取地址的设备(如 Linux 有默认内核 SLAAC, “ accept ra=1” ) 接收一个有效的全局 IPv6 地址, 但 ** 缺少 NDP 代理表 ** :
# ip -6 nigh 显示代理
#( SLAAC 唯一的设备没有条目)SLAAC设备有一个有效的全局地址:
inet6 240e:b8f:961d:ef00:be24:11ff:fe07:8b7c/64 范围全局动态 mngtmpaddr 无前缀路由但无法进入互联网:
6-c 3 2001:4860:4860:8888
传送了6个包,收到0个包,损失100%- 预期行为
`odhcpd' NDP中继器应搜索所有下游IPv6地址,包括通过SLAAC获得的地址,并在每个地址的WAN接口上自动注册NDP代理条目. NDP中继的窥探逻辑不应该完全依靠DHCPv6来发现下游地址.
XQQ 设备有 IPv6 连接
通过 DHCPv6 请求地址的设备( 如 Huawei AX3 路由器) 在 NDP 代理表格中正确注册 :
# ip -6 nigh 显示代理
240e:b8f:961d:ef00:2681:c7ff:fec2:7c0a dev eth0 代用词这些设备可以毫无问题地访问IPv6互联网.
补充信息
□ 分析
在 ImmortalWrt WAN 接口上的 tcpdump (eth0)
当 SLAAC 唯一的设备发送 ICMPv6 回声请求时,包由 ImmortalWrt 正确传输到 WAN 接口:
23:43:22 IP6 240e:b8f:961d:ef00:be24:11ff:fe07:8b7c > 2001:4860:4860:8888:ICMP6,回声请求
:23:43:23 IP6 240e:b8f:961d:ef00:be24:11ff:fe07:8b7c > 2001:4860:4860:8888:ICMP6,回声请求
23:43:24 IP6 240e:b8f:961d:ef00:be24:11ff:fe07:8b7c > 2001:4860:4860:8888: ICMP6,回声请求但是,** 没有收到回音答复**。 这个 . . . . . . .
内容来源: immortalwrt/immortalwrt