Как разрешить доступ в интернет через Azure Firewall
Кратко
- Краткое решение: создайте Azure Firewall в подсети AzureFirewallSubnet, добавьте маршрут 0.0.0.0/0 с Next hop type = Virtual appliance на приватный IP фаервола и создайте Network rule, разрешающую исходящий трафик. Проверяйте ассоциацию таблицы маршрутов и тестируйте из VM.
- Когда нужно: если вы хотите, чтобы весь исходящий трафик из подсети проходил через Azure Firewall для контроля и логирования.

Введение
Этот пошаговый гид покажет, как разрешить выход в интернет через Azure Firewall для подсети в виртуальной сети (VNet). Примеры даны для классического сценария «всё наружу через фаервол» (force-tunnel). Если у вас уже развернут фаервол, пропустите соответствующие шаги.
Определение терминов в одну строку:
- Azure Firewall — управляемый облачный сетевой брандмауэр от Microsoft для фильтрации и логирования трафика.
Что мы настроим
- Подсеть AzureFirewallSubnet с минимальным размером /26.
- Таблицу маршрутов с маршрутом 0.0.0.0/0, указывающим на приватный IP Azure Firewall (Virtual appliance).
- Network rule collection в Azure Firewall, разрешающую исходящий трафик.
Шаг 1. Создайте Azure Firewall
- Откройте портал Azure и войдите под своей учётной записью.
- Выберите Создать ресурс > Сеть > Firewall.
- Укажите необходимые поля: Группа ресурсов, Имя, Регион и Firewall Policy (если есть).
- Нажмите Проверить и создать, затем Создать.
Если Azure Firewall уже есть — переходите к следующему шагу.
Шаг 2. Создайте подсеть для фаервола и добавьте маршрут
- В портале Azure перейдите в вашу Виртуальную сеть (Virtual Network).
- Выберите Подсети > + Подсеть.
- Назовите подсеть AzureFirewallSubnet. Это обязательное имя для корректного развертывания Azure Firewall.
- Укажите адресный диапазон подсети (минимум /26), затем нажмите Сохранить.
- Разверните фаервол в созданную подсеть.
- Перейдите в ресурс Firewall.
- В разделе Параметры выберите Конфигурация публичного IP и привяжите публичный IP, если нужно обеспечить входящие/адресуемые соединения.
- Перейдите в Все службы > Таблицы маршрутов (Route tables) > + Добавить.
- Заполните необходимые поля и создайте таблицу маршрутов.
- В созданной таблице откройте Маршруты > + Добавить.
- Добавьте маршрут со следующими параметрами:
- Имя маршрута: AllowAllOutbound
- Префикс назначения: 0.0.0.0/0
- Тип следующего перехода: Virtual appliance
- Адрес следующего перехода: приватный IP-адрес вашего Azure Firewall
- Чтобы связать таблицу маршрутов с подсетью, в таблице маршрутов перейдите в раздел Подсети.
- Нажмите + Ассоциировать и выберите подсеть, трафик которой должен идти через фаервол.
Важно: убедитесь, что никакие другие политики или NVAs не перезаписывают маршрут 0.0.0.0/0 для этой подсети.
Шаг 3. Создайте сетевое правило в Azure Firewall
- Перейдите в ваш ресурс Azure Firewall.
- В разделе Параметры выберите Правила > Network rule collection > + Добавить коллекцию сетевых правил.
- Заполните поля коллекции правил:
- Имя: AllowAllOutbound
- Приоритет: 100 (или любое значение, подходящее вашей политике)
- Действие: Allow
- Внутри коллекции добавьте правило с параметрами:
- Имя: AllowAll
- Протокол: Any
- Источник: Any (или конкретный диапазон/подсеть для сужения)
- Назначение: 0.0.0.0/0
- Порты назначения: *
Примечание: для более строгой безопасности замените Any на конкретные протоколы и порты (например, TCP 80, 443).
Шаг 4. Проверка и тестирование
- Проверьте, что таблица маршрутов ассоциирована с нужной подсетью.
- Убедитесь, что приватный IP Azure Firewall указан как Next hop в маршруте AllowAllOutbound.
- В Azure Firewall проверьте, что коллекция правил активна и правило AllowAll присутствует.
- С виртуальной машины в этой подсети выполните тесты:
- ping 8.8.8.8 (если ICMP разрешён)
- curl https://microsoft.com
- traceroute до внешнего хоста, чтобы убедиться, что путь идёт через приватный IP фаервола
- Проверьте логи Azure Firewall (Diagnostic logs) для подтверждения прохождения трафика и получения ошибок.
Критерии приёмки
- VM в подсети может устанавливать исходящие соединения в интернет.
- Записи о трафике появляются в логах Azure Firewall.
- Маршрут 0.0.0.0/0 ассоциирован с подсетью и указывает на приватный IP фаервола.
Когда это не подойдёт или может дать сбои
- Если вы используете UDR с другими приоритетами, маршрут может быть перезаписан.
- Если в сети присутствует другое NVA (network virtual appliance), трафик может идти не через Azure Firewall.
- Если в подписке активированы политики безопасности, блокирующие изменения таблиц маршрутов или подсетей.
Альтернативные подходы
- NAT Gateway для простого выхода в интернет без глубокого фильтрования или логирования.
- Forced tunneling через NVA/ExpressRoute для направленного исходящего трафика в on-premises сеть.
- Применение Application rules и FQDN-тегов в Azure Firewall для более тщательной фильтрации по HTTP/S.
Роль‑ориентированные чеклисты
Сетевой инженер
- Создать/проверить подсеть AzureFirewallSubnet (/26+).
- Добавить маршрут 0.0.0.0/0 -> приватный IP фаервола.
Администратор фаервола
- Добавить коллекцию правил Network rule collection и правило AllowAll (или суженное правило).
- Включить Diagnostic logs и сохранить в Log Analytics/Storage.
DevOps инженер
- Проверить доступность внешних сервисов из VM.
- Автоматизировать создание ресурсов через ARM/Bicep/Terraform.
Мини-методология внедрения (быстрый план)
- Подготовка: определить подсеть(и) и адресное пространство.
- Развёртывание: создать Azure Firewall и назначить public/private IP.
- Маршрутизация: создать таблицу маршрутов и маршрут 0.0.0.0/0.
- Правила: настроить Network rule collection.
- Тестирование и логирование: запустить тесты и включить Diagnostic logs.
- Операции: мониторинг, сужение правил и ревью безопасности.
Отладка и откат
- Если VM потеряла доступ в интернет после изменений, временно удалите ассоциацию таблицы маршрутов с подсетью, чтобы вернуть прежнее поведение.
- Используйте Network Watcher: проверка IP flow, next hop и траектории пакетов.
- Если логов нет — проверьте включён ли Diagnostic logging и настроено ли сохранение в нужное хранилище/Log Analytics.
Безопасность и советы по жёсткой политике
- Не используйте правило AllowAny на долгое время. Сужайте источники/назначения и протоколы.
- Включите TLS inspection только при необходимости и с учётом юридических/приватных ограничений.
- Настройте централизацию логов и оповещений при подозрительной активности.
Важно
Разрешение исходящего трафика «для всех» упрощает доступ, но снижает уровень безопасности. Применяйте принцип наименьших привилегий: разрешайте только необходимые протоколы и домены.
Краткое резюме
- Разверните Azure Firewall в подсети AzureFirewallSubnet (/26+).
- Настройте таблицу маршрутов с маршрутом 0.0.0.0/0 на приватный IP фаервола.
- Создайте Network rule collection и правило, разрешающее исходящий трафик.
- Проверяйте ассоциации, логи и выполняйте тесты с виртуальной машины.
Если нужны примеры ARM/Bicep/Terraform шаблонов или помощь с конкретной архитектурой (сегментация, forced tunnel, NAT Gateway), напишите, и я подготовлю шаблон или пошаговую инструкцию.
Похожие материалы
Монитор Samsung не видит HDMI — как исправить
Снимки и восстановление в VirtualBox
Sticky Notes в Windows 10 — полное руководство
Защита аккаунта Facebook — полный практический гид