odhcpd NDP 中继不代理仅包含 SLAAC 地址

作者: Muione创建于 2026年6月21日更新于 2026年6月23日
标签bugupstream issues

描述错误

当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