创建、更改或删除网络接口

了解如何创建、删除网络接口及更改其设置。 Azure 虚拟机可通过网络接口与 Internet、Azure 及本地资源进行通信。 使用 Azure 门户创建虚拟机时,门户会使用默认设置创建一个网络接口。 可改为选择使用自定义设置创建网络接口,并在创建虚拟机时向其添加一个或多个网络接口。 还可更改现有网络接口的默认网络接口设置。 本文介绍如何使用自定义设置创建网络接口、更改现有设置(例如网络筛选器(网络安全组)分配、子网分配、DNS 服务器设置和 IP 转发)以及删除网络接口。

如果需要为网络接口添加、更改或删除 IP 地址,请参阅管理 IP 地址。 如果需要向虚拟机添加网络接口或从中删除网络接口,请参阅添加或删除网络接口

准备阶段

备注

本文已经过更新,以便使用 Azure Az PowerShell 模块。 若要与 Azure 交互,建议使用的 PowerShell 模块是 Az PowerShell 模块。 若要开始使用 Az PowerShell 模块,请参阅安装 Azure PowerShell。 若要了解如何迁移到 Az PowerShell 模块,请参阅 将 Azure PowerShell 从 AzureRM 迁移到 Az

在完成本文任何部分中的步骤之前,请完成以下任务:

  • 如果还没有 Azure 帐户,请注册试用版订阅
  • 如果使用门户,请打开 https://portal.azure.cn ,并使用 Azure 帐户登录。
  • 如果使用 PowerShell 命令来完成本文中的任务,请从计算机使用管理员权限运行 PowerShell。 本教程需要 Azure PowerShell 模块 1.0.0 或更高版本。 运行 Get-Module -ListAvailable Az 查找已安装的版本。 如果需要进行升级,请参阅 Install Azure PowerShell module(安装 Azure PowerShell 模块)。 如果在本地运行 PowerShell,则还需运行 Connect-AzAccount -Environment AzureChinaCloud 来创建与 Azure 的连接。
  • 如果使用 Azure 命令行接口 (CLI) 命令来完成本文中的任务,请从计算机运行 CLI。 本教程需要 Azure CLI 2.0.28 或更高版本。 运行 az --version 查找已安装的版本。 如果需要进行安装或升级,请参阅安装 Azure CLI。 如果在本地运行 Azure CLI,则还需运行 az login 以创建与 Azure 的连接。

备注

请先运行 az cloud set -n AzureChinaCloud 更改云环境,然后才能在 Azure 中国世纪互联中使用 Azure CLI。 若要切换回 Azure 公有云,请再次运行 az cloud set -n AzureCloud

登录或连接到 Azure 所用的帐户必须分配有网络参与者角色或者分配有可执行权限中列出的适当操作的自定义角色

创建网络接口

使用 Azure 门户创建虚拟机时,门户会使用默认设置创建一个网络接口。 如果想要指定所有网络接口设置,可使用自定义设置创建网络接口并在创建虚拟机(使用 PowerShell 或 Azure CLI)时向其附加此网络接口。 还可创建网络接口并将其添加到现有的虚拟机(使用 PowerShell 或 Azure CLI)。 若要了解如何创建包含现有网络接口的虚拟机,或者要在现有虚拟机中添加或删除网络接口,请参阅添加或删除网络接口。 创建网络接口之前,创建该接口时所在的同一位置和订阅中必须存在现有的虚拟网络

  1. 在 Azure 门户顶部包含“搜索资源”文本的框中,键入“网络接口”。 当“网络接口”出现在搜索结果中时,请选择它。

  2. 在“网络接口”下选择“+ 添加”。

  3. 为以下设置输入或选择值,然后选择“创建”:

    设置 必需? 详细信息
    名称 名称在所选资源组中必须唯一。 随着时间推移,Azure 订阅中可能会有多个网络接口。 创建网络接口后,无法更改其名称。
    虚拟网络 为网络接口选择虚拟网络。 只能将网络接口分配到与该接口位于相同订阅和位置的虚拟网络。 创建网络接口后,无法更改其分配到的虚拟网络。 将网络接口添加到的虚拟机也必须位于该接口所在的同一位置和订阅中。
    子网 在所选的虚拟网络中选择一个子网。 创建网络接口后,可更改它分配到的子网。
    专用 IP 地址分配 在此设置中,会为 IPv4 地址选择分配方法。 从以下分配方法中选择:动态: 选择此选项时,Azure 将从所选子网的地址空间中自动分配下一个可用地址。 静态: 选择此选项时,必须手动从所选子网的地址空间中手动分配一个可用的 IP 地址。 静态地址和动态地址保持不变,除非手动更改或删除网络接口。 创建网络接口后,可更改分配方法。 Azure DHCP 服务器将此地址分配到虚拟机操作系统中的网络接口。
    网络安全组 保留设置为“无”,选择现有的网络安全组,或创建网络安全组。 网络安全组可用于筛选进出网络接口的网络流量。 可向网络接口应用零个或一个网络安全组。 也可向网络接口分配到的子网应用零个或一个网络安全组。 将网络安全组应用到网络接口以及该接口分配到的子网时,有时会产生意外结果。 若要对应用到网络接口和子网的网络安全组进行故障排除,请参阅网络安全组故障排除
    订阅 选择一个 Azure 订阅。 网络接口附加到的虚拟机及其连接到的虚拟网络必须位于同一订阅中。
    专用 IP 地址 (IPv6) 如果选中此复选框,除了分配到网络接口的 IPv4 地址外,还会分配一个 IPv6 地址到网络接口。 请参阅本文的 IPv6 部分,了解有关 IPv6 和网络接口搭配使用的重要信息。 无法为 IPv6 地址选择分配方法。 如果选择分配 IPv6 地址,则会使用动态方法分配它。
    IPv6 名称(仅在选中“专用 IP 地址 (IPv6)”复选框时出现) 是,如果选中“专用 IP 地址 (IPv6)”复选框。 此名称将分配给网络接口的辅助 IP 配置。 若要了解有关 IP 配置的详细信息,请参阅查看网络接口设置
    资源组 选择现有的资源组或创建一个资源组。 网络接口可与它附加到的虚拟机或者连接到的虚拟网络位于相同或不同的资源组中。
    位置 网络接口附加到的虚拟机及其连接到的虚拟网络必须位于同一位置(也称为区域)中。

创建网络接口时,门户不会提供向接口分配公共 IP 地址的选项,但使用门户创建虚拟机时,门户会创建一个公共 IP 地址并将其分配到网络接口。 若要了解创建网络接口后如何向其添加公共 IP 地址,请参阅管理 IP 地址。 若要使用公共 IP 地址创建网络接口,必须使用 CLI 或 PowerShell 创建网络接口。

创建网络接口时,门户不提供将网络接口分配给应用程序安全组的选项,但是 Azure CLI 和 PowerShell 提供。 但是,只要网络接口连接到虚拟机,就可以使用门户将现有网络接口分配给应用程序安全组。 要了解如何将网络接口分配给应用程序安全组,请参阅添加到应用程序安全组或从中删除

备注

只有在网络接口附加到虚拟机后首次启动虚拟机时,Azure 才向网络接口分配 MAC 地址。 无法自行指定 Azure 要分配给网络接口的 MAC 地址。 除非网络接口被删除或者分配给主网络接口的主 IP 配置的专用 IP 地址发生更改,否则该 MAC 地址会始终分配给该网络接口。 若要详细了解 IP 地址和 IP 配置,请参阅管理 IP 地址

备注

Azure 为未获得公共 IP 地址或位于内部基本 Azure 负载均衡器后端池中的 Azure 虚拟机提供临时 IP。 临时 IP 机制可提供无法配置的出站 IP 地址。

如果将公共 IP 地址分配给某个虚拟机或将该虚拟机置入具有或不具有出站规则的标准负载均衡器的后端池中时,将禁用其原有的临时 IP。 如果向虚拟机的子网分配了 Azure 虚拟网络 NAT 网关资源,也会禁用其临时 IP。

有关 Azure 中出站连接的详细信息,请参阅为出站连接使用源网络地址转换 (SNAT)

命令

工具 命令
CLI az network nic create
PowerShell New-AzNetworkInterface

查看网络接口设置

创建网络接口后,可查看和更改其大多数设置。 门户不显示网络接口的 DNS 后缀或应用程序安全组成员身份。 可使用 PowerShell 或 Azure CLI 命令查看 DNS 后缀和应用程序安全组成员身份。

  1. 在 Azure 门户顶部包含“搜索资源”文本的框中,键入“网络接口”。 当“网络接口”出现在搜索结果中时,请选择它。
  2. 从列表中选择要查看或更改设置的网络接口。
  3. 为所选网络接口列出了以下项:
    • 概述: 提供网络接口的相关信息,例如分配给它的 IP 地址、网络接口分配到的虚拟网络/子网,以及网络接口附加到的虚拟机(若已附加到某虚拟机)。 下图显示名为 mywebserver256 的网络接口的概述设置: 网络接口概述

      可选择“资源组”或“订阅名称”旁边的“更改”,将网络接口移到其他资源组或订阅 。 如果将网络接口移到新订阅,必须同时移动与该网络接口相关的所有资源。 例如,如果网络接口已附加到虚拟机,则还必须移动该虚拟机及其相关的其他资源。 若要移动网络接口,请参阅将资源移到新的资源组或订阅。 该文章列出了先决条件,以及如何使用 Azure 门户、PowerShell 和 Azure CLI 移动资源。

    • IP 配置: 此处列出分配到 IP 配置的公共和专用 IPv4 及 IPv6 地址。 如果向 IP 配置分配了 IPv6 地址,该地址不会显示。 若要详细了解 IP 配置以及如何添加和删除 IP 地址,请参阅为 Azure 网络接口配置 IP 地址。 此部分还配置了 IP 转发和子网分配。 若要详细了解这些设置,请参阅启用或禁用 IP 转发更改子网分配

    • DNS 服务器: 可指定 Azure DHCP 服务器向网络接口分配哪个 DNS 服务器。 网络接口可从其连接到的虚拟网络继承设置,或使用自定义设置来替代其分配到的虚拟网络的设置。 若要修改显示的内容,请参阅更改 DNS 服务器

    • 网络安全组 (NSG) :显示与网络接口关联的 NSG(若有)。 NSG 包含用于筛选网络接口网络流量的入站和出站规则。 如果网络接口关联有 NSG,会显示关联的 NSG 的名称。 若要修改显示的内容,请参阅关联或取消关联网络安全组

    • 属性: 显示有关网络接口的关键设置,包括其 MAC 地址(若网络接口未附加到虚拟机,则为空)及其所在的订阅。

    • 有效的安全规则: 如果网络接口已附加到正在运行的虚拟机,且某 NSG 已关联到该接口和/或其分配到的子网,则会列出安全规则。 若要了解有关显示内容的详细信息,请参阅查看有效的安全规则。 若要了解有关 NSG 的详细信息,请参阅网络安全组

    • 有效的路由: 如果网络接口已附加到正在运行的虚拟机,则会列出路由。 路由是 Azure 默认路由、用户定义的任何路由以及网络接口分配到的子网可能存在的任何 BGP 路由的组合。 若要了解有关显示内容的详细信息,请参阅查看有效的路由。 若要了解有关 Azure 默认路由和用户定义的路由的详细信息,请参阅路由概述

常见的 Azure 资源管理器设置:若要详细了解常见的 Azure 资源管理器设置,请参阅活动日志访问控制 (IAM)标记锁定自动化脚本

命令

如果将 IPv6 地址分配到网络接口,PowerShell 输出将返回信息表示地址已分配,但不返回分配的地址。 同样,CLI 将返回信息表示地址已分配,但在其地址的输出中返回 null。

工具 命令
CLI 使用 az network nic list 查看订阅中的网络接口;使用 az network nic show 查看网络接口的设置
PowerShell 使用 Get-AzNetworkInterface 查看订阅中的网络接口或查看网络接口的设置

更改 DNS 服务器

DNS 服务器由 Azure DHCP 服务器分配到虚拟机操作系统中的网络接口。 分配的 DNS 服务器设置就是网络接口的 DNS 服务器设置。 若要详细了解网络接口的名称解析设置,请参阅虚拟机的名称解析。 网络接口可从虚拟网络继承设置,或使用自身唯一的设置替代虚拟网络的设置。

  1. 在 Azure 门户顶部包含“搜索资源”文本的框中,键入“网络接口”。 当“网络接口”出现在搜索结果中时,请选择它。
  2. 从列表中选择要更改 DNS 服务器的网络接口。
  3. 选择“设置”下的“DNS 服务器”。
  4. 选择以下任一项:
    • 从虚拟网络继承:选择此选项可继承针对网络接口分配到的虚拟网络定义的 DNS 服务器设置。 自定义 DNS 服务器或 Azure 提供的 DNS 服务器会在虚拟网络级别定义。 Azure 提供的 DNS 服务器可解析分配到同一虚拟网络的资源的主机名。 必须使用 FQDN 解析分配到不同虚拟网络的资源。

    • 自定义:可自行配置 DNS 服务器来解析多个虚拟网络中的名称。 输入要用作 DNS 服务器的服务器的 IP 地址。 指定的 DNS 服务器地址仅分配到此网络接口,并会替代该网络接口分配到的虚拟网络的任何 DNS 设置。

      备注

      如果 VM 使用属于某个可用性集的 NIC,则将继承为属于该可用性集的所有 NIC 中的每个 VM 指定的所有 DNS 服务器。

  5. 选择“保存” 。

命令

工具 命令
CLI az network nic update
PowerShell Set-AzNetworkInterface

启用/禁用 IP 转发

IP 转发使网络接口附加到的虚拟机能够:

  • 接收未针对分配给任一网络接口 IP 配置的 IP 地址的网络流量。
  • 使用与分配给某一网络接口 IP 配置的源 IP 地址不同的地址发送网络流量。

必须为附加到虚拟机并接收虚拟机需转发的流量的每个网络接口启用该设置。 无论虚拟机上附加了一个还是多个网络接口,该虚拟机都可转发流量。 尽管 IP 转发是一项 Azure 设置,但虚拟机也必须运行某个应用程序(例如防火墙、WAN 优化和负载均衡应用程序)才能转发流量。 运行网络应用程序的虚拟机通常称为网络虚拟设备。 可在 Azure 市场中查看可直接部署的网络虚拟设备列表。 IP 转发通常用于用户定义的路由。 若要深入了解用户定义的路由,请参阅用户定义的路由

  1. 在 Azure 门户顶部包含“搜索资源”文本的框中,键入“网络接口”。 当“网络接口”出现在搜索结果中时,请选择它。
  2. 选择要为其启用或禁用 IP 转发的网络接口。
  3. 在“设置”部分中选择“IP 配置”。
  4. 选择“启用”或“禁用”(默认设置)以更改设置。
  5. 选择“保存” 。

命令

工具 命令
CLI az network nic update
PowerShell Set-AzNetworkInterface

更改子网分配

可更改网络接口分配到的子网,但无法更改它分配到的虚拟网络。

  1. 在 Azure 门户顶部包含“搜索资源”文本的框中,键入“网络接口”。 当“网络接口”出现在搜索结果中时,请选择它。
  2. 选择要更改子网分配的网络接口。
  3. 在“设置”下选择“IP 配置”。 如果所列任何 IP 配置的任何专用 IP 地址旁边出现“(静态)”,则必须完成以下步骤,将 IP 地址分配方法更改为动态。 必须使用动态分配方法分配所有专用 IP 地址,以更改网络接口的子网分配。 如果使用动态方法分配地址,请转到步骤 5。 如果使用静态分配方法分配了任何 IPv4 地址,请完成以下步骤,将分配方法更改为动态:
    • 从 IP 配置列表中选择要更改 IPv4 地址分配方法的 IP 配置。
    • 选择“动态”作为专用 IP 地址 分配 方法。 无法使用静态分配方法分配 IPv6 地址。
    • 选择“保存” 。
  4. 从“子网”下拉列表中选择要将网络接口移到的子网。
  5. 选择“保存” 。 新的动态地址是从新子网的子网地址范围中分配的。 将网络接口分配到新子网之后,可在需要时从新子网地址范围中分配静态 IPv4 地址。 若要详细了解如何添加、更改和删除网络接口的 IP 地址,请参阅管理 IP 地址

命令

工具 命令
CLI az network nic ip-config update
PowerShell Set-AzNetworkInterfaceIpConfig

添加到应用程序安全组或从中删除

只有在网络接口连接到虚拟机的情况下,才可以使用门户将网络接口添加到应用程序安全组或从中删除。 无论网络接口是否连接到虚拟机,都可使用 PowerShell 或 Azure CLI 将网络接口添加到应用程序安全组或从中删除。 了解应用程序安全组以及如何创建应用程序安全组

  1. 在门户顶部的“搜索资源、服务和文档”框中,键入虚拟机的名称,该虚拟机具有要添加到应用程序安全组或要从应用程序安全组中删除的网络接口。 当 VM 名称显示在搜索结果中时,将其选中。
  2. 在“设置”下选择“网络” 。 依次选择“应用程序安全组”、“配置应用程序安全组”,选择要向其添加网络接口的应用程序安全组,或者取消选择要从中删除网络接口的应用程序安全组,然后选择“保存”。 只有位于同一虚拟网络的网络接口才能添加到同一应用程序安全组。 应用程序安全组必须与网络接口位于同一位置。

命令

工具 命令
CLI az network nic update
PowerShell Set-AzNetworkInterface

关联或取消关联网络安全组

  1. 在门户顶部的搜索框中,输入“网络接口”。 当“网络接口”出现在搜索结果中时,请选择它。
  2. 在列表中选择要与网络安全组相关联或取消关联的网络接口。
  3. 在“设置”下选择“网络安全组” 。
  4. 选择“编辑”。
  5. 选择“网络安全组”,然后选择要与网络接口相关联的网络安全组,或者选择“无”来取消关联网络安全组 。
  6. 选择“保存” 。

命令

删除网络接口

只要网络接口未附加到虚拟机,即可删除此接口。 如果已将网络接口连接到虚拟机,必须先将虚拟机置于停止(解除分配)状态,然后才能将网络接口从虚拟机中拆离。 若要从虚拟机中分离网络接口,请完成从虚拟机中分离网络接口中的步骤。 但是,如果这是连接到虚拟机的唯一网络接口,则无法从虚拟机中拆离网络接口。 虚拟机必须始终附加有至少一个网络接口。 删除虚拟机会分离其上附加的所有网络接口,但不会删除网络接口。

  1. 在 Azure 门户顶部包含“搜索资源”文本的框中,键入“网络接口”。 当“网络接口”出现在搜索结果中时,请选择它。
  2. 在列表中选择要删除的网络接口。
  3. 在“概述”下,选择“删除”。
  4. 选择“是”确认删除该网络接口。

删除网络接口时,会释放已分配给它的所有 MAC 或 IP 地址。

命令

工具 命令
CLI az network nic delete
PowerShell Remove-AzNetworkInterface

解决连接问题

如果无法与虚拟机进行通信,则网络安全组安全规则或对网络接口有效的路由可能会导致问题。 以下选项可帮助解决问题:

查看有效的安全规则

连接到虚拟机的每个网络接口的有效安全规则是网络安全组中已创建的规则和默认安全规则的组合。 理解网络接口的有效安全规则有助于确定无法与虚拟机进行通信的原因。 可查看连接到正在运行的虚拟机的任何网络接口的有效规则。

  1. 在门户顶部的搜索框中,输入要查看其有效安全规则的虚拟机的名称。 如果不知道虚拟机的名称,请在搜索框中输入“虚拟机”。 当“虚拟机”出现在搜索结果中时,请选择它,然后从列表中选择一个虚拟机。
  2. 在“设置”下选择“网络” 。
  3. 选择网络接口的名称。
  4. 在“支持 + 疑难解答”下,选择“有效安全规则” 。
  5. 查看有效安全规则列表,确定所需入站和出站通信是否存在正确的规则。 在网络安全组概述中了解有关列表中所看到内容的详细信息。

Azure 网络观察程序的 IP 流验证功能还有助于确定安全规则是否阻止虚拟机与终结点之间的通信。 若要了解详细信息,请参阅 IP 流验证

命令

查看有效路由

连接到虚拟机的网络接口的有效路由是默认路由、已创建的任何路由以及凭借 Azure 虚拟网络网关通过 BGP 从本地网络传播的任何路由的组合。 理解网络接口的有效路由有助于确定无法与虚拟机进行通信的原因。 可以查看已附加到运行中虚拟机的任何网络接口的有效路由。

  1. 在门户顶部的搜索框中,输入要查看其有效安全规则的虚拟机的名称。 如果不知道虚拟机的名称,请在搜索框中输入“虚拟机”。 当“虚拟机”出现在搜索结果中时,请选择它,然后从列表中选择一个虚拟机。
  2. 在“设置”下选择“网络” 。
  3. 选择网络接口的名称。
  4. 在“支持 + 故障排除”下,选择“有效路由”。
  5. 查看有效路由列表,确定所需入站和出站通信是否存在正确的路由。 在路由概述中了解有关列表中所看到内容的详细信息。

Azure 网络观察程序的下一个跃点功能还有助于确定路由是否阻止虚拟机与终结点之间的通信。 若要了解详细信息,请参阅下一个跃点

命令

权限

若要在网络接口上执行任务,必须将你的帐户分配到网络参与者角色或分配有下表中所列适当权限的自定义角色:

操作 名称
Microsoft.Network/networkInterfaces/read 获取网络接口
Microsoft.Network/networkInterfaces/write 创建或更新网络接口
Microsoft.Network/networkInterfaces/join/action 向虚拟机添加网络接口
Microsoft.Network/networkInterfaces/delete 删除网络接口
Microsoft.Network/networkInterfaces/joinViaPrivateIp/action 通过服务将资源加入到网络接口
Microsoft.Network/networkInterfaces/effectiveRouteTable/action 获取网络接口的有效路由表
Microsoft.Network/networkInterfaces/effectiveNetworkSecurityGroups/action 获取网络接口的有效安全组
Microsoft.Network/networkInterfaces/loadBalancers/read 获取网络接口负载平衡器
Microsoft.Network/networkInterfaces/serviceAssociations/read 获取服务关联
Microsoft.Network/networkInterfaces/serviceAssociations/write 创建或更新服务关联
Microsoft.Network/networkInterfaces/serviceAssociations/delete 删除设备关联
Microsoft.Network/networkInterfaces/serviceAssociations/validate/action 验证服务关联
Microsoft.Network/networkInterfaces/ipconfigurations/read 获取网络接口 IP 配置

后续步骤