实现 IaaS VM IP 寻址
Contoso IT 希望继续在 Azure 中使用当前在本地使用的同一 IPv4 地址范围。 总部和地区分支机构使用 10.0.0.0/8 专用地址范围。 作为 Azure 试点计划的一部分,你决定创建多个 VM,然后验证是否可为它们配置适当的专用 IPv4 地址。 还有一点很重要,即有些服务器可公开访问,而这些服务器需要公共 IPv4 地址。
专用 IP 寻址
使用专用 IP 地址在 Azure 中的资源之间进行通信。 资源可能包括:
- Azure 服务,例如 VM、VNet、负载均衡器和应用程序网关。
- VNet 中的 VM。
- 通过虚拟专用网 (VPN) 网关或 Azure ExpressRoute 线路访问的本地资源。
注意
有关 ExpressRoute 的详细信息,请参阅 ExpressRoute 概述。
默认情况下,每个网络接口接收来自子网的 IP 地址范围的单个专用 IP 地址。 该 IP 地址将成为网络接口的主要 IP 配置的一部分。 或者,你可为每个接口分配一个静态 IP 地址。 还可创建多个具有自己的 IP 地址的辅助配置,但不超过平台施加的限制。
Azure 使用动态主机配置协议 (DHCP) 管理静态和动态 IP 地址,这些地址属于你创建 Azure VM 网络接口所连接的虚拟网络子网时所分配的 IP 地址范围。
DHCP 租用是无限的,这意味着只要 Azure VM 在使用中,IP 地址就会保持分配状态。 但是,如果将 Azure VM 置于已删除(已解除分配)状态,平台将释放其动态 IP 地址,并将其返回到 DHCP 维护的池。 因此,DHCP 可能会将该 IP 地址分配给同一子网上的另一资源。 为了防止出现这种情况,可将其 IP 地址指定为静态。
提示
如果 Azure VM 托管 DNS 服务,或你使用具有引用源或目标 IP 地址的规则的防火墙来控制网络访问,你可能需要分配静态 IP 地址。
可在创建 Azure VM 时或之后的任何时间点分配静态专用 IP 地址。 地址分配发生在 Azure VM 网络接口级别,而不是在操作系统本身中。
重要
请勿在 Azure VM 中运行的 OS 内修改 IP 配置,因为这会导致连接问题。
若要创建静态专用 IP 地址分配,可使用 Azure 门户、Azure PowerShell、Azure 命令行接口 (Azure CLI) 或 Azure 资源管理器模板。
注意
设置静态 IP 地址会触发 Azure VM 内的 OS 重启。
分配方法
Azure 从资源所在的虚拟网络子网的地址范围中为资源分配专用 IP 地址。 Azure 保留每个子网地址范围中的前四个地址。 不能将这四个地址分配给资源。 例如,如果子网的地址范围是 10.2.0.0/16,则地址 10.2.0.0-10.2.0.3 和 10.2.255.255 不可用。
注意
Azure 一次只能将子网的地址范围内的 IP 地址分配给一个资源。
Azure 分配专用 IP 地址的方法有两种,如下表所述。
| 类型 | 说明 | 
|---|---|
| 动态 | Azure 会分配子网的地址范围内下一个未分配或未保留的可用 IP 地址。 例如,如果地址 10.2.0.4-10.2.0.9 已分配给其他资源,Azure 会将 10.2.0.10 分配给新资源。 动态 IP 地址在分配后,在以下情况下才会释放:网络接口已删除、已重新分配到同一虚拟网络中的另一子网,或者分配方法已更改为静态并且你指定了另一 IP 地址。 | 
| 静态 | 你可选择并分配子网的地址范围内任何未分配或未保留的 IP 地址。 例如,如果子网的地址范围是 10.2.0.0/16,并且 10.2.0.4-10.2.0.9 将分配给其他资源,则你可分配 10.2.0.10 - 10.2.255.254 之间的任何地址。 只有在删除网络接口之后,静态地址才会释放。 | 
注意
动态方法是默认的分配方法。
虚拟机
Azure 为 VM 的一个或多个网络接口分配一个或多个专用 IP 地址。 默认情况下,Azure 会将 VM 配置为使用 Azure 托管的 DNS 服务器。 但你可更改此默认行为,并为 VM 配置自定义 DNS 设置。 若要启用 VM 的名称解析,Azure 会在 Azure 托管的 DNS 服务器中为 VM 的主机名创建一个到 VM 分配的专用 IP 地址的映射。
有关 Azure 托管的 DNS 服务器的详细信息,请参阅 Azure 虚拟网络中资源的名称解析 - Azure 提供的名称解析。
内部负载均衡器和应用程序网关
可为内部负载均衡器和应用程序网关的前端配置分配专用 IP 地址。 也可为这些资源分配动态或静态 IP。
分配的专用 IP 地址将用作内部终结点。 只有资源的 VNet 中以及连接到该资源的远程网络中的资源可以访问此终结点。
总结
下表简要介绍了如何使用专用 IP 地址配置顶层资源。
| 资源 | IP 地址关联 | 动态 | 静态 | 
|---|---|---|---|
| VM | 网络接口 | 是 | 是 | 
| 应用程序网关 | 前端配置 | 是 | 是 | 
| 负载均衡器 | 前端配置 | 是 | 是 | 
公共 IP 地址
公共 IP 地址使 Azure 资源可直接从 Internet 访问。 例如,若要提供从 Internet 到 Azure VM 的入站连接,可向 Azure VM 的网络接口分配公共 IP 地址。 可向以下对象分配公共 IP 地址:
- VM 网络接口
- 面向 Internet 的负载均衡器
- VPN 网关
- 应用程序网关
- Azure 防火墙
向资源分配公共 IP 地址时,该地址将一直专用于该资源,直到你取消分配它。
注意
无公共 IP 的资源仍然可以进行出站通信。
公共 IP 地址提供两种库存单位 (SKU) ,如下表所述。
| SKU | 说明 | 
|---|---|
| 基本 | 基本 SKU 支持动态和静态分配方法。 可将此类 SKU 分配给 Azure VM 网络接口、面向 Internet 的基本 SKU Azure 负载均衡器、应用程序网关和 VPN 网关。 基本 SKU 有助于将 IPv6 公共 IP 地址分配给面向 Internet 的 Azure 负载均衡器基本版。 | 
| 标准 | 标准 SKU 仅支持静态分配。 此类 SKU 有助于将 IPv6 公共 IP 地址分配给面向 Internet 的 Azure 负载均衡器标准版。 可将它们分配给 Azure VM 和面向 Internet 的标准 SKU Azure 负载均衡器网络接口。 可将它们配置为冗余,或将它们分配到特定区域。 可将这两种类型的 IP 地址分配给同一标准 SKU Azure 负载平衡器。 | 
注意
从 2020 年 5 月开始,Azure 虚拟网络不再支持基于 IPv6 的连接。 但是,如前文所述,你可使用分配给面向 Internet 的 Azure 负载均衡器的动态分配的公共 IPv6 地址,提供对虚拟网络上的 Azure VM 的入站访问。