你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
IPv6 网络的概念规划
本指南概述了将 Azure 中的 IPv4 网络环境转换为 IPv6 的策略。 这种转换是必需的,因为连接互联网的设备数在不断增长,IPv4 地址即将耗尽。 IPv6 协议提供了更大的 Internet 地址池以适应未来的增长需要,并提供增强的安全功能(本机 IPSec)、流标签和简化的网络配置。 本文有助于了解 IPv6、获取 IPv6 地址以及转换为 IPv6。
了解 IPv6
IPv6 的地址空间很大,你应该使用一致的 IPv6 地址块大小来过度分配 IPv6 地址。 此网络策略与 IPv4 完全不同。 IPv4 地址数量有限,你必须使用尽可能小的子网大小。 此表让你了解 IPv6 的大小增加:
IP 版本 | IP 地址数 |
---|---|
IPv4 | 4,294,967,296 |
IPv6 | 340,282,366,920,938,463,463,374,607,431,768,211,456 |
双协议堆栈。 Azure 虚拟网络支持双协议堆栈。 支持双协议堆栈的网络可以同时处理 IPv4 和 IPv6 流量。 可以将新的 IPv6 地址块分配给具有现有 IPv4 块的子网。 使用 IPv6 的服务可以与使用 IPv4 的服务共存。 因此,可以在所有服务支持 IPv6 之前启动 IPv6 转换。
Azure 中的 IPv6。 在 Azure 环境中,网络接口接收三种类型的 IPv6 地址之一:
专用 IP 地址。 要在专用 IP 地址上启用 IPv6,将 IPv6 地址范围应用于虚拟网络及其子网。 子网中的网络接口根据配置获取静态或动态地址。 可以在 Azure 门户中查看 IP 地址分配。 如果使用虚拟机,还可以在虚拟机配置中进行查看。 在操作系统中,此地址显示为 IPv6 地址。
公共 IP 地址。 可以将公共 IPv6 地址应用于网络接口。 公共 IP 地址在互联网上必须全局唯一且可路由。 需要生成可用于 Azure 上的公共端点的唯一 IPv6 地址,例如负载均衡器或应用程序网关等端点。 可以使用
New-AzPublicIpAddress
cmdlet 在 PowerShell 中创建 IPv6 公共地址。操作系统配置不显示公共 IP 地址,但可以在 Azure 门户中查看公共 IP 地址。 可以使用公共 IPv6 地址与 Internet 进行入站和出站通信。 可能需要使用用户定义的路由更新路由表以支持 IPv6。 许多组织使用共享网络虚拟设备 (NVA) 进行公共通信,并且不向网络接口分配公共 IP 地址。 Azure 公共 IPv6 地址不收费,但 IPv4 地址收费。 有关详细信息,请参阅 IP 地址定价。
链接本地地址。 链接本地地址是特殊类型的专用 IP 地址。 在 IPv6 中,链接本地地址在所有接口中自动配置。 它们用于单一网段内的通信,无法在互联网上路由。 它们来自
fe80::/10
空间而不是子网的地址块。 可以在操作系统内部查看分配给接口的fe80::/10
地址。
有关其他专用地址块的详细信息,请参阅 IANA IPv6 专用地址注册表。
获取 IPv6 地址
如果组织已具有 IPv6 地址,则可以在 Azure 环境中使用这些地址并从中受益。 否则,需要获取新地址。 使用现有地址可以降低成本并提高效率,但获取新地址可确保有足够的连续地址块满足需求。 它还降低了地址冲突的可能性。 如果无法确保组织 IPv6 空间安全,则可以使用全局地址或本地地址。
全局地址:全局地址是在整个互联网中具唯一性的公共 IP 地址。 可以联系注册机构,请求连续的常规分配或全局地址块。 这些 IPv6 地址可用于 Azure 中的子网、虚拟网络和区域超级网络。 若要在多个区域中拥有足够的增长空间,应计划为整个 Azure 环境分配 /36 地址空间。 可以对专用网络和公共端点使用全局地址,也可以分配不同的范围。 唯一全局地址不会产生 IP 地址冲突。
本地地址:本地地址是在虚拟网络中使用的专用 IP 地址。 可以使用唯一本地地址范围内的 IP。 此地址范围类似于 IPv4 专用地址范围,例如 10.0.0.0/8
地址空间。 IPv6 为唯一本地地址保留 fc00::/7
地址块。 尽管这些地址是 IPv6 全局单播地址范围的一部分,但无法进行全局访问。
如果使用唯一的本地地址范围,则 IP 地址可能会与其他组织的 IP 地址范围重叠。 如果存在重叠,在集成网络时可能会遇到困难。 有关详细信息,请参阅唯一本地 IPv6 单播地址备忘录。
转换为 IPv6
应将向 Azure 网络分配 IPv6 地址的计划与组织的 IPv6 寻址计划保持一致。 你的组织应该已具有本地 IPv6 使用计划,以供你在不同位置之间分配空间,而不会出现重叠。 如果你没有计划,应在 Azure 上开始实现之前定义一个计划。 有关详细信息,请参阅 IP 寻址计划。
IPv4 中保存地址所需的一些做法不适用于 IPv6。 应过度分配 IPv6 地址,并为 Azure 环境、区域、虚拟网络和子网使用标准块大小,如下表所示。 这些建议适用于 IPv6,不适用于 IPv4 环境。 有关详细信息,请参阅 IP 寻址计划。
范围 | 大小 | 实例数 |
---|---|---|
Azure 环境 | /36 | 1 |
区域 | /44 | 256 |
虚拟网络 | /56 | 每个区域 4,096 个 |
子网 | /64 | 每个虚拟网络 256 个 |
将区域转换为 IPv6。 你应使用超级网络并将 /44 IPv6 地址空间分配给每个 Azure 区域。 与 IPv4 一样,超级网络在 Azure 中没有技术表示形式。 但是可以在 IP 地址管理系统 (IPAM) 中分配和跟踪超级网络。 下表演示了多个区域的地址块外观:
网络范围 | CIDR 范围 | 第一个 IP | 最后一个 IP |
---|---|---|---|
Azure 区域 1 | fd00:db8:dec0::/44 |
fd00:db8:dec0:0000:0000:0000:0000:0000 | fd00:db8:decf:ffff:ffff:ffff:ffff:ffff |
Azure 区域 2 | fd00:db8:ded0::/44 |
fd00:db8:ded0:0000:0000:0000:0000:0000 | fd00:db8:dedf:ffff:ffff:ffff:ffff:ffff |
Azure 区域 3 | fd00:db8:def0::/44 |
fd00:db8:def0:0000:0000:0000:0000:0000 | fd00:db8:deff:ffff:ffff:ffff:ffff:ffff |
在将此 IP 地址空间分配给区域后,可以通过从该 IP 空间定义虚拟网络和子网来部署新的网络和工作负载。
将虚拟网络转换为 IPv6。 应为每个虚拟网络分配一个 /56 IPv6 地址空间。 此分配有助于进行网络管理并简化创建过程。 从而支持在一个区域中创建 4,096 个虚拟网络,并在单一虚拟网络中创建 256 个子网。
将子网转换为 IPv6。 可以继续使用现有子网体系结构,并将 /64 地址块分配给每个子网。 你还可以通过此子网大小对网络进行概念规划。 无需担心地址耗尽导致的子网大小调整。
Azure 上的 IPv6 网络和 IPv4 网络之间的一个显著差异是子网的最低大小。 Azure 上的 IPv6 子网的最低大小为 /64。 每个子网包含 18,446,744,073,709,551,616 个主机,减去用于 Azure 管理的主机。 与 IPv4 网络一样,IPv6 子网保留前四个 IP 地址以用于管理。 IPv6 最低子网大小旨在保持与 Azure 外部网络设备的兼容性。 如果子网较小,则可能会出现路由问题。
要计算适合较大地址块的特定大小子网数,可以使用公式 2^(X-Y)。 X 指较小的地址块大小,Y 指较大的块大小。 例如,要确定 /44 地址块中可以容纳的 /64 子网数,可以使用 2^(64-44)。 结果为 1,048,576。
重用 ipv4 地址。 转换到 IPv6 地址时,可以在 Azure 环境的不同虚拟网络中重用专用 IPv4 地址。 利用这种可转让性,可以在转换为 IPv6 的同时维护活动服务,并在转换期间有效管理 IP 空间。 重用选项可提供更大的有效 IPv4 空间。 对于任何对等互连的虚拟网络,必须确保 IPv4 地址范围不重叠。
将 Azure 服务配置为使用 IPv6
可以使用下表查找将特定服务或组件转换为 IPv6 的说明。
服务/组件 | 过渡说明 |
---|---|
Azure 应用程序网关 | 有关详细信息,请参阅使用前端公共 IPv6 地址配置应用程序网关。 |
适用于 AKS 的 Azure 容器网络接口(CNI)覆盖 | 有关详细信息,请参阅使用 Azure CNI 覆盖。 |
Azure自定义 IP 地址前缀 | 需要为 IPv6 地址范围创建新前缀。 有关说明,请参阅使用 Azure 门户创建自定义 IPv6 地址前缀。 |
Azure 数据资源管理器 | 必须执行 API 请求才能将 publicIPType 属性更新为 DualStack 。 有关详细信息,请参阅创建或更新群集。 |
Azure DNS 区域(公共和专用) | 要添加新的 IPv6 记录,请参阅管理 DNS 记录和记录集。 |
Azure ExpressRoute 网关 | 要转换 ExpressRoute 网关,请参阅 Azure ExpressRoute:添加 IPv6 支持。 |
Azure Front Door | Azure Front Door 可以使用 IPv6 面向后端。 除了更新后端信息之外,不需要特殊转换。 |
Azure Kubernetes 服务 (AKS) | 有关详细信息,请参阅将 kubenet 与双堆栈网络配合使用。 |
Azure 负载均衡器 | 若要使用 IPv6 创建或修改新的负载均衡器,请参阅 使用 IPv6 的标准公共负载均衡器和 使用 IPv6 的标准内部负载均衡器。 |
Azure 公共 IP 地址(基本) | 需要使用 IPv6 地址创建新的公共 IP 地址。 有关说明,请参阅 创建 IPv6 公共 IP 地址。 |
Azure Service Fabric | 有关详细信息,请参阅 配置托管群集网络设置。 |
Azure 虚拟机规模集 | 此过程类似于创建 IPv6 虚拟机,但必须更改网络配置文件。 有关详细信息,请参阅使用 IPv6 的虚拟机规模集。 |
Azure Virtual Network Manager | 虚拟网络管理器可以管理使用 IPv6 的网络。 |
虚拟机 | 若要将 IPv6 添加到现有虚拟机,请参阅将 IPv6 配置添加到虚拟机。 |
虚拟网络 | 若要向现有子网添加新的 IPv6 空间,请参阅将 IPv6 添加到虚拟网络。 |