Поделиться через


Исходящий доступ по умолчанию в Azure

В Azure при развертывании виртуальной машины в виртуальной сети без явно определенного метода исходящего подключения он автоматически назначает исходящий общедоступный IP-адрес. Этот IP-адрес обеспечивает исходящее подключение из ресурсов к Интернету и к другим общедоступным конечным точкам в Корпорации Майкрософт. Такой доступ называется исходящим доступом по умолчанию.

Примеры явного исходящего подключения для виртуальных машин:

  • Развернуто в подсети, связанной с шлюзом NAT.
  • Развернутый в серверном пуле стандартной подсистемы балансировки нагрузки с определенными правилами исходящего трафика.
  • Развернутый в серверном пуле базовой общедоступной подсистемы балансировки нагрузки.
  • Виртуальные машины с общедоступными IP-адресами, которые явно связаны с ними.

Схема вариантов для явного исходящего трафика.

Как и когда предоставляется исходящий доступ по умолчанию

Если виртуальная машина развертывается без явного метода исходящего подключения, Azure назначает ему исходящий общедоступный IP-адрес по умолчанию. Этот IP-адрес, известный как IP-адрес исходящего доступа по умолчанию, принадлежит корпорации Майкрософт и может изменяться без уведомления. Не рекомендуется использовать для рабочих нагрузок в продакшене.

Схема дерева принятия решений для исходящего доступа по умолчанию.

Примечание.

В некоторых случаях исходящий IP-адрес по умолчанию по-прежнему назначается виртуальным машинам в подсети, отличной от назначения, даже если настроен явный исходящий метод( например, шлюз NAT или UDR, направляющий трафик в NVA/брандмауэр). Это не означает, что исходящие IP-адреса по умолчанию используются для исходящего трафика, если только эти явные методы не удаляются. Чтобы полностью удалить исходящие IP-адреса по умолчанию, подсеть должна быть закрыта, и виртуальные машины должны быть остановлены и освобождены.

Внимание

После 31 марта 2026 г. новые виртуальные сети по умолчанию будут использовать частные подсети, что означает, что явный исходящий метод должен быть включен для доступа к общедоступным конечным точкам в Интернете и в корпорации Майкрософт. Дополнительные сведения см. в официальном объявлении. Рекомендуется использовать одну из явных форм подключения, описанных в следующем разделе. Дополнительные вопросы см. в разделе "Часто задаваемые вопросы: изменение поведения по умолчанию на частные подсети".

Безопасность: доступ к Интернету по умолчанию противоречит принципам нулевого доверия.
Ясность. Явное подключение предпочтительнее для неявного доступа.
Стабильность: исходящий IP-адрес по умолчанию не принадлежит клиенту и может измениться, что приводит к потенциальным сбоям.

Некоторые примеры конфигураций, которые не работают при использовании исходящего доступа по умолчанию:

  • Несколько сетевых адаптеров на виртуальной машине могут давать несогласованные исходящие IP-адреса
  • Масштабирование масштабируемых наборов виртуальных машин Azure может привести к изменению исходящих IP-адресов
  • Исходящие IP-адреса не согласованы или не соответствуют экземплярам масштабируемого набора виртуальных машин.

Дополнительно,

  • IP-адреса исходящего доступа по умолчанию не поддерживают фрагментированные пакеты
  • IP-адреса исходящего доступа по умолчанию не поддерживают ICMP пинги

Как перейти к явному методу общедоступного подключения (и отключить исходящий доступ по умолчанию)?

Общие сведения о частных подсетях

  • Создание подсети, которая должна быть закрытой, предотвращает использование исходящего доступа по умолчанию для подключения к общедоступным конечным точкам любой виртуальной машины в подсети.
  • Виртуальные машины в частной подсети по-прежнему могут получить доступ к Интернету (или любым общедоступным конечным точкам в Корпорации Майкрософт) с помощью явного исходящего подключения.

    Примечание.

    Некоторые службы не работают на виртуальной машине в частной подсети без явного метода исходящего трафика (например, активация Windows и обновления Windows).

Настройка частных подсетей

  • На портале Azure выберите подсеть и установите флажок, чтобы включить частную подсеть, как показано ниже.

Снимок экрана: портал Azure с параметром

  • Используя PowerShell, следующий сценарий принимает имена группы ресурсов и виртуальной сети и проходит по каждой подсети, чтобы включить функцию частной сети.
$resourceGroupName = ""
$vnetName = ""
 
$vnet = Get-AzVirtualNetwork -ResourceGroupName $resourceGroupName -Name $vnetName
 
foreach ($subnet in $vnet.Subnets) {
    if ($subnet.DefaultOutboundAccess -eq $null) {
        $subnet.DefaultOutboundAccess = $false
        Write-Output "Set 'defaultoutboundaccess' to \$false for subnet: $($subnet.Name)"
    } 
    elseif ($subnet.DefaultOutboundAccess -eq $false) {
        # Output message if the value is already $false
        Write-Output "already private for subnet: $($subnet.Name)"
    }
}
Set-AzVirtualNetwork -VirtualNetwork $vnet
  • С помощью CLI обновите подсеть с помощью команды az network vnet subnet update и установите --default-outbound на "false".
az network vnet subnet update --resource-group rgname --name subnetname --vnet-name vnetname --default-outbound false
  • С помощью шаблона Azure Resource Manager задайте значение defaultOutboundAccess параметра false.
{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "vnetName": {
      "type": "string",
      "defaultValue": "testvm-vnet"
    },
    "subnetName": {
      "type": "string",
      "defaultValue": "default"
    },
    "subnetPrefix": {
      "type": "string",
      "defaultValue": "10.1.0.0/24"
    },
    "vnetAddressPrefix": {
      "type": "string",
      "defaultValue": "10.1.0.0/16"
    }
  },
  "resources": [
    {
      "type": "Microsoft.Network/virtualNetworks",
      "apiVersion": "2023-11-01",
      "name": "[parameters('vnetName')]",
      "location": "westus2",
      "properties": {
        "addressSpace": {
          "addressPrefixes": [
            "[parameters('vnetAddressPrefix')]"
          ]
        },
        "subnets": [
          {
            "name": "[parameters('subnetName')]",
            "properties": {
              "addressPrefix": "[parameters('subnetPrefix')]",
              "defaultoutboundaccess": false
            }
          }
        ]
      }
    }
  ]
}

Ограничения частных подсетей

  • Для активации или обновления операционных систем виртуальных машин, таких как Windows, требуется явный метод исходящего подключения.

  • В конфигурациях с использованием определяемых пользователем маршрутов (UDR) все настроенные маршруты с разрывом типа Internetследующего прыжка в частной подсети.

    • Типичным примером является использование UDR для управления трафиком в вышестоящее сетевое виртуальное устройство или брандмауэр, за исключением определенных тегов службы Azure для обхода проверки.

      • Маршрут по умолчанию для назначения 0.0.0.0/0/0 с типом следующего прыжка виртуального устройства применяется в общем случае.

      • Один или несколько маршрутов настроены на назначения тега службы с типом следующего прыжка Internet, чтобы обойти NVA и/или брандмауэр. Если не настроен явный метод исходящего подключения для источника подключения к этим назначениям, попытка подключения к этим назначениям завершается ошибкой, так как исходящий доступ по умолчанию недоступен.

    • Это ограничение не применяется к использованию конечных точек службы, которые используют другой тип VirtualNetworkServiceEndpointследующего прыжка. См. сведения о конечных точках службы виртуальной сети.

  • Виртуальные машины по-прежнему могут получить доступ к учетным записям хранения Azure в том же регионе в частной подсети без явного метода исходящего трафика. Группы безопасности сети рекомендуется управлять подключением исходящего трафика.

  • Частные подсети не применимы к делегированным или управляемым подсетям, используемым для размещения служб PaaS. В этих сценариях исходящее подключение управляется отдельной службой.

Внимание

Если серверный пул подсистемы балансировки нагрузки настраивается IP-адресом, он использует исходящий доступ по умолчанию из-за текущей известной проблемы. Для защиты по умолчанию конфигурации и приложений с высокими требованиями для исходящего трафика свяжите шлюз NAT с виртуальными машинами в серверном пуле подсистемы балансировки нагрузки для безопасного трафика. Подробнее о существующих известных проблемах.

Добавление явного исходящего метода

  • Свяжите шлюз NAT с подсетью виртуальной машины. Обратите внимание, что это рекомендуемый метод для большинства сценариев.
  • Свяжите стандартную подсистему балансировки нагрузки с настроенными правилами для исходящего трафика.
  • Свяжите общедоступный IP-адрес уровня "Стандартный" с любым сетевым интерфейсом виртуальной машины.
  • Добавьте брандмауэр или сетевое виртуальное устройство (NVA) в виртуальную сеть и наведите на него трафик с помощью определяемого пользователем маршрута (UDR).

Использование гибкого режима оркестрации для масштабируемых наборов виртуальных машин

Часто задаваемые вопросы: очистка оповещений IP-адресов исходящего трафика по умолчанию

Почему на виртуальной машине отображается оповещение с исходящим IP-адресом по умолчанию?

Существует параметр уровня сетевого адаптера (defaultOutboundConnectivityEnabled), который отслеживает, выделяется ли исходящий IP-адрес по умолчанию для экземпляра виртуальной машины или VMSS. Это используется для создания баннера портала Azure для виртуальной машины или VMSS, который помечает это состояние. Помощник по виртуальной машине "Добавление явного метода исходящего трафика для отключения исходящего трафика по умолчанию" также работает путем проверки этого параметра.

Как очистить это оповещение?

  1. Для помеченной виртуальной машины или VMSS необходимо использовать явный метод исходящего трафика. Дополнительные сведения см. в приведенном выше разделе.
  2. Подсеть должна быть закрыта, чтобы предотвратить создание новых исходящих IP-адресов по умолчанию.
  3. Все применимые виртуальные машины в подсети с флагом должны быть остановлены и освобождены для отражения изменений в параметре уровня сетевого адаптера и флаге для очистки. (Обратите внимание, что это также верно в обратном порядке; для того, чтобы компьютер получил исходящий IP-адрес по умолчанию после того, как параметр уровня подсети имеет значение false, требуется остановка или освобождение виртуальной машины.)

Я уже использую явный метод исходящего трафика, поэтому почему я по-прежнему вижу это оповещение?

В некоторых случаях исходящий IP-адрес по умолчанию по-прежнему назначается виртуальным машинам в подсети, отличной от назначения, даже если настроен явный исходящий метод( например, шлюз NAT или UDR, направляющий трафик в NVA/брандмауэр). Это не означает, что исходящие IP-адреса по умолчанию используются для исходящего трафика, если только эти явные методы не удаляются. Чтобы полностью удалить исходящие IP-адреса по умолчанию (и удалить оповещение), подсеть должна быть закрыта, и виртуальные машины должны быть остановлены и освобождены.

Часто задаваемые вопросы: изменение поведения по умолчанию на частные подсети

Что означает использование частных подсетей по умолчанию и как оно будет реализовано?

В версии API, выпущенной после 31 марта 2026 г., свойство defaultOutboundAccess для подсетей в новых виртуальных сетях по умолчанию будет иметь значение false. Это изменение делает подсети закрытыми по умолчанию и предотвращает создание исходящих IP-адресов по умолчанию для виртуальных машин в этих подсетях. Это поведение применяется ко всем методам конфигурации— шаблоны ARM, портал Azure, PowerShell и CLI. Более ранние версии шаблонов ARM (или таких инструментов, как Terraform, которые могут указывать старые версии), будут продолжать задавать defaultOutboundAccess как null, что неявно разрешает исходящий доступ.

Что происходит с существующими виртуальными сетями и виртуальными машинами? Что касается новых виртуальных машин, созданных в существующих виртуальных сетях?

Никакие изменения не вносятся в существующие виртуальные сети. Это означает, что существующие виртуальные машины и только что созданные виртуальные машины в этих виртуальных сетях продолжают создавать исходящие IP-адреса по умолчанию, если подсети не изменяются вручную, чтобы стать частными.

Что касается новых развертываний виртуальной сети? Моя инфраструктура имеет зависимость от исходящих IP-адресов по умолчанию и не готова к перемещению в частные подсети в настоящее время.

Вы по-прежнему можете настроить подсети как непривывные с помощью любого поддерживаемого метода (шаблоны ARM, портал, CLI, PowerShell). Это гарантирует совместимость инфраструктуры, использующих исходящие IP-адреса по умолчанию и еще не готовы перейти к частным подсетям.

Следующие шаги

Дополнительные сведения об исходящих подключениях в Azure см. в следующем разделе: