Интеграция шлюза NAT с брандмауэром Azure в концентраторе и периферийной сети для исходящего подключения
30.05.2025
В этом руководстве описано, как интегрировать шлюз NAT с брандмауэром Azure в концентраторе и периферийной сети для повышения исходящего подключения и масштабируемости.
Брандмауэр Azure предоставляет 2496 портов SNAT на общедоступный IP-адрес, настроенный для каждого экземпляра масштабируемого набора виртуальных машин серверной части (не менее двух экземпляров). С Брандмауэр Azure можно связать до 250 общедоступных IP-адресов. В зависимости от требований к архитектуре и шаблонов трафика может потребоваться больше портов SNAT, чем у брандмауэра Azure. Кроме того, вам может потребоваться использовать меньше общедоступных IP-адресов, а также требуется больше портов SNAT. Лучший способ исходящего подключения — использовать шлюз NAT. Шлюз NAT предоставляет 64512 портов SNAT на общедоступный IP-адрес и может использоваться до 16 общедоступных IP-адресов.
Шлюз NAT можно интегрировать с брандмауэром Azure, настроив шлюз NAT непосредственно в подсети брандмауэра Azure. Эта связь предоставляет более масштабируемый метод исходящего подключения. Для рабочих развертываний рекомендуется сеть концентратора и периферийной сети, где брандмауэр находится в собственной виртуальной сети. Серверы рабочей нагрузки являются пиринговых виртуальных сетей в том же регионе, что и виртуальная сеть концентратора, где находится брандмауэр. В этой архитектуре шлюз NAT может обеспечить исходящее подключение из центральной виртуальной сети для всех периферийных виртуальных сетей, пиринговых.
Примечание
Хотя шлюз NAT можно развернуть в концентраторе и периферийной архитектуре виртуальной сети, как описано в этом руководстве, шлюз NAT не поддерживается в центральной виртуальной сети архитектуры виртуальной глобальной сети. Чтобы использовать в архитектуре vWAN, шлюз NAT необходимо настроить непосредственно на периферийные виртуальные сети, связанные с защищенным виртуальным концентратором (vWAN). Дополнительные сведения о параметрах архитектуры Брандмауэра Azure см. в разделе Параметры архитектуры Диспетчера брандмауэра Azure.
В этом руководстве описано следующее:
Создание виртуальной сети концентратора и развертывание Брандмауэр Azure и Бастиона Azure во время развертывания
Создайте шлюз NAT и свяжите его с подсетью брандмауэра в виртуальной сети концентратора
Создание периферийной виртуальной сети
Создание пиринга виртуальных сетей
Создание таблицы маршрутов для периферийной виртуальной сети
Создание политики брандмауэра для виртуальной сети концентратора
Создание виртуальной машины для проверки исходящего подключения через шлюз NAT
Azure размещает Azure Cloud Shell, интерактивную среду оболочки, которую можно использовать в браузере. Для работы со службами Azure можно использовать Bash или PowerShell с Cloud Shell. Для выполнения кода в этой статье можно использовать предустановленные команды Cloud Shell, не устанавливая ничего в локальной среде.
Чтобы запустить Azure Cloud Shell, выполните приведенные действия.
Вариант
Пример/ссылка
Нажмите кнопку Попробовать в правом верхнем углу блока кода или команд. При нажатии кнопки Попробовать код или команда не копируется в Cloud Shell автоматически.
Чтобы открыть Cloud Shell в браузере, перейдите по адресу https://shell.azure.com или нажмите кнопку Запуск Cloud Shell.
Нажмите кнопку Cloud Shell в строке меню в правом верхнем углу окна портала Azure.
Чтобы использовать Azure Cloud Shell, выполните следующие действия:
Запустите Cloud Shell.
Нажмите кнопку Копировать в блоке кода (или блоке команд), чтобы скопировать код или команду.
Вставьте код или команду в сеанс Cloud Shell, выбрав CTRL+SHIFT+V в Windows и Linux или выбрав Cmd+Shift+V в macOS.
Нажмите Enter, чтобы запустить код или команду.
Чтобы установить и использовать PowerShell локально для работы с этой статьей, вам понадобится модуль Azure PowerShell 1.0.0 или более поздней версии. Выполните команду Get-Module -ListAvailable Az, чтобы узнать установленную версию. Если вам необходимо выполнить обновление, ознакомьтесь со статьей, посвященной установке модуля Azure PowerShell. При использовании PowerShell на локальном компьютере также нужно запустить Connect-AzAccount, чтобы создать подключение к Azure.
Если вы предпочитаете запускать справочные команды CLI локально, установите Azure CLI. Если вы работаете в Windows или macOS, подумайте о запуске Azure CLI в контейнере Docker. Дополнительные сведения см. в статье Как запустить Azure CLI в контейнере Docker.
Если вы используете локальную установку, войдите в Azure CLI с помощью команды az login . Чтобы завершить процесс аутентификации, следуйте шагам, отображаемым в вашем терминале. Сведения о других параметрах входа см. в статье "Проверка подлинности в Azure с помощью Azure CLI".
Выполните команду az version, чтобы узнать установленную версию и зависимые библиотеки. Чтобы обновиться до последней версии, выполните команду az upgrade.
Для работы с этой статьей требуется Azure CLI версии 2.0.28 или более поздней. Если вы используете Azure Cloud Shell, последняя версия уже установлена.
Создание виртуальной сети концентратора
Виртуальная сеть концентратора содержит подсеть брандмауэра, связанную с шлюзом Брандмауэр Azure и NAT. Используйте следующий пример, чтобы создать виртуальную сеть концентратора.
В поле поиска в верхней части портала введите виртуальные сети. В результатах поиска выберите Виртуальные сети.
Выберите + Создать.
На вкладке "Основные сведения" для создания виртуальной сети введите или выберите следующие сведения:
Параметр
Значение
Сведения о проекте
Отток подписок
Выберите свою подписку.
Группа ресурсов
Выберите Создать.
Введите test-rg.
Нажмите кнопку ОК.
Сведения об экземпляре
Имя.
Введите vnet-hub.
Область/регион
Выберите регион (США) Центрально-южная часть США.
Нажмите кнопку "Далее ", чтобы перейти на вкладку "Безопасность ".
Выберите "Включить бастион Azure" в разделе "Бастион Azure" на вкладке "Безопасность".
Бастион Azure использует браузер для подключения к виртуальным машинам в виртуальной сети через безопасную оболочку (SSH) или протокол удаленного рабочего стола (RDP) с помощью частных IP-адресов. Виртуальные машины не нуждаются в общедоступных IP-адресах, клиентском программном обеспечении или специальной конфигурации. Дополнительные сведения о Бастионе Azure см. в статье "Бастион Azure"
Примечание
Почасовая цена начинается с момента развертывания Бастиона независимо от использования исходящих данных. Дополнительные сведения см. в разделе "Цены и номера SKU". Если вы развертываете Бастион в рамках руководства или теста, рекомендуется удалить этот ресурс после завершения работы с ним.
Введите или выберите следующие сведения в Бастионе Azure:
Параметр
Значение
Имя узла Бастиона Azure
Введите бастион.
Общедоступный IP-адрес Бастиона Azure
Выберите " Создать общедоступный IP-адрес".
Введите public-ip-бастион в поле "Имя".
Нажмите кнопку ОК.
Выберите "Включить Брандмауэр Azure" в разделе Брандмауэр Azure вкладки "Безопасность".
Брандмауэр Azure — это управляемая облачная служба сетевой безопасности, которая защищает ресурсы виртуальной сети Azure. Это высокодоступная служба с полным отслеживанием состояния и неограниченными возможностями облачного масштабирования. Дополнительные сведения о Брандмауэр Azure см. в Брандмауэр Azure.
Введите или выберите следующие сведения в Брандмауэр Azure:
Параметр
Значение
Имя брандмауэра Azure
Введите брандмауэр.
Уровень
Выберите Стандартное.
Политика
Выберите Создать.
Введите политику брандмауэра в имени.
Нажмите кнопку ОК.
общедоступный IP-адрес Брандмауэр Azure
Выберите " Создать общедоступный IP-адрес".
Введите имя общедоступного ip-брандмауэра .
Нажмите кнопку ОК.
Нажмите кнопку "Далее ", чтобы перейти на вкладку IP-адресов .
Выберите Review + create (Просмотреть и создать).
Нажмите кнопку создания.
Развертывание узла бастиона и брандмауэра занимает несколько минут. При создании виртуальной сети в рамках развертывания можно перейти к следующим шагам.
Весь исходящий интернет-трафик проходит через шлюз NAT к Интернету. Используйте следующий пример, чтобы создать шлюз NAT для концентратора и периферийной сети и связать его с AzureFirewallSubnet.
Периферийная виртуальная сеть содержит тестовую виртуальную машину, используемую для проверки маршрутизации интернет-трафика в шлюз NAT. Используйте следующий пример для создания периферийной сети.
В поле поиска в верхней части портала введите виртуальные сети. В результатах поиска выберите Виртуальные сети.
Выберите + Создать.
На вкладке "Основные сведения" для создания виртуальной сети введите или выберите следующие сведения:
Параметр
Значение
Сведения о проекте
Отток подписок
Выберите свою подписку.
Группа ресурсов
Выберите test-rg.
Сведения об экземпляре
Имя.
Введите виртуальную сеть.
Область/регион
Выберите Центрально-южная часть США.
Нажмите кнопку "Далее ", чтобы перейти на вкладку "Безопасность ".
Нажмите кнопку "Далее ", чтобы перейти на вкладку IP-адресов .
На вкладке IP-адресов в адресном пространстве IPv4 выберите удалить адресное пространство, чтобы удалить адресное пространство , заполненное автоматически.
Выберите +Добавить адресное пространство IPv4.
В адресном пространстве IPv4 введите 10.1.0.0. Оставьте значение по умолчанию /16 (65 536 адресов) в выборе маски.
Выберите +Добавить подсеть.
В поле "Добавить подсеть " введите или выберите следующие сведения:
Создание пиринга между концентратором и периферийным устройствами
Пиринг виртуальной сети используется для подключения концентратора к периферийной и периферийной сети к концентратору. Используйте следующий пример, чтобы создать двусторонняя пиринговая связь между концентратором и периферийным устройством.
Таблица маршрутов заставляет весь трафик покидать периферийную виртуальную сеть в виртуальную сеть концентратора. Таблица маршрутов настраивается с частным IP-адресом Брандмауэр Azure в качестве виртуального устройства.
Получение частного IP-адреса брандмауэра
Частный IP-адрес брандмауэра необходим для таблицы маршрутов, созданной далее в этой статье. Используйте следующий пример, чтобы получить частный IP-адрес брандмауэра.
В поле поиска в верхней части портала введите Брандмауэр. Выберите брандмауэры в результатах поиска.
Выберите брандмауэр.
В обзоребрандмауэра обратите внимание на IP-адрес в частном IP-адресе брандмауэра поля. IP-адрес в этом примере — 10.0.1.68.
Используйте Get-AzFirewall , чтобы получить частный IP-адрес брандмауэра.
# Get the private IP address of the firewall
$firewallParams = @{
ResourceGroupName = 'test-rg'
Name = 'firewall'
}
$firewall = Get-AzFirewall @firewallParams
$firewall.IpConfigurations[0].PrivateIpAddress
# Get the private IP address of the firewall
az network firewall show \
--resource-group test-rg \
--name firewall \
--query "ipConfigurations[0].privateIpAddress" \
--output tsv
Создание таблицы маршрутов
Создайте таблицу маршрутов для принудительной принудительной передачи трафика через брандмауэр в виртуальной сети концентратора.
Трафик из периферийной сети через концентратор должен быть разрешен через политику брандмауэра и сетевое правило. Используйте следующий пример, чтобы создать политику брандмауэра и правило сети.
Виртуальная машина Ubuntu используется для тестирования исходящего интернет-трафика через шлюз NAT. Используйте следующий пример для создания виртуальной машины Ubuntu.
На портале найдите и выберите "Виртуальные машины".
На виртуальных машинах нажмите кнопку +Создать, а затем виртуальную машину Azure.
На вкладке Основные сведения в разделе Создание виртуальной машины введите или выберите следующие сведения:
Параметр
Значение
Сведения о проекте
Отток подписок
Выберите свою подписку.
Группа ресурсов
Выберите test-rg.
Сведения об экземпляре
Название виртуальной машины
Введите виртуальную машину.
Область/регион
Выберите регион (США) Центрально-южная часть США.
Параметры доступности
Выберите Избыточность инфраструктуры не требуется.
Тип безопасности
Оставьте значение по умолчанию Стандартный.
Изображения
Выберите Ubuntu Server 24.04 LTS — x64-го поколения 2-го поколения.
Архитектура виртуальной машины
Оставьте значение по умолчанию x64.
Размер
Выберите размер.
Учетная запись администратора
Тип аутентификации
выберите Пароль.
Имя пользователя
Введите azureuser.
Пароль
Введите пароль.
Подтверждение пароля
Повторно введите пароль.
Правила входящего порта
Общедоступные входящие порты
Выберите Отсутствует.
Выберите вкладку "Сеть" в верхней части страницы или нажмите кнопку "Далее:Диски", а затем "Далее:Сеть".
На вкладке Сеть введите или выберите следующие значения параметров:
Параметр
Значение
Сетевой интерфейс
Виртуальная сеть
Выберите виртуальную сеть.
Подсеть
Выберите подсеть -private (10.1.0.0/24).
Общедоступный IP-адрес
Выберите Отсутствует.
Группа безопасности сети сетевого адаптера
Выберите Дополнительно.
Настройка группы безопасности сети
Выберите Создать.
Введите nsg-1 для имени.
Оставьте остальные значения по умолчанию и нажмите кнопку "ОК".
Оставьте остальные параметры по умолчанию и нажмите кнопку "Просмотр и создание".
Проверьте параметры и выберите Создать.
Дождитесь завершения развертывания виртуальной машины, прежде чем перейти к следующим шагам.
Примечание
Виртуальные машины в виртуальной сети с узлом бастиона не требуют общедоступных IP-адресов. Бастион предоставляет общедоступный IP-адрес, а виртуальные машины используют частные IP-адреса для обмена данными в сети. Вы можете удалить общедоступные IP-адреса из любых виртуальных машин в размещенных виртуальных сетях бастиона. Дополнительные сведения см. в разделе "Отсообщение общедоступного IP-адреса" с виртуальной машины Azure.
Используйте get-Credential , чтобы задать имя пользователя и пароль для виртуальной машины и сохранить их в переменной $cred .
$cred = Get-Credential
Примечание
Для виртуальной машины требуется имя пользователя. Пароль является необязательным и не используется, если задано. Для виртуальных машин Linux рекомендуется настроить ключ SSH.
Используйте New-AzVMConfig для определения виртуальной машины.
Используйте Set-AzVMOperatingSystem и Set-AzVMSourceImage для создания остальной части конфигурации виртуальной машины. В следующем примере создается виртуальная машина Ubuntu Server:
Используйте Add-AzVMNetworkInterface , чтобы подключить сетевой адаптер, созданный ранее, к виртуальной машине.
# Get the network interface object
$nicParams = @{
ResourceGroupName = "test-rg"
Name = "nic-1"
}
$nic = Get-AzNetworkInterface @nicParams
$vmConfigParams = @{
VM = $vmConfig
Id = $nic.Id
}
$vmConfig = Add-AzVMNetworkInterface @vmConfigParams
Создайте виртуальную машину с помощью New-AzVM . Команда создает ключи SSH для виртуальной машины для входа. Запишите расположение закрытого ключа. Закрытый ключ необходим в последующих шагах для подключения к виртуальной машине с помощью Бастиона Azure.
В поле поиска в верхней части портала введите Общедоступный IP-адрес. В результатах поиска выберите элемент Общедоступный IP-адрес.
Выберите public-ip-nat.
Запишите значение в IP-адресе. Пример, используемый в этой статье, — 203.0.113.0.25.
Используйте Get-AzPublicIpAddress , чтобы получить общедоступный IP-адрес шлюза NAT.
# Get the public IP address of the NAT gateway
$publicIpNatParams = @{
ResourceGroupName = 'test-rg'
Name = 'public-ip-nat'
}
$publicIpNat = Get-AzPublicIpAddress @publicIpNatParams
$publicIpNat.IpAddress