如何在路由器上禁用自动 IPv6 邻居路由通告?

如何在路由器上禁用自动 IPv6 邻居路由通告?

我在一家 ISP 工作,该公司正在使其基础设施支持 IPv6。我们的核心路由器已经有了一个工作设置,但我们的大部分光纤客户都使用运行 Debian Squeeze 的路由器。

在 Linux 上启用 IPv6 功能并不是问题,但是,一旦我们为 Linux 路由器分配了 IPv6 地址和工作路由,它就会立即将工作地址和路由传输到其后面的所有系统,这不是我们想要的。

我们当前的计划涉及在所有系统上手动设置 IPv6 地址,但我似乎找不到告诉内核不要执行路由器通告的开关或选项。

有什么建议么?

答案1

禁用 RA 接受:

sysctl -w net.ipv6.conf.<interface>.forwarding=0
sysctl -w net.ipv6.conf.all.forwarding=0
sysctl -w net.ipv6.conf.<interface>.accept_ra=0
sysctl -w net.ipv6.conf.all.accept_ra=0

或将类似的内容添加到 /etc/network/interfaces

pre-up echo 0 > /proc/sys/net/ipv6/conf/<interface>/forwarding
pre-up echo 0 > /proc/sys/net/ipv6/conf/<interface>/accept_ra
pre-up echo 0 > /proc/sys/net/ipv6/conf/all/accept_ra
pre-up echo 0 > /proc/sys/net/ipv6/conf/default/accept_ra

答案2

听起来几乎就像是在 LAN 和 WAN 接口之间桥接第 2 层。如果是这种情况,那么用户的大量内部流量可能最终会到达 WAN,并且 WAN 上的所有路由器通告(用于 CPE)实际上都是通往 LAN 的桥接器。

如果是这样的话:

  1. 停止进行桥接,它很容易危及用户的安全
  2. 使用 ebtables 在 LAN 和 WAN 之间进行过滤

我真的希望我在这里错了......

答案3

您可能真正想要的是 DHCP-PD(前缀委派)。使用 DHCP-PD,您的 IPv6 设置将看起来更像 IPv4 设置。

在 IPv4 中,您使用 DHCP 为客户分配单个 IPv4 地址,然后客户使用 NAT 将本地 IP 分配到其网络(通常也通过 DHCP)。

在 IPv6 中,您使用 DHCP-PD 将 /64 分配给客户,然后客户使用路由器 adv。将此 /64 中的地址分配给其内部网络。每当您分配的 /64 发生变化时,就有一些脚本可以更新 radvd 配置。

相关内容