ipv6 中的 fd00::/8 地址范围 (ULA) 是否适用于您永远不想与 Internet 上的任何内容交谈的机器?

网络工程 路由 ip ipv6 互联网 IP地址
2021-07-09 21:47:04

ipv6 中的 fd00::/8 地址空间(用户本地地址)是否适用于您永远不想与 Internet 上的任何内容交谈的机器?

我只是在这里阅读,并且很惊讶地发现情况确实如此。

2个回答

在 IPv6 ULA 地址范围内寻址的 IPv6 数据包fc00::/7无法在公共 Internet 上路由。但请记住,接口可以有多个 IPv6 地址,包括本地链路、全局和 ULA,并且它们可以有多个。理论上,您可以分配给一个接口的 IPv6 地址数量没有实际限制,尽管主机操作系统会有一个限制(通常不超过几十个,并且操作系统需要创建 IPv6 请求节点多播每个单播或任播 IPv6 地址的地址,如果每个地址的最后 24 位相同,则可能只有一个)。

例如,您可以为每个主机上的接口分配一个本地链路地址、一个全局地址和一个 ULA 地址。您自己网络上的主机可以与 ULA 地址通信,以处理您不想在公共 Internet 上看到的任何流量,但主机仍然可以使用任何分配的全局地址在公共 Internet 上进行通信。


ULA 地址有两部分:

  1. ULA 地址范围的前半部分fc00::/8保留供将来分配的全局权限使用。
  2. ULA 地址范围的后半部分fd00::/8可以在本地分配,但有限制。接下来的 40 位必须随机选择,您不能以任何特定顺序分配前缀。

有关分配 ULA地址的完整信息,请参阅RFC 4193,唯一本地 IPv6 单播地址

  1. 介绍

本文档定义了一种全球唯一的 IPv6 单播地址格式,用于本地通信 [IPV6]。这些地址称为唯一本地 IPv6 单播地址,在本文档中缩写为本地 IPv6 地址。 预计它们在全球互联网上是不可路由的。 它们可以在更有限的区域(例如站点)内路由。它们也可以在一组有限的站点之间路由。

本地IPv6单播地址具有以下特点:

  • 全局唯一前缀(具有很高的唯一性概率)。

  • 众所周知的前缀,可以在站点边界轻松过滤。

  • 允许站点组合或私有互连,而不会产生任何地址冲突或需要使用这些前缀的接口重新编号。

  • 独立于 Internet 服务提供商,可用于站点内部的通信,无需任何永久或间歇性 Internet 连接。

  • 如果通过路由或 DNS 意外泄漏到站点之外,则不会与任何其他地址发生冲突。

  • 在实践中,应用程序可能会将这些地址视为全局范围的地址。

本文档定义了本地 IPv6 地址的格式、如何分配它们以及使用注意事项,包括路由、站点边界路由器、DNS、应用程序支持、VPN 使用以及如何用于站点内部本地通信的指南。

IPv6 中的 fd00::/8 地址空间(用户本地地址)是否适用于您永远不想与 Internet 上的任何内容交谈的机器?

不完全是。

IPv6 支持者的想法是您可以/应该并行运行多个地址。因此,同一台机器可以有一个或多个用于与外部世界通信的全局地址和一个或多个用于组织内部通信的 ULA。

通过这种方式,您可以更改用于 Internet 连接的 IP 地址,而不会影响内部连接。

不幸的是,并行运行多个地址是理论上比实践更有效的想法之一。如果您的机器同时具有全局地址和本地地址,那么在某些情况下,全局地址很可能最终会被用于内部通信。如果您的机器有多个 ISP 的全局地址,它们可能会使用错误的地址来获取流量。

那么你有哪些选择?

  1. 仅使用提供商独立(PI) 空间(或成为本地 Internet 注册中心)这对于大型组织的主要站点来说显然是更好的选择,但对于小型或分布式企业来说却存在问题。大多数宽带提供商不会使用BGP,如果每个人都使用 PI 空间,我们将面临路由表噩梦。
  2. 仅使用 ISP 分配的空间,希望您永远不必更改 ISP。
  3. 将 ISP 分配的空间与 ULA 空间一起使用。希望你能把ISP分配的空间保留在内部的东西之外。
  4. 为 IP 纯粹主义者提供帮助并部署 IPv6 NAT,至少作为应急计划。

ps,您链接的文章还声称“RFC 1918 地址空间专门用于运行 NAT”,我认为这种说法非常可疑。无论是RFC1918或者它的前身RFC1597做NAT的任何提及。

据我所知,NAT 一直让互联网纯粹主义者感到不安;他们勉强接受了 IPv4。