为 Azure 网络接口配置 IP 地址

专用和公共 IP 地址都可以分配给虚拟机的网络接口控制器 (NIC)。 通过分配给网络接口的专用 IP 地址,虚拟机能够与 Azure 虚拟网络和所连接的网络中的其他资源进行通信。 通过专用 IP 地址,还能够使用不可预测的 IP 地址实现到 Internet 的出站通信。 通过分配给网络接口的公共 IP 地址,可以实现从 Internet 到虚拟机的入站通信。通过此地址,还能够使用可预测的 IP 地址实现从虚拟机到 Internet 的出站通信。 有关详细信息,请参阅了解 Azure 中的出站连接

如果需要创建、更改或删除网络接口,请阅读管理网络接口一文。 如果需要向虚拟机添加网络接口或从中删除网络接口,请阅读添加或删除网络接口一文。

先决条件

如果没有具备有效订阅的 Azure 帐户,请创建一个试用帐户。 在开始学习本文的余下内容之前,请完成以下任务之一:

  • 门户用户:使用 Azure 帐户登录到 Azure 门户

  • PowerShell 用户:在计算机本地运行 PowerShell。 使用 Azure PowerShell 模块 1.0.0 或更高版本。 运行 Get-Module -ListAvailable Az.Network 查找已安装的版本。 如果需要进行安装或升级,请参阅安装 Azure PowerShell 模块。 运行 Connect-AzAccount -Environment AzureChinaCloud 以登录到 Azure。

  • Azure CLI 用户:在计算机本地运行 Azure CLI。 使用 Azure CLI 版本 2.0.31 或更高版本。 运行 az --version 查找已安装的版本。 如果需要进行安装或升级,请参阅安装 Azure CLI。 运行 az login 以登录到 Azure。

必须将登录或连接到 Azure 所用的帐户分配给网络参与者角色或分配有“网络接口权限”中所列适当操作的自定义角色

添加 IP 地址

可将所需的任意数量的专用公共IPv4 地址添加到网络接口,只要不超过 Azure 限制一文中列出的限制即可。 可将专用 IPv6 地址添加到现有网络接口的一个辅助 IP 配置(前提是没有现有的辅助 IP 配置)。 每个网络接口可以有一个 IPv6 专用地址。 可以选择将公共 IPv6 地址添加到 IPv6 网络接口配置。 有关使用 IPv6 地址的详细信息,请参阅 IPv6

  1. 在门户顶部的搜索框中,输入“网络接口”。 在搜索结果中,选择“网络接口”。

  2. 在网络接口列表中,选择要将 IP 地址添加到的网络接口。

  3. 在“设置”下选择“IP 配置”、然后选择“+ 添加”。

    Screenshot of I P configurations page in Azure portal.

  4. 指定以下内容,然后选择“确定”

    设置 详细信息
    名称 输入名称。 IP 配置的名称在网络接口中必须是唯一的。
    IP 版本 选择“IPv4”或“IPv6”。 IP 版本定义 IP 配置中专用和公共 IP 的版本。 请参阅 IPv6 详细了解 IPv6 限制。
    类型 选择“辅助”。 将 IP 配置添加到现有网络接口时,“辅助”是唯一可用的选项。 一个网络接口不能有多个“主要”IP 配置。
    专用 IP 地址设置
    分配 选择“动态”或“静态”。 动态:Azure 自动从部署了网络接口的子网的地址空间中分配下一个可用地址。
    静态:从部署了网络接口的子网的地址空间中手动分配一个未使用的专用 IP 地址。
    IP 地址 输入静态 IP 地址。 如果为专用地址分配选择了“静态”,则此选项可用。
    公共 IP 地址设置
    公共 IP 地址 选择“取消关联”或“关联”。 取消关联:没有任何公共 IP 地址使用此 IP 配置。
    关联:选择此选项时,可将新的或现有的公共 IP 地址添加到 IP 配置。 有关详细信息,请参阅创建公共 IP 地址
    公共 IP 地址 选择公共 IP 地址或创建新的 IP 地址。 如果为公共地址选择了“关联”,则此选项可用。

    Screenshot of Add I P configuration page in Azure portal.

注意

通过创建辅助 IP 配置添加专用 IP 地址后,按照将多个 IP 地址分配到虚拟机操作系统中的说明手动将专用 IP 地址添加到虚拟机操作系统。 在手动向虚拟机操作系统添加 IP 地址之前,请参阅专用 IP 地址以了解特殊注意事项。 请不要向虚拟机操作系统添加任何公共 IP 地址。

更改 IP 地址设置

在某些情况下,可能需要更改 IPv4 地址的分配方法、更改静态 IPv4 地址,或者更改与网络接口关联的公共 IP 地址。 在更改与辅助网络接口关联的辅助 IP 配置的专用 IPv4 地址之前,将虚拟机置于已停止(已解除分配)状态。 有关详细信息,请参阅主要和辅助网络接口

  1. 在门户顶部的搜索框中,输入“网络接口”。 在搜索结果中,选择“网络接口”。

  2. 在网络接口列表中,选择要查看或更改其 IP 地址设置的网络接口。

  3. 在“设置”下选择“IP 配置”,然后选择要修改的 IP 配置。

    Screenshot of change I P configuration page in Azure portal.

  4. 使用有关添加 IP 配置步骤 4 中的设置的信息,根据需要更改设置。

  5. 选择“保存”。

注意

在 Windows 中,如果主要网络接口有多个 IP 配置,并且主要 IP 配置的专用 IP 地址已更改,则必须手动将主要 IP 地址和辅助 IP 地址重新分配给网络接口(在 Linux 中不需要执行此操作)。 若要手动向操作系统中的网络接口分配 IP 地址,请参阅将多个 IP 地址分配到虚拟机。 有关在手动向虚拟机操作系统添加 IP 地址的特别注意事项,请参阅专用 IP 地址。 请不要向虚拟机操作系统添加任何公共 IP 地址。

删除 IP 地址

可以从网络接口中删除专用公共 IP 地址,但网络接口必须始终至少有一个分配给它的专用 IPv4 地址。

  1. 在门户顶部的搜索框中,输入“网络接口”。 在搜索结果中,选择“网络接口”。

  2. 在网络接口列表中,选择要从中删除 IP 地址的网络接口。

  3. 在“设置”下选择“IP 配置”,然后选择要删除的辅助 IP 配置对应的“...”(无法使用 Azure 门户删除主要 IP 配置)。

    Screenshot of delete an I P configuration in Azure portal.

  4. 选择“删除”,然后选择“是”以确认删除。 如果该配置具有关联的公共 IP 地址资源,则会从 IP 配置中取消关联该资源,但不会删除该资源。

IP 配置

专用和(可选)公共 IP 地址分配给一个或多个分配给网络接口的 IP 配置。 有两种 IP 配置:

主要

每个网络接口都分配有一个主要 IP 配置。 主要 IP 配置:

  • 具有分配给它的专用IPv4 地址。 无法将专用 IPv6 地址分配到主要 IP 配置。
  • 还可以具有分配给它的公共 IPv4 地址。 无法将公共 IPv6 地址分配到主要 (IPv4) IP 配置。

次要

除了主要 IP 配置之外,网络接口还可能具有零个或多个分配给它的辅助 IP 配置。 辅助 IP 配置:

  • 必须具有分配给它的 IPv4 或 IPv6 地址。 如果地址是 IPv6,则网络接口只能具有一个辅助 IP 配置。 如果地址是 IPv4,则网络接口可以具有多个分配给它的辅助 IP 配置。 若要详细了解可以向网络接口分配多少专用和公共 IPv4 地址,请参阅 Azure 限制
  • 可以为其分配公共 IPv4 或 IPv6 地址。 在以下情况下,将多个 IPv4 地址分配给网络接口很有用:
    • 在一台服务器上托管具有不同 IP 地址和 TLS/SSL 证书的多个网站或服务。
    • 虚拟机充当网络虚拟设备,例如防火墙或负载均衡器。
    • 可将任何网络接口的任何专用 IPv4 地址添加到 Azure 负载均衡器后端池。 过去,只能将主要网络接口的主要 IPv4 地址添加到后端池。 若要详细了解如何对多个 IPv4 配置进行负载均衡,请参阅对多个 IP 配置进行负载均衡
    • 可以对分配给网络接口的一个 IPv6 地址进行负载均衡。 若要详细了解对 IPv6 地址进行负载均衡,请参阅对 IPv6 地址进行负载均衡

地址类型

可以向 IP 配置分配以下类型的 IP 地址:

专用

通过专用 IPv4 或 IPv6 地址,虚拟机能够与虚拟网络或其他连接的网络中的其他资源进行通信。

默认情况下,Azure DHCP 服务器将 Azure 网络接口的主要 IP 配置的专用 IPv4 地址分配给虚拟机操作系统内的网络接口。 除非必要,永远不应当在虚拟机操作系统中手动设置网络接口的 IP 地址。

在许多方案中,需要手动设置虚拟机操作系统内的网络接口的 IP 地址。 例如,在向 Azure 虚拟机添加多个 IP 地址时,必须手动设置 Windows 操作系统的主要和辅助 IP 地址。 对于 Linux 虚拟机,只需手动设置辅助 IP 地址。 有关详细信息,请参阅向 VM 操作系统添加 IP 地址。 如果需要更改分配给 IP 配置的地址,我们建议:

  1. 确保虚拟机从 Azure DHCP 服务器接收主 IP 地址。 如果运行 Linux VM,请不要在操作系统中设置此地址。
  2. 删除要更改的 IP 配置。
  3. 使用要设置的新地址创建一个新的 IP 配置。
  4. 在操作系统中手动配置辅助 IP 地址(在 Windows 内还需要配置主要 IP 地址)以配置在 Azure. 不要在 Linux 的 OS 网络配置中手动设置主 IP 地址,否则它在重新加载配置后可能无法连接到 Internet。
  5. 重新加载来宾操作系统上的网络配置。 通过重启系统,或在运行 NetworkManager 的 Linux 系统中运行 nmcli con down“System eth0”和 nmcli con up“System eth0”,可完成此操作。
  6. 验证网络设置是否符合需求。 测试系统的所有 IP 地址的连接性。

通过遵循上述步骤,在 Azure 中分配给网络接口的专用 IP 地址与在虚拟机操作系统中分配的地址会保持相同。 若要记录你在操作系统中为订阅中的哪些虚拟机手动设置了 IP 地址,请考虑向虚拟机添加一个 Azure 标记。 例如,可以使用“IP 地址分配: 静态”。 这样,可以轻松找到订阅中在操作系统中手动为其设置了 IP 地址的虚拟机。

通过专用 IP 地址,虚拟机除了能够与同一网络中的或所连接的虚拟网络中的其他资源进行通信外,还能够进行到 Internet 的出站通信。 出站连接是由 Azure 转换为不可预测的公共 IP 地址的源网络地址。 若要详细了解 Azure 出站 Internet 连接,请参阅 Azure 出站 Internet 连接。 无法从 Internet 与虚拟机的专用 IP 地址进行入站通信。 如果出站连接需要可预测的公共 IP 地址,则将公共 IP 地址资源关联到网络接口。

公共

通过公共 IP 地址资源分配的公共 IP 地址允许以入站连接的方式从 Internet 连接到虚拟机。 到 Internet 的出站连接使用不可预测的 IP 地址。 有关详细信息,请参阅 Azure 出站 Internet 连接。 可以为 IP 配置分配公共 IP 地址,但这不是必需的。 如果没有通过关联公共 IP 地址资源的方式向虚拟机分配公共 IP 地址,则虚拟机仍可以出站方式与 Internet 通信。 在这种情况下,专用 IP 地址是由 Azure 转换为不可预测的公共 IP 地址的源网络地址。 若要详细了解公共 IP 地址资源,请参阅管理 Azure 公共 IP 地址

可分配给网络接口的专用和公共 IP 地址数有限制。 有关详细信息,请参阅 Azure 限制一文。

注意

Azure 会将虚拟机的专用 IP 地址转换为公共 IP 地址。 因此,虚拟机的操作系统不会意识到分配给它的任何公共 IP 地址,因此不需要在操作系统中手动分配公共 IP 地址。

分配方法

公共和专用 IP 地址是使用以下分配方法之一分配的:

动态

默认情况下会分配动态专用 IPv4 和 IPv6(可选)地址。

  • 仅公共:Azure 从特定于每个 Azure 区域的范围分配地址。 可以下载 Azure 中国云的范围(前缀)列表。 如果在停止(解除分配)虚拟机后又重新启动,则地址可能会更改。 无法使用任一分配方法为 IP 配置分配公共 IPv6 地址。
  • 仅专用:Azure 保留每个子网地址范围中的前四个地址,不分配这些地址。 Azure 将下一个可用的地址分配给子网地址范围中的资源。 例如,如果子网的地址范围为 10.0.0.0/16,且地址 10.0.0.4-10.0.0.14 已分配(.0-.3 为保留地址),则 Azure 会将 10.0.0.15 分配给资源。 动态方法是默认的分配方法。 动态 IP 地址在分配后,仅在以下情况下才会释放:网络接口已删除、已分配到同一虚拟网络中的另一子网,或者分配方法已更改为静态,这种情况下会指定另一 IP 地址。 默认情况下,当分配方法从动态更改为静态时,Azure 会将以前动态分配的地址作为静态地址分配。

静态

(可选)可向 IP 配置分配公共或专用静态 IPv4 或 IPv6 地址。 若要详细了解 Azure 如何分配静态公共 IPv4 地址,请参阅管理 Azure 公共 IP 地址

  • 仅公共:Azure 从特定于每个 Azure 区域的范围分配地址。 可以下载 Azure 中国云的范围(前缀)列表。 该地址不会更改,除非其所分配到的公共 IP 地址资源已删除,或者分配方法已更改为动态。 如果将公共 IP 地址资源关联到某个 IP 配置,则必须取消其与 IP 配置的关联,然后才能更改其分配方法。
  • 仅专用:由你选择并分配子网地址范围中的地址。 分配的地址可以是子网地址范围中的任何地址,前提是该地址是子网地址范围外的头四个地址,也不是当前已分配给子网中现有资源的地址。 只有在删除网络接口之后,静态地址才会释放。 如果将分配方法更改为静态,Azure 会动态地将以前分配的动态 IP 地址作为静态地址分配,即使该地址不是子网地址范围内的下一个可用地址。 如果网络接口分配给同一虚拟网络中的其他子网,该地址也会更改。 若要将网络接口分配给其他子网,必须首先将分配方法从静态更改为动态。 将网络接口分配给另一子网以后,即可将分配方法改回为静态,并根据新子网的地址范围分配 IP 地址。

IP 地址版本

在分配地址时可以指定以下版本:

IPv4

每个网络接口必须有一个具有分配的专用IPv4 地址的主要 IP 配置。 可以添加一个或多个辅助 IP 配置,每个配置都具有一个 IPv4 专用地址(可选)和一个 IPv4 公共 IP 地址。

IPv6

可以为网络接口的辅助 IP 配置分配零个或一个专用 IPv6 地址。 网络接口不能具有任何现有的辅助 IP 配置。 每个网络接口最多只能有一个 IPv6 专用地址。 可以选择将公共 IPv6 地址添加到 IPv6 网络接口配置。

注意

虽然可以使用门户创建具有 IPv6 地址的网络接口,但在使用门户创建虚拟机时无法附加网络接口。 使用 PowerShell 或 Azure CLI 创建具有专用 IPv6 地址的网络接口,然后在创建虚拟机时附加该网络接口。 对于附加到虚拟机的任何网络接口,无法使用任何工具(门户、CLI 或 PowerShell)为 IP 配置添加专用 IPv6 地址。

SKU

公共 IP 地址是使用基本或标准 SKU 创建的。 有关 SKU 差异的详细信息,请参阅管理公共 IP 地址

注意

将标准 SKU 公共 IP 地址分配到虚拟机的网络接口时,必须使用网络安全组显式允许预期流量。 创建并关联网络安全组且显式允许所需流量之后,才可与资源通信。

后续步骤

若要创建具有不同 IP 配置的虚拟机,请阅读以下文章:

任务 工具
创建具有多个网络接口的 VM CLIPowerShell
创建具有多个 IPv4 地址的单 NIC VM CLIPowerShell
创建具有专用 IPv6 地址的单 NIC VM(在 Azure 负载均衡器后) CLIPowerShellAzure 资源管理器模板