Настройка правил NAT для VPN-шлюза Виртуальной глобальной сети
VPN-шлюз виртуальной глобальной сети можно настроить с помощью статических правил NAT "один к одному". Правило NAT обеспечивает механизм для настройки преобразования IP-адресов "один к одному". NAT можно использовать для соединения двух IP-сетей с несовместимыми или перекрывающимися IP-адресами. Типичный сценарий — ветви с перекрывающимися IP-адресами, которым требуется доступ к ресурсам виртуальной сети Azure.
Эта конфигурация использует таблицу потоков для маршрутизации трафика от внешнего IP-адреса (узла) к внутреннему IP-адресу, связанному с конечной точкой в виртуальной сети (виртуальной машиной, компьютером, контейнером и т. д.).
Чтобы использовать NAT, VPN-устройства должны использовать селекторы трафика "любой к любому" (дикий карта). Селекторы трафика на основе политик (узкие) совместно с конфигурацией NAT не поддерживаются.
Настройка правил NAT
Правила NAT можно в любой момент настроить и просмотреть в параметрах VPN-шлюза.
Типы NAT: статическое и динамическое
NAT на шлюзовом устройстве преобразует IP-адреса исходного и (или) целевого устройства в соответствии с настроенными правилами и политиками NAT, чтобы избежать конфликта адресов. Существует несколько типов правил преобразования NAT.
Статическое NAT — это фиксированные правила, определяющие отношения сопоставления между адресами. Для каждого из указанных IP-адресов здесь всегда выполняется преобразование в один и тот же адрес из целевого пула. Сопоставления статических правил выполняются без отслеживания состояния, поскольку все они являются фиксированными. Например, правило NAT, созданное для сопоставления адресов 10.0.0.0/24 и 192.168.0.0/24, будет иметь фиксированное сопоставление "1 к 1". В этом случае 10.0.0.0 преобразуется в 192.168.0.0, 10.0.0.1 преобразуется в 192.168.0.1 и так далее.
Динамическое преобразование сетевых адресов (NAT) поддерживает преобразование одного IP-адреса в разные целевые IP-адреса с учетом текущей доступности или разные комбинации преобразования IP-адресов и портов TCP и UDP. Вариант с преобразованием портов называется NAPT. Динамические правила означают, что сопоставление должно выполняться с отслеживанием состояния и отслеживать все потоки трафика в каждый конкретный момент. Из-за характера динамических NAT и постоянно изменяющихся сочетаний IP-адресов и портов потоки, использующие правила динамического NAT, необходимо инициировать из диапазона IP-адресов внутреннего сопоставления (предварительная версия NAT). Динамическое сопоставление освобождается после отключения или корректного завершения потока.
Также важно учитывать размер пула адресов для преобразования. Если размер целевого пула адресов совпадает с размером исходного пула адресов, используйте статические правила NAT для сопоставления "один к одному" в порядке возрастания адресов. Если же целевой пул адресов меньше исходного, используйте динамические правила NAT для компенсации такой разницы.
Примечание.
Преобразование сетевых адресов типа "сеть — сеть" не поддерживается для VPN-подключений "сеть — сеть", где используются селекторы трафика на основе политик.
Перейдите к виртуальному концентратору.
Выберите VPN (сеть — сеть).
Выберите Правила NAT (изменить).
На странице Изменение правила NAT можно Добавить, изменить или удалить правило NAT с помощью следующих значений.
- Имя — уникальное имя для правила NAT.
- Тип — статический или динамический. Статическое сопоставление NAT типа "один к одному" устанавливает связь "один к одному" между внутренним и внешним адресами, а динамическое сопоставление NAT выбирает IP-адреса и порты с учетом их доступности.
- Идентификатор IP-конфигурации. Правило NAT должно быть привязано к конкретному экземпляру VPN-шлюза. Это применимо только к динамическому NAT. Статические правила NAT применяются к обоим экземплярам VPN-шлюза автоматически.
- Режим: IngressSnat или EgressSnat.
- Режим IngressSnat (также известный как источник входящего трафика NAT) применяется к трафику, поступающему на VPN-шлюз типа "сеть — сеть" в концентраторе Azure.
- Режим EgressSnat (также известный как источник исходящего трафика NAT) применяется к трафику, покидающему VPN-шлюз типа "сеть — сеть" в концентраторе Azure.
- Внутреннее сопоставление: диапазон префиксов исходных IP-адресов во внутренней сети, которые будут сопоставлены с набором внешних IP-адресов. Иными словами, диапазон префиксов адресов до NAT.
- Внешнее сопоставление: диапазон префиксов целевых IP-адресов во внешней сети, с которыми будут сопоставляться исходные IP-адреса. Иными словами, диапазон префиксов адресов после NAT.
- Подключение по каналу: ресурс подключения, который виртуально подключает VPN-сайт к VPN-шлюзу "сеть — сеть" концентратора виртуальной глобальной сети Azure.
Примечание.
Если вы хотите, чтобы VPN-шлюз типа "сеть — сеть" объявлял преобразованные (внешнее сопоставление) префиксы адресов по протоколу BGP, нажмите кнопку Enable BGP Translation (Включить преобразование BGP). Локальная среда будет автоматически узнавать диапазон правил исходящего трафика после NAT, а Azure (концентратор Виртуальной глобальной сети, подключенные виртуальные сети, VPN и ветви ExpressRoute) — диапазон правил входящего трафика после NAT. Новые диапазоны POST NAT будут отображаться в таблице "Действующие маршруты" в виртуальном концентраторе. Параметр Enable BGP Translation (Включить преобразование BGP) применяется ко всем правилам NAT в VPN-шлюзе типа "сеть — сеть" Виртуальной глобальной сети.
Примеры конфигураций
SNAT входящего трафика (VPN-сайт с поддержкой BGP)
Правила SNAT для входящего трафика применяются к пакетам, которые поступают в Azure через VPN-шлюз типа "сеть — сеть" Виртуальной глобальной сети. В этом сценарии необходимо подключить к Azure две ветви VPN типа "сеть — сеть". VPN-сайт 1 подключается по каналу A, а VPN-сайт 2 — по каналу B. У сайтов одно и то же адресное пространство 10.30.0.0/24.
В этом примере мы будем использовать сайт NAT1 до 172.30.0.0.0/24. Периферийные виртуальные сети и ветви Виртуальной глобальной сети будут автоматически узнавать этот диапазон адресов после NAT.
На следующей схеме показан проецируемый результат:
Указание правила NAT
Укажите правило NAT, чтобы VPN-шлюз типа "сеть — сеть" можно различать между двумя ветвями с перекрывающимися адресными пространствами (например, 10.30.0.0/24). В этом примере мы рассмотрим канал A для VPN-сайта 1.
Следующее правило NAT можно настроить и связать с Link A. Так как это статическое правило NAT, адресные пространства внутреннего сопоставления и внешнего сопоставления содержат одинаковое количество IP-адресов.
- Имя: ingressRule01
- Тип: статическое
- Режим: IngressSnat
- Внутреннее сопоставление: 10.30.0.0/24
- Внешнее сопоставление: 172.30.0.0/24
- Подключение по каналу: канал A
Переведите переключатель Преобразование маршрута BGP в положение "Включить".
Убедитесь, что VPN-шлюз типа "сеть — сеть" может выполнять пиринг с локальным пирингом BGP.
В этом примере правило NAT для входящего трафика потребуется перевести 10.30.0.132 на 172.30.0.132. Для этого нажмите кнопку "Изменить VPN-сайт", чтобы настроить канал BGP ДЛЯ отображения этого преобразованного однорангового адреса BGP (172.30.0.132).
Рекомендации в случае подключения VPN-сайта по протоколу BGP
Для статического преобразования "один к одному" размер подсети как для внутреннего, так и для внешнего сопоставления должен совпадать.
Если включено преобразование BGP, VPN-шлюз типа "сеть — сеть" будет автоматически объявлять внешнее сопоставление правил NAT для исходящего трафика в локальной среде, а также внешнее сопоставление правил NAT для входящего трафика в Azure (концентратор виртуальной глобальной сети, подключенные периферийные виртуальные сети, подключенная сеть VPN или ExpressRoute). Если преобразование BGP отключено, преобразованные маршруты в локальной среде автоматически не объявляются. Поэтому локальный маршрутизатор BGP необходимо настроить таким образом, чтобы он объявлял диапазон после NAT (внешнее сопоставление) правил NAT для входящего трафика, связанных с этим подключением к VPN-сайту. Аналогичным образом на локальном устройстве следует применить маршрут к диапазону после NAT (внешнее сопоставление) правил NAT для исходящего трафика.
VPN-шлюз типа "сеть — сеть" автоматически преобразует локальный одноранговый IP-адрес BGP, если локальный одноранговый IP-адрес BGP содержится во внутреннем сопоставлении правила NAT для входящего трафика. В результате адрес BGP подключения по каналу VPN-сайта должен отражать адрес, преобразованный с помощью NAT (часть внешнего сопоставления).
Например, если локальный IP-адрес BGP равен 10.30.0.133 и существует правило входящего NAT, которое преобразует 10.30.0.0/24 на 172.30.0.0/24, Адрес BGP для канала VPN-сайта Подключение ion BGP должен быть преобразованным адресом (172.30.0.133).
При динамическом NAT локальный одноранговый IP-адрес BGP не может входить в диапазон адресов до преобразования NAT (внутреннее сопоставление), так как сопоставления IP-адресов и портов не являются фиксированными. Если вам нужно преобразовывать локальный IP-адрес пиринга BGP, создайте отдельное статическое правило NAT для конкретного IP-адреса пиринга BGP.
Например, если в локальной сети есть адресное пространство 10.0.0.0/24 с локальным IP-адресом пиринга BGP 10.0.0.1, и существует правило динамического преобразования NAT для входящего трафика, которое сопоставляет диапазоны 10.0.0.0/24 и 192.198.0.0/32, следует создать отдельное правило преобразования NAT для входящего трафика, которое сопоставит адреса 10.0.0.1/32 и 192.168.0.02/32, при этом нужно задать для соответствующего VPN-сайта адрес BGP подключения, который присваивается ему после преобразования NAT (ExternalMapping).
SNAT для входящего трафика (VPN-сайт со статически настроенными маршрутами)
Правила SNAT для входящего трафика применяются к пакетам, которые поступают в Azure через VPN-шлюз типа "сеть — сеть" Виртуальной глобальной сети. В этом сценарии необходимо подключить к Azure две ветви VPN типа "сеть — сеть". VPN-сайт 1 подключается по каналу A, а VPN-сайт 2 — по каналу B. У сайтов одно и то же адресное пространство 10.30.0.0/24.
В этом примере мы будем преобразовывать сетевые адреса VPN-сайта 1 в 172.30.0.0.0/24. Однако, так как VPN-сайт не подключен к VPN-шлюзу типа "сеть — сеть" по протоколу BGP, этапы настройки будут немного иными, чем в примере с поддержкой BGP.
Указание правила NAT
Укажите правило NAT, чтобы VPN-шлюз типа "сеть — сеть" можно различать две ветви с одинаковым адресным пространством 10.30.0.0/24. В этом примере мы рассмотрим канал A для VPN-сайта 1.
Следующее правило NAT можно настроить и связать с link A одного из VPN-сайтов 1. Так как это статическое правило преобразования сетевых адресов, диапазоны адресов внутреннего и внешнего сопоставлений содержат одинаковое число IP-адресов.
- Имя: IngressRule01
- Тип: статическое
- Режим: IngressSnat
- Внутреннее сопоставление: 10.30.0.0/24
- Внешнее сопоставление: 172.30.0.0/24
- Подключение по каналу: канал A
Измените поле "Частный диапазон IP-адресов" VPN-сайта 1, чтобы VPN-шлюз типа "сеть — сеть" узнавал диапазон после NAT (172.30.0.0/24).
Перейдите к ресурсу виртуального концентратора, который содержит VPN-шлюз типа "сеть — сеть". На странице виртуального концентратора в разделе "Подключение" выберите VPN (сеть — сеть).
Выберите VPN-сайт, подключенный к концентратору Виртуальной глобальной сети по каналу A. Выберите Изменить сайт и введите 172.30.0.0/24 в качестве частного диапазона IP-адресов для VPN-сайта.
Рекомендации в случае статической настройки VPN-сайтов (без подключения по протоколу BGP)
- Для статического преобразования "один к одному" размер подсети как для внутреннего, так и для внешнего сопоставления должен совпадать.
- Измените VPN-сайт на портале Azure, чтобы добавить префиксы во внешнее сопоставление правил NAT для входящего трафика в поле "Частный диапазон IP-адресов".
- Для конфигураций, включающих правила NAT для исходящего трафика, на локальном устройстве необходимо применить политику маршрутов или статический маршрут с внешним сопоставлением правила NAT для исходящего трафика.
Поток пакетов
В предыдущих примерах локальному устройству требовалось получить доступ к ресурсу в периферийной виртуальной сети. Поток пакетов выглядит следующим образом (преобразования NAT выделены полужирным шрифтом).
Инициируется трафик из локальной среды.
- Исходный IP-адрес: 10.30.0.4
- Конечный IP-адрес: 10.200.0.4
Трафик поступает на шлюз "сеть — сеть" и преобразуется с помощью правила NAT, после чего отправляется в периферийную виртуальную сеть.
- Исходный IP-адрес: 172.30.0.4
- Конечный IP-адрес: 10.200.0.4
Инициируется ответ из периферийной виртуальной сети.
- Исходный IP-адрес: 10.200.0.4
- Конечный IP-адрес: 172.30.0.4
Трафик входит в VPN-шлюз типа "сеть — сеть", а перевод выполняется обратно и отправляется в локальную среду.
- Исходный IP-адрес: 10.200.0.4
- Конечный IP-адрес: 10.30.0.4
Проверки
В этом разделе показано, как проверить, правильно ли настроена конфигурация.
Проверка динамических правил NAT
Используйте динамические правила NAT, если целевой пул адресов меньше, чем исходный пул адресов.
Поскольку динамическое правило NAT не фиксирует комбинации IP-адресов и портов, локальный одноранговый IP-адрес BGP не может входить в диапазон адресов до преобразования NAT (внутреннее сопоставление). Создайте отдельное статическое правило NAT, которое преобразует один IP-адрес пиринга BGP.
Например:
- Локальный диапазон адресов: 10.0.0.0/24.
- IP-адрес для BGP в локальной среде: 10.0.0.1
- Правило динамического NAT для входящего трафика: 192.168.0.1/32
- Правило статического NAT для входящего трафика: 10.0.0.1 -> 192.168.0.2
Проверка DefaultRouteTable, правил и маршрутов
Ветви в виртуальной глобальной сети связываются с DefaultRouteTable. Подразумевается, что все подключения ветви узнают маршруты, содержащиеся в DefaultRouteTable. Вы увидите правило NAT с преобразованным префиксом в действующих маршрутах таблицы DefaultRouteTable.
Из предыдущего примера
- Префикс: 172.30.0.0/24
- Тип следующего прыжка: VPN_S2S_Gateway
- Следующий прыжок: VPN_S2S_Gateway Resource
Проверка префиксов адресов
Этот пример применяется к ресурсам в виртуальных сетях, связанных с DefaultRouteTable.
Действующие маршруты на сетевых картах любой виртуальной машины, сидящей в периферийной виртуальной сети, подключенной к концентратору виртуальной глобальной сети, также должны содержать префиксы адресов внешнего сопоставления, указанные в правиле NAT входящего трафика.
Локальное устройство также должно содержать маршруты для префиксов, содержащихся во внешнем сопоставлении правил NAT для исходящего трафика.
Распространенные шаблоны конфигурации
Примечание.
Преобразование сетевых адресов типа "сеть — сеть" не поддерживается для VPN-подключений "сеть — сеть", где используются селекторы трафика на основе политик.
В следующей таблице представлены распространенные шаблоны конфигурации, возникающие при настройке различных типов правил NAT для VPN-шлюза типа "сеть — сеть".
Тип VPN-сайта | Правила NAT для входящего трафика | Правила NAT для исходящего трафика |
---|---|---|
VPN-сайт со статически настроенными маршрутами | Измените поле "Частный диапазон IP-адресов" на VPN-сайте таким образом, чтобы оно содержало внешнее сопоставление правила NAT. | Примените маршруты для внешнего сопоставления правила NAT на локальном устройстве. |
VPN-сайт (с поддержкой преобразования BGP) | Укажите адрес внешнего сопоставления однорангового узла BGP в адресе BGP подключения по каналу VPN-сайта. | Специальные рекомендации отсутствуют. |
VPN-сайт (без поддержки преобразования BGP) | Убедитесь, что локальный маршрутизатор, на котором выполняется протокол BGP, объявляет префиксы во внешнем сопоставлении правила NAT. Укажите также адрес внешнего сопоставления однорангового узла BGP в адресе BGP подключения по каналу VPN-сайта. | Примените маршруты для внешнего сопоставления правила NAT на локальном устройстве. |
Следующие шаги
Дополнительные сведения о конфигурациях "сеть — сеть" см. в статье Настройка подключения "сеть — сеть" виртуальной глобальной сети.