通过网络接口 (NIC),Azure 虚拟机 (VM) 可以和 Internet、Azure 及本地资源进行通信。 本文解释了如何创建、查看和更改 NIC 的设置以及如何删除 NIC。
在 Azure 门户中创建的 VM 具有一个包含默认设置的 NIC。 可以改为使用自定义设置创建 NIC,并在创建 VM 时或之后将一个或多个 NIC 添加到 VM。 还可以更改现有 NIC 的设置。
先决条件
需要具备以下先决条件:
要运行本文中的过程,请使用 Azure 帐户登录到 Azure 门户。 可以将示例中的占位符替换为自己的值。
要运行本文中的命令,需要具备以下先决条件:
可以在 Azure Cloud Shell 中或在计算机上从 Azure CLI 运行命令。
Azure Cloud Shell 是免费的交互式 Shell,它预安装了常用 Azure 工具并将其配置为与帐户一起使用。 要在 Cloud Shell 中运行命令,请选择代码块右上角的“打开 Cloudshell”。 选择“复制”以复制代码,并将其粘贴到 Cloud Shell 以运行。 也可以从 Azure 门户中运行 Cloud Shell。
如果 在本地安装 Azure CLI 来运行命令,则需要 Azure CLI 2.31.0 或更高版本。 运行 az version 以查找已安装的版本,并运行 az upgrade 进行升级。
如果收到系统提示,请在首次使用时安装 Azure CLI 扩展。 有关详细信息,请参阅使用 Azure CLI 的扩展。
运行 az login 以连接到 Azure。 有关详细信息,请参阅使用 Azure CLI 登录。
在以下过程中,可以将示例占位符名称替换为自己的值。
要运行本文中的命令,需要具备以下先决条件:
可以在 Azure Cloud Shell 中或在计算机上从 PowerShell 运行命令。
Azure Cloud Shell 是免费的交互式 Shell,它预安装了常用 Azure 工具并将其配置为与帐户一起使用。 要在 Cloud Shell 中运行命令,请选择代码块右上角的“打开 Cloudshell”。 选择“复制”以复制代码,并将其粘贴到 Cloud Shell 以运行。 也可以从 Azure 门户中运行 Cloud Shell。
如果在本地安装 Azure PowerShell 来运行命令,则需要 Azure PowerShell 模块版本 5.4.1 或更高版本。 运行 Get-Module -ListAvailable Az
来查找已安装的版本。 如果需要升级,请参阅更新 Azure PowerShell 模块。
此外,确保 Az.Network
模块为 4.3.0 或更高版本。 要验证已安装的模块,可使用 Get-InstalledModule -Name "Az.Network"
。 如果要更新,请使用命令 Update-Module -Name Az.Network
。
然后运行 Connect-AzAccount
以连接到 Azure。 有关详细信息,请参阅使用 Azure PowerShell 登录。
在以下过程中,可以将示例占位符名称替换为自己的值。
权限
要使用 NIC,必须将帐户分配到网络参与者角色或分配了以下列表中适当操作的自定义角色:
操作 |
名称 |
Microsoft.Network/networkInterfaces/read |
获取网络接口 |
Microsoft.Network/networkInterfaces/write |
创建或更新网络接口 |
Microsoft.Network/networkInterfaces/join/action |
向虚拟机添加网络接口 |
Microsoft.Network/networkInterfaces/delete |
删除网络接口 |
Microsoft.Network/networkInterfaces/joinViaPrivateIp/action |
通过专用 IP 将资源加入到网络接口 |
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 配置 |
创建网络接口
可以在 Azure 门户或使用 Azure CLI 或 Azure PowerShell 创建 NIC。
门户不提供在创建 NIC 时为其分配公共 IP 地址的选项。 如果要创建包含公共 IP 地址的 NIC,请使用 Azure CLI 或 PowerShell。 要在创建 NIC 后将公共 IP 地址添加到 NIC,请参阅为 Azure 网络接口配置 IP 地址。
创建 VM 时,门户会创建具有默认设置和公共 IP 地址的 NIC。 要使用自定义设置创建 NIC 并将其附加到 VM,或将 NIC 添加到现有 VM,请使用 PowerShell 或 Azure CLI。
门户不提供在创建 NIC 时将 NIC 分配到应用程序安全组的选项,但 Azure CLI 和 PowerShell 会提供。 但如果将现有 NIC 附加到 VM,则可以使用门户将该 NIC 分配给应用程序安全组。 有关详细信息,请参阅在应用程序安全组中添加或从其中移除。
要创建 NIC,请使用以下过程。
在 Azure 门户中,搜索并选择“网络接口”。
在“网络接口”页上,选择“创建”。
在“创建网络接口”屏幕上,输入或选择 NIC 设置的值。
选择“查看 + 创建”,然后在验证通过后选择“创建”。
以下示例会创建一个 Azure 公共 IP 地址并将其与 NIC 相关联。
使用 az network public-ip create 创建主要公共 IP 地址。
az network public-ip create \
--resource-group myResourceGroup \
--name myPublicIP \
--sku Standard \
--version IPv4 \
--zone 1 2 3
使用 az network nsg create 创建 NIC。 要创建不带公共 IP 地址的 NIC,请省略 az network nic create
的 --public-ip-address
参数。
az network nic create \
--resource-group myResourceGroup \
--name myNIC \
--private-ip-address-version IPv4 \
--vnet-name myVNet \
--subnet myBackEndSubnet \
--public-ip-address myPublicIP
以下示例会创建一个 Azure 公共 IP 地址并将其与 NIC 相关联。
使用 New-AzPublicIpAddress 创建主公共 IP 地址。
$ip = @{
Name = 'myPublicIP'
ResourceGroupName = 'myResourceGroup'
Location = 'eastus2'
Sku = 'Standard'
AllocationMethod = 'Static'
IpAddressVersion = 'IPv4'
Zone = 1,2,3
}
New-AzPublicIpAddress @ip
使用 New-AzNetworkInterfaceIpConfig 和 New-AzNetworkInterface 创建 NIC。 要创建不带公共 IP 地址的 NIC,请省略 New-AzNetworkInterfaceIPConfig
的 -PublicIpAddress
参数。
## Place the virtual network into a variable. ##
$net = @{
Name = 'myVNet'
ResourceGroupName = 'myResourceGroup'
}
$vnet = Get-AzVirtualNetwork @net
## Place the primary public IP address into a variable. ##
$pub = @{
Name = 'myPublicIP'
ResourceGroupName = 'myResourceGroup'
}
$pubIP = Get-AzPublicIPAddress @pub
## Create primary configuration for NIC. ##
$IP1 = @{
Name = 'ipconfig1'
Subnet = $vnet.Subnets[0]
PrivateIpAddressVersion = 'IPv4'
PublicIPAddress = $pubIP
}
$IP1Config = New-AzNetworkInterfaceIpConfig @IP1 -Primary
## Command to create network interface for VM ##
$nic = @{
Name = 'myNIC'
ResourceGroupName = 'myResourceGroup'
Location = 'eastus2'
IpConfiguration = $IP1Config
}
New-AzNetworkInterface @nic
你可以配置 NIC 的以下设置:
设置 |
值 |
详细信息 |
订阅 |
选择订阅。 |
只能将 NIC 分配给同一订阅和位置中的虚拟网络。 |
资源组 |
选择你的资源组,或新建一个资源组。 |
资源组是对 Azure 资源进行分组的逻辑容器。 NIC 可与它附加到的 VM 或连接到的虚拟网络位于相同或不同的资源组中。 |
名称 |
输入 NIC 的名称。 |
名称在资源组中必须唯一。 有关创建命名约定以便更轻松地管理多个 NIC 的信息,请参阅资源命名。 创建 NIC 后,将无法更改其名称。 |
区域 |
选择你的区域。 |
将在其中创建 NIC 的 Azure 区域。 |
虚拟网络 |
选择你的虚拟网络。 |
只能将 NIC 分配给与 NIC 位于同一订阅和位置中的虚拟网络。 创建 NIC 后,将无法将 NIC 分配到的虚拟网络。 将 NIC 添加到的 VM 也必须位于该 NIC 所在的同一位置和订阅中。 |
子网 |
在所选的虚拟网络中选择一个子网。 |
创建 NIC 后,可以更改 NIC 分配到的子网。 |
IP 版本 |
选择“IPv4”或 “IPv4 和 IPv6”。 |
可以选择使用 IPv4 地址或 IPv4 和 IPv6 地址创建 NIC。 要分配 IPv6 地址,用于 NIC 的网络和子网还必须具有 IPv6 地址空间。 IPv6 配置将分配给 NIC 的辅助 IP 配置。 |
专用 IP 地址分配 |
选择“动态”或“静态”。 |
Azure DHCP 服务器会将专用 IP 地址分配给 VM 操作系统中的 NIC。
- 如果选择“动态”,则 Azure 将从所选子网的地址空间中自动分配下一个可用地址。
- 如果选择“静态”,则必须从所选子网的地址空间中手动分配一个可用的 IP 地址。
静态地址和动态地址在更改它们或删除 NIC 前不会发生更改。 创建 NIC 后,可以更改分配方法。 |
注意
只有在将 NIC 附加到 VM 后并首次启动 VM 时,Azure 才会将 MAC 地址分配给 NIC。 无法指定 Azure 要分配给 NIC 的 MAC 地址。
在删除 NIC 或分配给主 NIC 的主 IP 配置的专用 IP 地址发生更改之前,该 MAC 地址将一直分配给该 NIC。 有关详细信息,请参阅为 Azure 网络接口配置 IP 地址。
注意
Azure 会为未分配公共 IP 地址的 VM 或位于内部基本 Azure 负载均衡器的后端池中的 VM 提供默认出站访问 IP。 默认出站访问 IP 机制会提供不可配置的出站 IP 地址。
发生以下事件之一时,将禁用默认出站访问 IP:
- 将公共 IP 地址分配给 VM。
- 虚拟机被放置在标准负载平衡器的后端池中,有无出站规则均可。
- 向 VM 的子网分配了 Azure NAT 网关资源。
在灵活业务流程模式下通过使用虚拟机规模集创建的 VM 没有默认的出站访问权限。
有关 Azure 中的出站连接的详细信息,请参阅 Azure 中的默认出站访问权限和使用用于出站连接的源网络地址转换 (SNAT)。
查看网络接口设置
创建 NIC 后,可以查看该 NIC 的大多数设置。 门户不显示 NIC 的 DNS 后缀或应用程序安全组成员身份。 可使用 Azure PowerShell 或 Azure CLI 命令查看 DNS 后缀和应用程序安全组成员身份。
在 Azure 门户中,搜索并选择“网络接口”。
在“网络接口”页上,选择要查看的 NIC。
在 NIC 的“概述”页上,查看基本信息,例如 IPv4 和 IPv6 IP 地址以及网络安全组 (NSG) 成员身份。
可以选择“编辑加速网络”来设置 NIC 的加速网络。 有关加速网络的详细信息,请参阅什么是加速网络?
在左侧导航栏中选择“IP 配置”,然后在“IP 配置”页上查看“IP 转发”、“子网”,以及公共和专用 IPv4 和 IPv6 IP 配置。 要详细了解 IP 配置以及如何添加和移除 IP 地址,请参阅为 Azure 网络接口配置 IP 地址。
在左侧导航栏中选择“DNS 服务器”,然后在“DNS 服务器”页上,查看 Azure DHCP 将 NIC 分配到的任何 DNS 服务器。 另请注意 NIC 是从虚拟网络继承设置还是具有可替代虚拟网络设置的自定义设置。
从左侧导航栏中选择“网络安全组”,然后在“网络安全组”页上查看与 NIC 关联的任何 NSG。 NSG 包含用于筛选 NIC 网络流量的入站和出站规则
在左侧导航栏中,选择“属性”。 在“属性”页上,查看 NIC 的设置,例如 MAC 地址和订阅信息。 如果未将 NIC 附加到 VM,则 MAC 地址将为空。
在左侧导航栏中选择“有效的安全规则”。 如果将 NIC 附加到正在运行的 VM 并与 NSG 关联,则“有效安全规则”页会列出安全规则。 有关 NSG 的详细信息,请参阅网络安全组。
在左侧导航栏中选择“有效路由”。 如果已将 NIC 附加到正在运行的 VM,则有效路由页会列出路由。
路由是 Azure 默认路由、任何用户定义的路由,以及 NIC 分配到的子网中存在的任何边界网关协议 (BGP) 路由的组合。 有关 Azure 默认路由和用户定义的路由的详细信息,请参阅虚拟网络流量路由。
使用 Get-AzureRmNetworkInterface 可查看订阅中的 NIC 或 NIC 的设置。
注意
移除 -Name
和 -ResourceGroupName
参数以返回订阅中的所有 NIC。
Get-AzNetworkInterface -Name myNIC -ResourceGroupName myResourceGroup
更改网络接口设置
创建 NIC 后,可以更改 NIC 的大部分设置。
添加或更改 DNS 服务器
Azure DHCP 会将 DNS 服务器分配到 VM 操作系统中的 NIC。 NIC 可从虚拟网络继承设置,或使用自己唯一的设置替代虚拟网络的设置。 要详细了解 NIC 的名称解析设置,请参阅虚拟机的名称解析。
在 Azure 门户中,搜索并选择“网络接口”。
在“网络接口”页上,从列表中选择要更改的 NIC。
在 NIC 页面上,从左侧导航栏中选择“DNS 服务器”。
在“DNS 服务器”页上,选择以下设置之一:
从虚拟网络继承:选择此选项以从 NIC 分配到的虚拟网络集成 DNS 服务器设置。 自定义 DNS 服务器或 Azure 提供的 DNS 服务器会在虚拟网络级别定义。
Azure 提供的 DNS 服务器可解析分配到同一虚拟网络的资源的主机名。 必须将完全限定的域名 (FQDN) 用于分配给不同虚拟网络的资源。
注意
如果 VM 使用属于某个可用性集的 NIC,则将继承属于该可用性集的所有 VM 的所有 NIC 的 DNS 服务器。
自定义:可自行配置 DNS 服务器来解析多个虚拟网络中的名称。 输入要用作 DNS 服务器的服务器的 IP 地址。 指定的 DNS 服务器地址只会分配到此 NIC,并替代 NIC 分配到的虚拟网络的任何 DNS 设置。
选择“保存”。
使用 az network nic update 将 DNS 服务器设置从继承更改为自定义设置。 将 DNS 服务器 IP 地址替换为自定义 IP 地址。
az network nic update \
--name myNIC \
--resource-group myResourceGroup \
--dns-servers 192.168.1.100 192.168.1.101
要移除 DNS 服务器并将设置更改为虚拟网络设置继承,请使用以下命令:
az network nic update \
--name myNIC \
--resource-group myResourceGroup \
--dns-servers null
使用 Set-AzNetworkInterface 将 DNS 服务器设置从继承更改为自定义设置。 将 DNS 服务器 IP 地址替换为自定义 IP 地址。
## Place the network interface configuration into a variable. ##
$nic = Get-AzNetworkInterface -Name myNIC -ResourceGroupName myResourceGroup
## Add the DNS servers to the configuration. ##
$nic.DnsSettings.DnsServers.Add("192.168.1.100")
## Add a secondary DNS server if needed, otherwise set the configuration. ##
$nic.DnsSettings.DnsServers.Add("192.168.1.101")
## Apply the new configuration to the network interface. ##
$nic | Set-AzNetworkInterface
若要删除 DNS 服务器并将设置更改为从虚拟网络继承,请使用以下命令。 将 DNS 服务器 IP 地址替换为自定义 IP 地址。
## Place the network interface configuration into a variable. ##
$nic = Get-AzNetworkInterface -Name myNIC -ResourceGroupName myResourceGroup
## Add the DNS servers to the configuration. ##
$nic.DnsSettings.DnsServers.Remove("192.168.1.100")
## Add a secondary DNS server if needed, otherwise set the configuration. ##
$nic.DnsSettings.DnsServers.Remove("192.168.1.101")
## Apply the new configuration to the network interface. ##
$nic | Set-AzNetworkInterface
启用/禁用 IP 转发
使用 IP 转发,附加到 VM 的 NIC 可以:
- 接收网络流量,但这些流量不是发往在任何 NIC 的 IP 配置中分配的任何 IP 地址。
- 使用源 IP 地址发送网络流量,但该地址与在任何 NIC 的 IP 配置中分配的地址不同。
必须启用 IP 转发,以便附加到 VM 的每个 NIC 能够转发流量。 不管 VM 上附加了一个还是多个 NIC,该 VM 都可转发流量。
IP 转发通常用于用户定义的路由。 有关详细信息,请参阅用户定义的路由。
虽然 IP 转发是一项 Azure 设置,但 VM 也必须运行能够转发流量的应用程序,例如,防火墙、WAN 优化和负载均衡应用程序。 运行网络应用程序的 VM 通常称为网络虚拟设备 (NVA)。 可在 Azure 市场中查看可直接部署的 NVA 列表。
- 在 NIC 页面上,选择左侧导航栏中的“IP 配置”。
- 在“IP 配置”页上的“IP 转发设置”下,选择“已启用”或“已禁用”(默认设置)以更改设置。
- 选择“保存”。
使用 az network nic update 启用或禁用 IP 转发设置。
若要启用 IP 转发,请使用以下命令:
az network nic update \
--name myNIC \
--resource-group myResourceGroup \
--ip-forwarding true
若要禁用 IP 转发,请使用以下命令:
az network nic update \
--name myNIC \
--resource-group myResourceGroup \
--ip-forwarding false
使用 Set-AzNetworkInterface 启用或禁用 IP 转发设置。
若要启用 IP 转发,请使用以下命令:
## Place the network interface configuration into a variable. ##
$nic = Get-AzNetworkInterface -Name myNIC -ResourceGroupName myResourceGroup
## Set the IP forwarding setting to enabled. ##
$nic.EnableIPForwarding = 1
## Apply the new configuration to the network interface. ##
$nic | Set-AzNetworkInterface
若要禁用 IP 转发,请使用以下命令:
## Place the network interface configuration into a variable. ##
$nic = Get-AzNetworkInterface -Name myNIC -ResourceGroupName myResourceGroup
## Set the IP forwarding setting to disabled. ##
$nic.EnableIPForwarding = 0
## Apply the new configuration to the network interface. ##
$nic | Set-AzNetworkInterface
更改子网分配
可更改 NIC 分配到的子网,但无法更改它分配到的虚拟网络。
在 NIC 页面上,选择左侧导航栏中的“IP 配置”。
在“IP 配置”页中“IP 配置”下面,如果在列出的任何专用 IP 地址旁边存在“(静态)”,请将 IP 地址分配方法改为“动态”。 必须使用动态分配方法分配所有专用 IP 地址,以更改 NIC 的子网分配。
要将分配方法更改为“动态”,请执行以下操作:
- 在 IP 配置列表中,选择想要更改的 IP 配置。
- 在“IP 配置”页上,请在“分配”下面选择“动态”。
- 选择“保存”。
在将所有专用 IP 地址设置为“动态”后,在“子网”下选择要将 NIC 移动到的子网。
选择“保存”。 新的动态地址是从新子网的地址范围中分配的。
将 NIC 分配到新子网后,如果需要,可以从新的子网地址范围中分配静态 IPv4 地址。 有关为 NIC 添加、更改和移除 IP 地址的详细信息,请参阅为 Azure 网络接口配置 IP 地址。
使用 az network nic ip-config update 更改 NIC 的子网。
az network nic ip-config update \
--name ipv4config \
--nic-name myNIC \
--resource-group myResourceGroup \
--subnet mySubnet \
--vnet-name myVNet
使用 Set-AzNetworkInterfaceIpConfig 更改 NIC 的子网。
## Place the virtual network into a variable. ##
$net = @{
Name = 'myVNet'
ResourceGroupName = 'myResourceGroup'
}
$vnet = Get-AzVirtualNetwork @net
## Place the network interface configuration into a variable. ##
$nic = Get-AzNetworkInterface -Name myNIC -ResourceGroupName myResourceGroup
## Change the subnet in the IP configuration. Replace the subnet number with number of your subnet in your VNet. Your first listed subnet in your VNet is 0, next is 1, and so on. ##
$IP = @{
Name = 'ipv4config'
Subnet = $vnet.Subnets[1]
}
$nic | Set-AzNetworkInterfaceIpConfig @IP
## Apply the new configuration to the network interface. ##
$nic | Set-AzNetworkInterface
警告
启动虚拟机时,可以更改主网络接口的子网。 不能以相同的方式更改辅助网络接口的子网。 若要更改辅助网络接口的子网,必须先停止并取消分配虚拟机。
添加到应用程序安全组或从中删除
只能将 NIC 添加到与 NIC 位于同一虚拟网络和位置的应用程序安全组。
仅在将 NIC 附加到 VM 后,才能使用门户添加或移除应用程序安全组的 NIC。 否则,请使用 PowerShell 或 Azure CLI。 有关详细信息,请参阅应用程序安全组以及如何创建应用程序安全组。
要在 VM 上添加或移除应用程序安全组的 NIC,请遵循以下过程:
在 Azure 门户中,搜索并选择“虚拟机”。
在“虚拟机”页上,从列表中选择要配置的 VM。
在 VM 页的左侧导航栏中选择“网络”。
在“网络”页上的“应用程序安全组”选项卡下面,选择“配置应用程序安全组”。
选择要向其添加 NIC 的应用程序安全组,或取消选择要从中移除 NIC 的应用程序安全组。
选择“保存”。
使用 az network nic ip-config update 设置应用程序安全组。
az network nic ip-config update \
--name ipv4config \
--nic-name myNIC \
--resource-group myResourceGroup \
--application-security-groups myASG
使用 Set-AzNetworkInterfaceIpConfig 设置应用程序安全组。
## Place the virtual network into a variable. ##
$net = @{
Name = 'myVNet'
ResourceGroupName = 'myResourceGroup'
}
$vnet = Get-AzVirtualNetwork @net
## Place the subnet configuration into a variable. ##
$subnet = Get-AzVirtualNetworkSubnetConfig -Name mySubnet -VirtualNetwork $vnet
## Place the network interface configuration into a variable. ##
$nic = Get-AzNetworkInterface -Name myNIC -ResourceGroupName myResourceGroup
## Place the application security group configuration into a variable. ##
$asg = Get-AzApplicationSecurityGroup -Name myASG -ResourceGroupName myResourceGroup
## Add the application security group to the IP configuration. ##
$IP = @{
Name = 'ipv4config'
Subnet = $subnet
ApplicationSecurityGroup = $asg
}
$nic | Set-AzNetworkInterfaceIpConfig @IP
## Save the configuration to the network interface. ##
$nic | Set-AzNetworkInterface
关联或取消关联网络安全组
- 在 NIC 页面上,选择左侧导航栏中的“网络安全组”。
- 在“网络安全组”页上,选择要关联的网络安全组,或选择“无”以取消关联 NSG。
- 选择“保存”。
使用 az network nic update 为 NIC 设置网络安全组。
az network nic update \
--name myNIC \
--resource-group myResourceGroup \
--network-security-group myNSG
使用 Set-AzNetworkInterface 为 NIC 设置网络安全组。
## Place the network interface configuration into a variable. ##
$nic = Get-AzNetworkInterface -Name myNIC -ResourceGroupName myResourceGroup
## Place the network security group configuration into a variable. ##
$nsg = Get-AzNetworkSecurityGroup -Name myNSG -ResourceGroupName myResourceGroup
## Add the NSG to the NIC configuration. ##
$nic.NetworkSecurityGroup = $nsg
## Save the configuration to the network interface. ##
$nic | Set-AzNetworkInterface
删除网络接口
如果 NIC 未附加到 VM,则可以删除该 NIC。 如果 NIC 已附加到 VM,则必须首先停止并解除分配 VM,然后拆离 NIC。
要从 VM 拆离 NIC,请完成从 VM 中移除网络接口中的步骤。 VM 必须始终至少附加有一个 NIC,因此无法从 VM 中删除唯一的 NIC。
要删除 NIC,请在要删除的 NIC 的“概述”页上,从顶部菜单栏中选择“删除”,然后选择“是”。
解决连接问题
如果遇到与 VM 的通信问题,则问题可能是网络安全组规则或有效路由引起的。 使用以下选项可帮助解决问题。
查看有效的安全规则
附加到 VM 的每个 NIC 的有效安全规则是你在 NSG 中创建的规则和默认安全规则的组合。 了解 NIC 有效安全规则可能会有助于确定无法与虚拟机进行通信的原因。 如果任何 NIC 已附加到正在运行的 VM,则可以查看其有效规则。
- 在 Azure 门户中,搜索并选择“虚拟机”。
- 在“虚拟机 ”页上,选择要查看其设置的 VM。
- 在 VM 页的左侧导航栏中选择“网络”。
- 在“网络”页中,选择“网络接口”。
- 在 NIC 页面上,在左侧导航中选择“帮助”下面的“有效安全规则”。
- 查看有效安全规则列表,以确定所需入站和出站通信是否存在正确的规则。 有关安全规则的详细信息,请参阅网络安全组概述。
查看有效路由
附加到 VM 的 NIC 的有效路由包括:
- 默认路由
- 用户定义路由
- 借由 BGP 通过 Azure 虚拟网络网关从本地网络传播的路由。
了解 NIC 的有效路由可能会有助于确定无法与 VM 通信的原因。 如果任何 NIC 已附加到正在运行的 VM,则可以查看其有效规则。
- 在附加到 VM 的 NIC 页上左侧导航栏中,选择“帮助”下面的“有效路由”。
- 查看有效路由列表,以确定所需入站和出站通信是否存在正确的路由。 有关路由的详细信息,请参阅路由概述。
使用 Get-AzEffectiveRouteTable 查看有效路由列表。
Get-AzEffectiveRouteTable -NetworkInterfaceName myNIC -ResourceGroupName myResourceGroup
Azure 网络观察程序的下一个跃点功能还有助于确定路由是否阻止了虚拟机与终结点之间的通信。 有关详细信息,请参阅教程:使用 Azure 门户诊断虚拟机网络路由问题。
后续步骤
有关其他网络接口任务,请参阅以下文章: