我应该如何临时禁用整个网络的 IPv6?

Zan*_*hey 12 networking ipv6

我们有一个中等规模的网络,其中包含 IPv4 和 IPv6,我们的上游提供商正在让 IPv6 停用两周,而他们正在做……某事。(这是“实验性的”,我们不为此付费,但多年来它一直很稳定,所以我们全面启用了它。)

我们的网络上有 150 多台主机,至少有十几种不同的操作系统,还有一个用于人们手机和笔记本电脑的无线网络,因此在我们的所有设备上禁用 IPv6 是不可能的。

我想在故障转移到 IPv4 之前避免太多经典的 IPv6 损坏行为和长时间超时,我想知道这样做的最佳方法是什么。

  • 我应该在边界阻止传出的 IPv6 数据包并返回一个无法访问的消息,还是会导致主机被标记为无法访问而不回退到 IPv4?
  • 通过我们的 BIND 名称服务器禁用 AAAA 解析是否可行(如果是,如何),如果是,是否明智?
  • 或者,关闭 RADVD 能完成这项工作吗?我们确实在我们的一些服务器上使用了静态配置,但手动配置的数量很少。

San*_*ann 9

我会关闭 RA 并手动禁用静态配置的主机。设置隧道也是可能的,但是重新编号两次比暂时禁用它要多得多。

如果您在 DNS 中宣传 IPv6 可达性(发布 AAAA 记录),那么您也应该暂时删除它们。不要忘记这些可能会被用户缓存,因此在删除 AAAA 记录和禁用 IPv6 之间留出足够的时间。

  • 是的,我们这样做是因为返回 ICMP no route 消息会导致一些客户端非常不安(特别是如果为主机列出了多个 AAAA 记录)。值得注意的是,您不必删除 Linux 中的 v6 地址 - 只需将所有全局路由地址标记为已弃用,并且大多数客户端很乐意忽略它们的存在。 (2认同)

sys*_*138 6

对您的客户端来说,最简单的方法是使用 ipv6-tunnel 路由。如果您可以更新您的路由,以便您的子网通过隧道,那将会很棒,但是您可能必须使用 1:1 NAT 方法,将隧道提供商提供的子网映射到您现有的子网。您可以将路由核心配置为通过 v6 隧道发送 v6 流量,因此任何依赖它的东西都可以继续工作,尽管可能比以前慢一些,但至少比 v4-failback 快。完全动态分配的子网可能不需要 1:1 NAT,但任何具有静态分配的都可能需要。