过滤 IPv6 ICMPv6 消息

Kum*_*mba 2 networking ipv6 icmpv6

所以我在我的家庭网络上更多地使用 IPv6,而且我做的事情有点老式 - 设置静态地址等。这意味着我并不真正想要或关心通过各种 ICMPv6 消息内置到 IPv6 中的所有自动配置。但是运行wireshark并仅捕获IPv6流量,我的两个运行Linux的IPv6系统被证明是闲聊的小东西。他们不断地交换“邻居请求”、“邻居广告”和 ICMPv6 多播侦听器报告“数据包。他们在我为每台机器设置的静态分配的 ULA 地址和自动配置的本地链路地址上执行此操作.

我的问题是,如何在 Linux 中禁用这些功能?我通过“netsh”命令找到了几个适用于 Windows 的指南(这让我很惊讶——Windows 在这方面似乎比 Linux 更可调)。到目前为止,我在 Linux 中的唯一选择似乎是使用 ip6tables 来阻止特定的 ICMPv6 消息类型。但是,查看 RFC4890,它们暗示如果 IPv6 主机要成功加入 IPv6 网络,就不能阻止这些消息。

我对 IPv6 协议的阅读表明,它深受大型企业网络面临的问题的影响。协议工程师似乎不太关心小型专用网络。如果您是大型公司或其他此类企业网络的系统管理员,这很好,但如果您只是“某个人”试图在家庭网络上玩弄协议来学习它,那就有点烦人了。我的学习方法意味着建立像我的 IPv4 网络这样的东西作为基线,然后根据需要启用功能。

所以我问专家,我应该在我的 Linux 和 Windows 主机上禁用这三种消息类型吗?如果我这样做,它会严重破坏我的内部 IPv6 设置吗?当我到达那个阶段时,它将如何影响外部 IPv6(我的 ISP 还没有为客户分配 IPv6 地址,因此目前还没有外部 IPv6 路由,也没有 6 到 4 隧道)?ip6tables 是我在 Linux 中唯一的选择吗?

我还假设我被链接本地地址卡住了,对吧?没有办法摆脱它们吗?他们不可能记住......(也许这就是他的意思?)

Mar*_*son 5

为 IPv6 禁用 ICMP 可以完全破坏它。它用于大量的V6比V4更多的东西。它用于错误报告、邻居发现(如您所见)等等。

通过在任何级别阻止 ICMPv6,您可能会严重阻碍 IPv6 完成其工作的能力。上面有一个(简短的)维基百科文章以及非常全面的 RFC

  • 邻居发现基本上是您的 ARP 替代品。因此,您将无法解析网段上的任何主机。 (3认同)