如何在接口上启用 IPv6 但禁用 IPv6 ND 流量

如何在接口上启用 IPv6 但禁用 IPv6 ND 流量

为了进行实验,我尝试禁用接口上的 IPv6 流量,因为它们会导致数据包噪音。我尝试让接口生成 0 个数据包,但可在其上配置 IPV6 地址。

因此,我希望启用 IPv6,但禁用所有邻居发现 (ND) 流量(如路由器请求等)。如果无法永久禁用,我希望增加间隔,以使其很少生成。

我尝试了以下配置,但仍然无法按预期工作。实现此目的的正确标志/值是什么?

我已经看到完全禁用 IPv6 可以实现这一点,但不幸的是,我需要启用 IPv6。

sysctl -w net.ipv6.conf.all.disable_ipv6=0
sysctl -w net.ipv6.conf.default.disable_ipv6=0

sysctl -w net.ipv6.conf.all.router_solicitations=0
sysctl -w net.ipv6.conf.default.router_solicitations=0

sysctl -w net.ipv6.conf.all.router_solicitation_delay=100000
sysctl -w net.ipv6.conf.all.router_solicitation_interval=100000
sysctl -w net.ipv6.conf.all.router_solicitation_max_interval=100000
sysctl -w net.ipv6.conf.all.router_probe_interval=100000

答案1

不确定您是否找到了正确的sysctl调用或内核设置@padfoot,但我最近被要求做类似的事情。

我发现一种以黑客方式获得类似结果的方法就是使用 netfilter / ip6tables 丢弃 icmpv6 流量。

sudo ip6tables -A OUTPUT -p icmpv6 --icmpv6-type <THE_TYPE_TO_DROP> -j DROP -o <OUTGOING_INTERFACE>

此处定义类型

相关内容