如何在路由器上禁用自动IPv6邻居路由发布?


8

我为正在使其基础架构支持IPv6的ISP工作。我们的核心路由器已经可以正常工作,但是我们的大部分光纤客户都在运行Debian Squeeze的路由器后面。

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

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

有什么建议么?


1
您确定您没有跑步radvd吗?Linux本身不应该发出路由器广告。
Celada 2013年

是的,可以肯定的是,这两个路由器都没有安装软件。
Shadur 2013年

1
好吧,那太神秘了。某些东西正在发送那些路由器通告,我很确定这不是内核(内核确实在没有用户空间软件任何帮助的情况下自动接受路由器通告,但据我所知没有发送)。
Celada 2013年

Answers:


2

禁用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

我仍然需要它来转发。我只需要它来停止发送或转发路由器广告。
Shadur 2013年

forward = 0不会禁用数据包转发。ipv6设置非常复杂,很遗憾
h3rrmiller 2013年

这是为了RA接受。听起来您需要禁用radvd。在/etc/radvd.conf中查看并更改AdvSendAdvert onAdvSendAdvert off所需的界面。
h3rrmiller 2013年

2

听起来好像您正在桥接LAN和WAN接口之间的第2层。如果真是这样,那么您用户的许多内部流量可能最终会在WAN上结束,并且WAN上的所有路由器广告(用于CPE)实际上都是到LAN的桥梁。

如果是这种情况,则:

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

我真的希望我错了...


我很确定我没有桥接任何东西。
Shadur

如果您不桥接,则CPE上的某些内容会发送这些路由器广告。内核不这样做。通常radvd是用于发送邮件的工具,但可能还有其他软件可以在您的盒子上发送。
Sander Steffann 2013年

0

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

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

在IPv6中,使用DHCP-PD为客户分配/ 64,然后客户使用路由器adv。将此/ 64的地址分配给其内部网络。每当您分配/ 64更改时,周围都有脚本来更新radvd配置。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.