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


Сведения о NAT в VPN-шлюзе Azure

В этой статье содержатся обзорные сведения о поддержке преобразования сетевых адресов (NAT) в VPN-шлюзе Azure. Преобразование сетевых адресов (NAT) определяет механизмы преобразования одного IP-адреса в другой в IP-пакете. Существует несколько сценариев, в которых удобно использовать NAT:

  • подключение нескольких сетей с перекрывающимися IP-адресами;
  • подключение к Интернету из сетей с частными IP-адресами (RFC1918);
  • подключение сетей IPv6 к сетям IPv4 (NAT64).

Внимание

Преобразование сетевых адресов (NAT) в VPN-шлюзе Azure поддерживает первый из этих сценариев, то есть подключение локальных сетей или филиалов к виртуальной сети Azure с перекрывающимися IP-адресами. Выход в Интернет и NAT64 НЕ поддерживаются.

Перекрывающиеся адресные пространства

Многие организации используют частные IP-адреса (определенные в стандарте RFC1918) для внутреннего взаимодействия в частных сетях. При подключении таких сетей к VPN через общедоступный Интернет или частную глобальную сеть перекрытие диапазонов IP-адресов не допускается, и взаимодействие при таком перекрытии будет невозможно. Чтобы подключить друг к другу две и более сети с перекрывающимися IP-адресами, на устройствах шлюза, которые объединяют эти сети, развертывается NAT.

Типы NAT: статическое и динамическое

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

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

  • Динамическое NAT — здесь IP-адрес может быть преобразован в разные целевые IP-адреса с учетом их текущей доступности или с разными комбинациями IP-адреса и порта TCP или UDP. Вариант с преобразованием портов называется NAPT. Динамические правила означают, что сопоставление должно выполняться с отслеживанием состояния и отслеживать все потоки трафика в каждый конкретный момент.

Примечание.

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

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

Внимание

  • NAT поддерживается в следующих номерах SKU: VpnGw2~5, VpnGw2AZ~5AZ.
  • NAT поддерживается только для подключений IPsec между разными расположениями. Подключения "виртуальная сеть — виртуальная сеть" или "точка — сеть" не поддерживаются.
  • Каждое правило динамического NAT может быть назначено одному соединению.

Режимы NAT: входящий и исходящий трафик

Каждое правило NAT определяет сопоставление адресов или зависимости для преобразования в диапазоне IP-адресов соответствующей сети.

  • Входящий трафик: правило IngressSNAT сопоставляет диапазон адресов локальной сети с целевым диапазоном адресов, чтобы избежать перекрытия IP-адресов.

  • Исходящий трафик: правило EgressSNAT сопоставляет диапазон адресов виртуальной сети Azure с другим целевым диапазоном адресов.

Для каждого правила NAT следующие два поля задают диапазоны адресов "до преобразования" и "после преобразования".

  • Внутренние сопоставления: адресное пространство перед переводом. Для правила входящего трафика это поле содержит исходный диапазон адресов в локальной сети. Для правила исходящего трафика это исходный диапазон адресов в виртуальной сети.

  • Внешние сопоставления: адресное пространство после перевода локальных сетей (входящего трафика) или виртуальной сети (исходящего трафика). Для разных сетей, подключенных к VPN-шлюзу Azure, диапазоны адресов для всех внешних сопоставлений не могут перекрываться ни друг с другом, ни с другими сетями, подключенными без использования NAT.

NAT и маршрутизация

После определения правила NAT для подключения это правило начинает применяться для изменения диапазона адресов этого подключения. Если в VPN-шлюзе Azure настроен протокол BGP, выберите вариант "Включить преобразование маршрутов BGP" для автоматического преобразования полученных маршрутов в новые маршруты для объявления в подключениях с действующими правилами NAT:

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

  • Объявляемые маршруты. VPN-шлюз Azure будет объявлять префиксы внешнего сопоставления ("после преобразования") из правил EgressSNAT для диапазона адресов виртуальной сети, а также полученные от других подключений маршруты, у которых префиксы адресов совпадают с префиксами внешнего сопоставления ("после преобразования").

  • Рекомендации по IP-адресам одноранговых узлов BGP в локальной сети с использованием NAT:

    • Адрес APIPA (169.254.0.1 – 169.254.255.254): NAT не поддерживается для адресов APIPA BGP.
    • Адрес, отличный от APIPA: исключите одноранговые IP-адреса BGP из диапазона NAT.

Примечание.

Полученные маршруты от подключений без настроенных правил IngressSNAT преобразовываться не будут. Объявляемые маршруты виртуальной сети для подключений без настроенных правил EgressSNAT также не будут преобразовываться.

Пример NAT

Следующая схема демонстрирует пример конфигурации NAT для VPN-шлюза Azure.

Схема с конфигурацией и правилами NAT.

На этой схеме представлены виртуальная сеть Azure и две локальные сети, где все сети используют диапазон адресов 10.0.1.0/24. Чтобы подключить эти две сети к виртуальной сети Azure и VPN-шлюзу, создайте следующие правила:

  • Правило IngressSNAT 1. Это правило преобразует локальное адресное пространство 10.0.1.0/24 192.168.2.0/24.

  • Правило IngressSNAT 2. Это правило преобразует локальное адресное пространство 10.0.1.0/24 на 192.168.3.0/24.

  • Правило EgresSNAT 1. Это правило преобразует адресное пространство виртуальной сети 10.0.1.0/24 на 192.168.1.0/24.

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

  • Подключение 1 (виртуальная сеть — филиал 1):

    • Правило 1 IngressSNAT
    • Правило 1 EgressSNAT
  • Подключение 2 (виртуальная сеть — филиал 2):

    • правило IngressSNAT 2;
    • Правило 1 EgressSNAT

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

Network Исходная Переведенный текст
Виртуальная сеть 10.0.1.0/24 192.168.1.0/24
Ветвь 1 10.0.1.0/24 192.168.2.0/24
Филиал 2 10.0.1.0/24 192.168.3.0/24

На следующей схеме показан IP-пакет из Ветви 1 в виртуальную сеть до и после перевода NAT:

Схема адресов до и после преобразования NAT.

Внимание

Одно правило SNAT определяет преобразование для обоих направлений в конкретной сети.

  • Правило IngressSNAT определяет преобразование исходных IP-адресов, поступающих в VPN-шлюз Azure из локальной сети. Оно также обрабатывает преобразование целевых IP-адресов, которые переходят из виртуальной сети в ту же локальную сеть.
  • Правило EgressSNAT определяет преобразование исходных IP-адресов, выходящих из VPN-шлюза Azure в локальные сети. Оно также обрабатывает преобразование целевых IP-адресов для пакетов, поступающих в виртуальную сеть через подключения с настроенным правилом EgressSNAT.
  • Ни в одном из этих случаев правила DNAT не требуются.

Конфигурация NAT

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

Рекомендации и ограничения для NAT

Внимание

Для NAT действует несколько ограничений.

  • NAT поддерживается в следующих номерах SKU: VpnGw2~5, VpnGw2AZ~5AZ.
  • NAT поддерживается только для распределенных подключений IPsec/IKE. Подключения "виртуальная сеть — виртуальная сеть" или "точка — сеть" не поддерживаются.
  • Правила NAT не поддерживаются для подключений, для которых включен параметр Использовать селектор трафика на основе политик.
  • Для подсети внешнего сопоставления динамического NAT поддерживается размер не более /26.
  • Сопоставления портов можно настроить только с помощью NAT статических типов. Динамические сценарии NAT неприменимы для сопоставлений портов.
  • Сопоставления портов в настоящее время не могут принимать диапазоны. Необходимо вводить отдельные порты.
  • Сопоставления портов можно использовать для протоколов TCP и UDP.

Вопросы о NAT и ответы на них

VPN-шлюзы Azure поддерживают NAT для всех классов SKU?

NAT поддерживается в VpnGw2 в VpnGw25 и vpnGw2AZ в VpnGw5AZ.

Можно ли использовать NAT при подключении между виртуальными сетями или P2S?

Сколько правил NAT можно использовать на VPN-шлюзе?

Вы можете создать до 100 правил NAT (входящего трафика и правил исходящего трафика) в VPN-шлюзе.

Можно ли использовать косую черту (/) в имени правила NAT?

№ Вы получите сообщение об ошибке.

Применяется ли NAT ко всем подключениям на VPN-шлюзе?

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

Какие типы NAT поддерживают VPN-шлюзы?

VPN-шлюзы поддерживают только статический 1:1 NAT и динамический NAT. Они не поддерживают NAT64.

Работает ли NAT на VPN-шлюзах «активный — активный»?

Да. NAT работает как в режиме «активный — активный", так и на VPN-шлюзах в режиме «в сети». Каждое правило NAT применяется к одному экземпляру VPN-шлюза. В шлюзах active-active создайте отдельное правило NAT для каждого экземпляра шлюза с помощью поля идентификатора IP-конфигурации.

Работает ли NAT с подключениями BGP?

Да, можно использовать NAT для подключений BGP. Ниже приведены некоторые важные сведения.

  • Чтобы убедиться, что обучаемые маршруты и объявленные маршруты переводятся в префиксы адресов после NAT (внешние сопоставления) на основе правил NAT, связанных с подключениями, выберите включить преобразование маршрутов BGP на странице конфигурации для правил NAT. Локальные маршрутизаторы BGP должны объявлять точные префиксы, как определено в правилах IngressSNAT .

  • Если локальный VPN-маршрутизатор использует обычный, не APIPA-адрес и сталкивается с адресным пространством виртуальной сети или другими локальными сетевыми пространствами, убедитесь, что правило IngressSNAT преобразует ОДНОранговый IP-адрес BGP в уникальный, не перекрывающийся адрес. Поместите адрес после NAT в поле IP-адреса однорангового ip-адреса BGP шлюза локальной сети.

  • NAT не поддерживается с адресами APIPA BGP.

Нужно ли создавать правила DNAT, соответствующие правилу SNAT?

№ Правило преобразования одного исходного сетевого адреса (SNAT) определяет преобразование обоих направлений конкретной сети:

  • Правило IngressSNAT определяет преобразование исходных IP-адресов, поступающих в VPN-шлюз из локальной сети. Он также обрабатывает перевод конечных IP-адресов, покидающих виртуальную сеть в ту же локальную сеть.

  • Правило EgressSNAT определяет преобразование исходных IP-адресов виртуальной сети, оставляя VPN-шлюз в локальные сети. Он также обрабатывает преобразование конечных IP-адресов для пакетов, поступающих в виртуальную сеть, через подключения, имеющие правило EgressSNAT .

В любом случае вам не нужны правила преобразования сетевых адресов назначения (DNAT).

Что делать, если адресное пространство для виртуальной сети или шлюза локальных сетей имеет два или более префикса? Можно ли применить NAT ко всем из них или только подмножество?

Необходимо создать одно правило NAT для каждого префикса, так как каждое правило NAT может включать только один префикс адреса для NAT. Например, если адресное пространство для шлюза локальной сети состоит из 10.0.1.0/24 и 10.0.2.0/25, можно создать два правила:

  • Правило IngressSNAT 1: сопоставление 10.0.1.0/24 с 192.168.1.0/24.
  • Правило IngressSNAT 2: сопоставление 10.0.2.0/25 с 192.168.2.0/25.

Эти два правила должны соответствовать длинам префиксов соответствующих адресов. Та же руководство применяется к правилам EgresSNAT для адресного пространства виртуальной сети.

Внимание

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

Какие диапазоны IP-адресов можно использовать для внешнего сопоставления?

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

Можно ли использовать разные правила EgresSNAT для преобразования адресного пространства виртуальной сети в разные префиксы для локальных сетей?

Да. Можно создать несколько правил EgresSNAT для одного адресного пространства виртуальной сети, а затем применить правила EgressSNAT к разным подключениям.

Можно ли использовать одно правило IngressSNAT для разных подключений?

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

Требуются ли правила входящего трафика и исходящего трафика для подключения NAT?

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

Что выбрать в качестве идентификатора IP-конфигурации?

Идентификатор IP-конфигурации — это просто имя объекта конфигурации IP, который требуется использовать правило NAT. С помощью этого параметра вы просто выбираете, какой общедоступный IP-адрес шлюза применяется к правилу NAT. Если вы не указали пользовательское имя во время создания шлюза, основной IP-адрес шлюза назначается конфигурации IP-адресов по умолчанию , а дополнительный IP-адрес назначается конфигурации activeActive IP.

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

Процесс настройки NAT для локальных подключений описан в статье Настройка NAT в VPN-шлюзах Azure.