Ресурс шлюза NAT

В этой статье описываются ключевые компоненты ресурса шлюза преобразования сетевых адресов (NAT), которые позволяют обеспечить высокозащищенное, масштабируемое и устойчивое исходящее подключение. Ресурсы шлюза NAT являются частью службы Azure NAT Gateway.

Шлюз NAT в подписке можно настроить с помощью поддерживаемых клиентов. Эти клиенты включают портал Azure, Azure CLI, Azure PowerShell, шаблоны Azure Resource Manager или соответствующие альтернативные варианты.

Типы SKU шлюза Azure NAT

Azure NAT Gateway доступна в двух номерах SKU: StandardV2 и Standard.

Диаграмма стандартных и StandardV2 SKU Azure NAT Gateway.

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

Стандартный SKU является зональным ресурсом. Он развертывается в определенной зоне доступности и устойчив внутри нее.

Шлюз NAT StandardV2 поддерживает общедоступные IP-адреса IPv4 и IPv6, в то время как шлюз NAT уровня "Стандартный" поддерживает только общедоступные IP-адреса IPv4.

архитектура Azure NAT Gateway

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

"«Azure NAT Gateway» предоставляет преобразование исходных сетевых адресов (SNAT) для частных экземпляров в связанных подсетях вашей виртуальной сети Azure." Частные IP-адреса виртуальных машин используют SNAT для статических общедоступных IP-адресов шлюза NAT для подключения к Интернету. Azure NAT Gateway также предоставляет преобразование сетевых адресов назначения (DNAT) для пакетов ответа только для соединений, инициированных изнутри наружу.

Схема ресурса шлюза NAT с виртуальными машинами для исходящих подключений к Интернету.

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

Subnets

Вы можете подключить шлюз StandardV2 или Standard NAT к нескольким подсетям в пределах виртуальной сети, чтобы обеспечить исходящее подключение к интернету. При присоединении шлюза NAT к подсети предполагается маршрут по умолчанию к Интернету. Шлюз NAT служит следующим узлом для всего исходящего трафика, предназначенного для интернета.

Шлюзы NAT имеют следующие ограничения для конфигураций подсети:

  • У каждой подсети не может быть подключено несколько шлюзов NAT.

  • Невозможно подключить шлюз NAT к подсетям из разных виртуальных сетей.

  • Нельзя использовать шлюз NAT с подсетью шлюза. Подсеть шлюза — это назначенная подсеть для VPN-шлюза для отправки зашифрованного трафика между виртуальной сетью Azure и локальным расположением.

Статические общедоступные IP-адреса

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

Применяются следующие условия:

  • Шлюз NAT StandardV2 поддерживает до 16 IPv4 и 16 общедоступных IP-адресов IPv6.

  • Шлюз NAT уровня "Стандартный" нельзя использовать с общедоступными IP-адресами или префиксами IPv6. Шлюз NAT уровня "Стандартный" поддерживает до 16 общедоступных IP-адресов IPv4.

  • Шлюз NAT нельзя использовать с публичными IP-адресами для Basic SKU.

SKU шлюза NAT Azure IPv4 IPv6
StandardV2 Да, поддерживает общедоступные IP-адреса и префиксы IPv4. Да, поддерживает общедоступные IP-адреса и префиксы IPv6.
Стандарт Да, поддерживает общедоступные IP-адреса и префиксы IPv4. Нет, не поддерживает общедоступные IP-адреса и префиксы IPv6.

Порты SNAT

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

Дополнительные сведения о портах SNAT и шлюзе NAT Azure см. в статье "Преобразование сетевых адресов источника" (SNAT) с помощью шлюза Azure NAT.

Если к одному ресурсу шлюза NAT подключено несколько подсетей в виртуальной сети, список портов SNAT, предоставленный шлюзом NAT, предоставляет общий доступ ко всем подсетям.

Порты SNAT служат уникальными идентификаторами для различения потоков подключения друг от друга. Один и тот же порт SNAT можно использовать для подключения к разным конечным точкам назначения одновременно.

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

Схема выделения портов SNAT.

Один шлюз NAT может масштабироваться по количеству общедоступных IP-адресов, связанных с ним. Каждый общедоступный IP-адрес для шлюза NAT предоставляет 64 512 портов SNAT для исходящих подключений. Шлюз NAT может масштабировать до более чем 1 миллиона портов SNAT. TCP и UDP — это отдельные запасы портов SNAT и не связаны с шлюзами NAT.

Зоны доступности

Azure NAT Gateway имеет два номера SKU: Standard и StandardV2. Чтобы обеспечить устойчивость архитектуры к зональным сбоям, разверните шлюз NAT StandardV2, так как это ресурс, избыточный по зонам. Когда зона доступности в регионе выходит из строя, новые подключения исходят из оставшихся работоспособных зон.

Схема развертывания шлюза NAT StandardV2 с несколькими зонами.

Шлюз NAT уровня "Стандартный" — это зональный ресурс, который позволяет развертывать и управлять им в отдельных зонах доступности. Если зона, связанная со шлюзом NAT уровня "Стандартный", выходит из строя, то сбой влияет на исходящее подключение для подсетей, связанных с шлюзом NAT.

Дополнительные сведения о зонах доступности и Azure NAT Gateway см. в разделе Надежность в Azure NAT Gateway.

Схема развертывания шлюза NAT

После развертывания шлюза NAT невозможно изменить выбор зоны.

Протоколы

Шлюз NAT взаимодействует с заголовками IP и IP-транспортных протоколов UDP и TCP трафика. Шлюз NAT агностичен к полезным данным уровня приложений. Другие IP-протоколы, такие как ICMP, не поддерживаются.

Сброс TCP

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

Поток подключения может не существовать, если:

  • Подключение достигло предельного времени простоя после периода неактивности, и подключение незаметно разрывается.

  • Отправитель, либо со стороны сети Azure, либо со стороны публичного интернета, отправил трафик после обрыва соединения.

Система отправляет пакет сброса TCP только при обнаружении трафика в потоке разорванного соединения. Эта операция означает, что пакет TCP reset может не отправляться сразу после разрыва сеанса соединения.

Система отправляет пакет сброса TCP в ответ на обнаружение трафика в несуществующем потоке соединения, независимо от того, исходит ли трафик из сетевой стороны Azure или из стороны общедоступного интернета.

Время ожидания простоя TCP

Шлюз NAT предоставляет настраиваемый диапазон времени ожидания простоя от 4 минут до 120 минут для протоколов TCP. Протоколы UDP имеют неконфигурируемое время ожидания простоя в течение 4 минут.

При простое подключения шлюз NAT удерживается на порту SNAT до истечения времени ожидания простоя подключения. Так как длительное время ожидания ожидания простоя может ненужно увеличить вероятность исчерпания портов SNAT, мы не рекомендуем увеличить продолжительность ожидания простоя TCP дольше, чем время ожидания по умолчанию 4 минуты. Таймер простоя не влияет на поток, который никогда не простаивает.

Вы можете использовать TCP keepalives для предоставления шаблона обновления длительных бездействующих подключений и обнаружения активности конечных точек. Дополнительные сведения см. в примерах .NET . Сигналы поддержания соединения TCP отображаются как повторяющиеся подтверждения (ACK) конечным точкам, имеют низкую нагрузку и невидимы для уровня приложений.

Таймер времени ожидания простоя UDP не настраивается. Следует использовать UDP-сообщения keepalive, чтобы гарантировать, что подключение не достигнет значения времени ожидания простоя, а также для поддержания подключения. В отличие от TCP-соединений, включенный keepalive UDP только с одной стороны применяется только к потоку трафика в одном направлении. Для поддержания потока трафика необходимо включить UDP keepalive на обеих сторонах передачи трафика.

Таймеры

Таймер повторного использования портов

Таймеры повторного использования портов определяют время после закрытия подключения, в течение которого исходный порт находится в режиме ожидания, перед повторным использованием для нового подключения к той же конечной точке назначения через шлюз NAT.

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

таймер Описание Значение
TCP FIN После того, как пакет TCP FIN закрывает соединение, 65-секундный таймер блокирует порт SNAT. Порт SNAT доступен для повторного использования после окончания таймера. 65 секунд
TCP RST После того как пакет TCP RST (сброса) закрывает соединение, порт SNAT удерживается 16-секундным таймером. Когда таймер заканчивается, порт доступен для повторного использования. 16 секунд
Полуоткрытый TCP соединение Во время создания подключения, когда одна конечная точка подключения ожидает подтверждения из другой конечной точки, начинается 30-секундный таймер. Если трафик не обнаружен, подключение закрывается. После закрытия подключения исходный порт доступен для повторного использования в той же конечной точке назначения. 30 секунд

Для трафика UDP после закрытия подключения порт находится в удержании в течение 65 секунд, прежде чем он доступен для повторного использования.

Таймер времени ожидания простоя

Таймер Описание Значение
Время ожидания простоя TCP TCP-подключения могут оставаться в состоянии покоя, если ни одна из концевых точек не передает данные на протяжении длительного времени. Таймер можно настроить от 4 минут (по умолчанию) до 120 минут (2 часа) для ожидания простоя подключения. Трафик в потоке сбрасывает таймер ожидания простоя. Настраиваемые; 4 минуты (по умолчанию) до 120 минут
Время ожидания бездействия UDP Подключения UDP могут оставаться бездействующими, если конечные точки не передают данные долгое время. Таймер времени ожидания простоя UDP — 4 минуты и не настраивается. Трафик в потоке сбрасывает таймер простоя. Не настраиваемая; 4 минуты

Примечание

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

Пропускная способность

Каждый номер SKU Azure NAT Gateway имеет ограничения пропускной способности:

  • Шлюз NAT StandardV2 поддерживает до 100 Гбит/с пропускной способности данных на ресурс шлюза NAT.

  • Шлюз NAT уровня "Стандартный" предоставляет 50 Гбит/с пропускной способности, которая разделяется между исходящими и входящий (ответ) данными. Пропускная способность данных ограничена на 25 Гбит/с для исходящего трафика и 25 Гбит/с для входящих (ответных) данных на ресурс шлюза NAT уровня "Стандартный".

Производительность

Шлюзы NAT уровня "Стандартный" и "СтандартV2" поддерживают до 50 000 одновременных подключений на общедоступный IP-адрес к той же конечной точке назначения для трафика TCP и UDP через Интернет.

Каждый из них может поддерживать до 2 миллионов активных подключений одновременно. Количество подключений к шлюзу NAT учитывается на основе 5 кортежей (исходный IP-адрес, исходный порт, конечный IP-адрес, порт назначения и протокол). Если шлюз NAT превышает 2 миллиона подключений, доступность пути данных снижается, а новые подключения завершаются ошибкой.

Шлюз NAT StandardV2 может обрабатывать до 10 миллионов пакетов в секунду. Шлюз NAT уровня "Стандартный" может обрабатывать до 5 миллионов пакетов в секунду.

Limitations

  • Общедоступные IP-адреса уровня "Стандартный" и "Базовый" несовместимы с шлюзами NAT StandardV2. Вместо этого используйте общедоступные IP-адреса StandardV2.

    Инструкции по созданию общедоступного IP-адреса StandardV2 можно найти в статье Создание общедоступного IP-адреса Azure.

  • Базовые подсистемы балансировки нагрузки несовместимы с шлюзами NAT. Используйте стандартные балансировщики нагрузки для шлюзов NAT уровня "Standard" и "StandardV2".

    Чтобы обновить общий сетевой балансировщик нагрузки Azure с уровня "Базовый" до "Стандартный", см. статью Upgrade an Azure public load balancer.

  • Базовые общедоступные IP-адреса несовместимы со шлюзами NAT уровня "Стандартный". Вместо этого используйте общедоступные IP-адреса уровня "Стандартный".

    Чтобы обновить общедоступный IP-адрес с уровня "Базовый" до "Стандартный", см. раздел "Обновление общедоступного IP-адреса уровня "Базовый" до "Стандартный".

  • Azure NAT Gateway не поддерживает ICMP.

  • Фрагментация IP-адресов недоступна для Azure NAT Gateway.

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

  • Azure NAT Gateway не поддерживает общедоступные IP-адреса с включенной защитой от атак DDoS. Дополнительные сведения см. в разделе об ограничениях DDoS.

  • Шлюз NAT Azure не поддерживается в защищенной архитектуре виртуальной сети (vWAN).

  • Вы не можете обновить шлюз NAT уровня "Стандартный" до шлюза NAT StandardV2. Чтобы обеспечить устойчивость зоны для архитектур, использующих зональные шлюзы NAT, необходимо развернуть шлюз NAT StandardV2 для замены шлюза NAT стандартного SKU.

  • Общедоступные IP-адреса уровня "Стандартный" нельзя использовать с шлюзом NAT StandardV2. Для использования шлюза NAT StandardV2 необходимо перенастроить новые общедоступные IP-адреса StandardV2.

Дополнительные ограничения шлюзов NAT StandardV2 см. в разделе Azure NAT Gateway SKU.