Compartilhar via

Azure 中的默认出站访问

在Azure中,在没有显式定义的出站连接方法的情况下在virtual network中部署虚拟机(VM),Azure会自动为其分配出站公共 IP 地址。 此 IP 地址支持从资源到 Internet 和 Microsoft 中的其他公共终结点的出站连接。 此访问称为默认出站访问。

虚拟机的显式出站连接的示例包括:

  • 部署在与 NAT 网关关联的子网中。
  • 部署在标准负载均衡器的后端池中,其中定义了出站规则。
  • 部署在基本公共负载均衡器的后端池中。
  • 虚拟机与其显式关联的公共 IP 地址。

显式出站选项的示意图。

默认出站访问的提供时机和方式

如果未使用显式出站连接方法部署虚拟机(VM),Azure为其分配默认出站公共 IP 地址。 此 IP 地址(称为默认出站访问 IP)由 Microsoft 拥有,可以在不通知的情况下进行更改。 此外,默认出站连接依赖于隐式平台行为,并且可能会受到平台级更改的影响。 对于需要确定性出站行为的方案,建议使用显式配置。

默认出站访问的决策树示意图。

注意事项

在某些情况下,即使配置了显式出站方法(例如 NAT 网关或 UDR)将流量定向到 NVA/防火墙,也仍将默认出站 IP 分配到非专用子网中的virtual machines。 这并不意味着默认出站 IP 用于出口,除非删除了这些显式方法。 若要完全删除默认出站 IP,必须将子网设为专用子网,并且必须停止并解除分配虚拟机。

重要

2026 年 3 月 31 日之后,新的虚拟网络将默认使用专用子网,这意味着必须启用显式出站方法才能访问 Internet 和Microsoft中的公共终结点。 有关详细信息,请参阅 官方公告。 建议使用以下部分中所述的显式连接形式之一。 有关其他问题,请参阅“常见问题解答:默认行为更改为专用子网”部分。

Security:默认 Internet access与Zero Trust原则相矛盾。
Clarity:显式访问优于隐式访问。
稳定性:默认出站 IP 不是客户拥有的,可以更改;服务更新还可能会影响默认出站行为,这两种行为都可能导致中断。

使用默认出站访问时不起作用的一些配置示例:

  • VM 上的多个 NIC 可能会产生不一致的出站 IP
  • 缩放 Azure 虚拟机规模集可能会导致更改其出站 IP 的地址
  • 跨虚拟机规模集实例的出站 IP 既不一致也不具连续性。

另外,

  • 默认出站访问 IP 不支持分段数据包
  • 默认出站访问IP不支持ICMP ping命令

根据以下步骤转换为公共连接的显式方法,并禁用默认的出站访问。

专用子网概述

  • 创建一个专用子网可防止子网上的任何虚拟机利用默认出站访问连接到公共终结点。
  • 专用子网上的 VM 仍然可以使用显式出站连接访问互联网(或 Microsoft 内的任何公共终结点)。

    注意事项

    某些服务在没有显式出口方法(例如 Windows 激活和 Windows 更新)的情况下,在专用子网中的虚拟机上不起作用。

如何配置专用子网

Azure 门户中的手动配置步骤(无向导)

  1. 打开 Azure 门户
  2. 转到 虚拟网络
  3. 选择包含要修改的子网的虚拟网络。
  4. 在左侧菜单中,选择 “子网”。
  5. 选择要设为专用的子网。
  6. 找到 默认出站访问 设置。
  7. 默认出站访问 设置为 “已禁用”。
  8. 选择“保存”

显式地设置了子网属性:

defaultOutboundAccess = false

这会阻止 Azure 将此子网中的虚拟机分配默认出站公共 IP。

专用子网的限制

  • 若要激活或更新虚拟机操作系统(例如 Windows),需要显式出站连接方法。

  • 在使用用户定义路由(UDR)的配置中,任何配置的路由在专用子网中因为下一跳类型而中断。

    • 一个常见示例是使用 UDR 将流量引导到上游网络虚拟设备/防火墙,但某些Azure服务标记除外,以绕过检查。 为了实现这一点,可以通过配置下一跃点类型 Internet 来设置到这些服务标签的路由。 在此方案中,将配置以下内容:

      • 目标 0.0.0.0/0 的默认路由在一般情况下应用于下一跃点类型为虚拟设备。

      • 一个或多个路由被配置为服务标记目标,并具有Internet的下一跃点类型,以绕过 NVA/防火墙。 除非为连接到这些目标的源明确配置了一种出站连接方法,否则尝试连接到这些目标将会失败,因为在专用子网中默认情况下不提供出站访问。

    • 此限制不适用于使用服务终结点,其使用的下一跃点类型不同 VirtualNetworkServiceEndpoint。 请参阅 Virtual Network 服务终结点

  • 虚拟机仍然能够在同一区域内的专用子网中访问Azure存储帐户,而不需要明确的出站方法。 建议使用网络安全组来控制出站连接。

  • 专用子网不适用于用于托管 PaaS 服务的委托子网或托管子网。 在这些方案中,出站连接由单个服务管理。 有关详细信息,请参阅特定于服务的文档。

重要

当负载均衡器后端池通过 IP 地址配置时,由于一个持续存在的已知问题,它使用默认的出站访问。 对于默认安全配置以及具有严格出站需求的应用程序,请将 NAT 网关关联到负载均衡器后端池中的虚拟机,以保护流量。 查看有关现有已知问题的详细信息。

添加显式出站方法

  • 将 NAT 网关关联到虚拟机的子网。 请注意,对于大多数方案,建议使用此方法。
  • 将配置好的标准负载均衡器与出站规则相关联。
  • 将标准公共 IP 关联到任何虚拟机的网络接口。
  • 将防火墙或网络虚拟设备(NVA)添加到virtual network,并使用用户定义的路由(UDR)将流量指向它。

使用灵活的编排模式用于虚拟机规模集

  • 默认情况下,灵活的规模集是安全的。 通过灵活伸缩集创建的任何实例都没有与其关联的默认出站访问 IP,因此需要显式出站连接。 有关详细信息,请参阅适用于虚拟机规模集的Flexible编排模式

常见问题解答:清除默认出站 IP 警报

为什么会看到一个警报,提示我在 VM 上有默认的出站 IP?

有一个 NIC 级参数(defaultOutboundConnectivityEnabled),用于跟踪是否将默认出站 IP 分配给 VM/虚拟机规模集实例。 这用于为标记此状态的虚拟机/虚拟机规模集生成 Azure 门户横幅。 对于你的订阅,还有一些包含此信息的具体 Azure 顾问建议。 如果想要查看为哪些虚拟机或虚拟机规模集分配了默认出站 IP,请执行以下步骤:

  1. 在Azure portal的搜索栏中键入“顾问”,然后在出现时选择此选项。
  2. 选择“卓越运营”
  3. 查找建议“添加显式出站方法以禁用默认出站”和/或“添加显式出站方法以禁用Virtual Machine Scale Sets的默认出站”(请注意,这两项不同)
  4. 如果存在上述任一项,请选择相应的推荐名称,你将看到所有已启用默认出站的虚拟机/虚拟机规模集实例的网络接口卡(NIC)。

我该如何清除此警报?

  1. 必须为标记的虚拟机 (VM) 或虚拟机规模集使用明确的出站方法。 有关不同选项,请参阅上面的部分。
  2. 应将子网设为专用子网,以防止创建新的默认出站 IP。
  3. 必须停止并解除分配子网中具有标志的任何适用虚拟机,才能在 NIC 级别参数中反映更改,从而使标志得以清除。 请注意,这在反过来的情况下也是如此,为了让虚拟机在子网级别参数设置为 false 后获得默认出站 IP,需要停止或解除分配该虚拟机。

我已经在使用显式的出站方法,为什么仍然会收到这个警报呢?

在某些情况下,即使配置了显式出站方法(例如 NAT 网关或 UDR)将流量定向到 NVA/防火墙,也仍将默认出站 IP 分配到非专用子网中的virtual machines。 这并不意味着默认出站 IP 用于出口,除非删除了这些显式方法。 若要完全删除默认出站 IP(并删除警报),必须将子网改为专用,并且必须停止并取消分配虚拟机。

常见问题解答:默认行为更改为专用子网

使专用子网默认意味着什么,以及如何实现专用子网?

随着 API 版本在 2026 年 3 月 31 日之后发布,默认情况下,新 VNET 中子网的默认OutboundAccess 属性将设置为“false”。 此更改默认使子网成为专用子网,并阻止在这些子网中为virtual machines生成默认出站 IP。 此行为适用于所有配置方法--ARM 模板、Azure portal、PowerShell 和 CLI。 早期版本的 ARM 模板(或指定较旧版本的工具如 Terraform)将继续将 defaultOutboundAccess 设置为 null,这默认允许出站访问。

现有 VNET 和virtual machines会发生什么情况? 在现有 VNET 中创建的新虚拟机呢?

不会对现有 VNET 进行更改。 这意味着,除非手动将子网修改为专用,否则这些 VNET 中的现有虚拟机和新创建的虚拟机将继续生成默认的出站 IP 地址。

新的虚拟网络部署呢? 我的基础结构依赖于默认出站 IP,目前尚未准备好迁移到专用子网。

仍可以使用任何受支持的方法(ARM 模板、门户、CLI、PowerShell)将子网配置为非特权。 这可确保依赖于默认出站 IP 的基础结构的兼容性,并且尚未准备好转换为专用子网。 请注意,如果已启用专用子网,并且想要重新转回对虚拟机使用默认出站,则需要将子网修改为非专用子网,然后在虚拟机上执行停止/解除分配。

后续步骤

有关Azure中的出站连接的详细信息,请参阅: