Учебник. Маршрутизация сетевого трафика с помощью таблицы маршрутов с использованием портала Azure

По умолчанию Azure маршрутизирует трафик между всеми подсетями в виртуальной сети. Для переопределения маршрутизации Azure по умолчанию можно создать собственные маршруты. Настраиваемые маршруты полезны, если, к примеру, требуется направить трафик между подсетями через виртуальный сетевой модуль.

Diagram of Azure resources created in tutorial.

В этом руководстве описано следующее:

  • Создание виртуальной сети и подсетей
  • создание виртуального сетевого модуля, который перенаправляет трафик;
  • Развертывание виртуальных машин в разных подсетях.
  • Создание таблицы маршрутов
  • Создание маршрута
  • Связывание таблицы маршрутов с подсетью
  • направление трафика из одной подсети в другую через виртуальный сетевой модуль.

Необходимые компоненты

Вход в Azure

Войдите на портал Azure.

Создание виртуальной сети и узла Бастиона Azure

Следующая процедура создает виртуальную сеть с подсетью ресурсов, подсетью Бастиона Azure и узлом Бастиона:

  1. На портале найдите и выберите "Виртуальные сети".

  2. На странице Виртуальные сети выберите команду + Создать.

  3. На вкладке Основные сведения подменю Создать виртуальную сеть введите или выберите нижеприведенную информацию:

    Параметр Значение
    Сведения о проекте
    Отток подписок Выберите свою подписку.
    Группа ресурсов Выберите Создать.
    Введите test-rg для имени.
    Нажмите кнопку ОК.
    Сведения об экземпляре
    Имя. Введите vnet-1.
    Область/регион Выберите регион Восточная часть США 2.

    Screenshot of the Basics tab for creating a virtual network in the Azure portal.

  4. Нажмите кнопку "Далее ", чтобы перейти на вкладку "Безопасность ".

  5. В разделе Бастиона Azure выберите "Включить бастион".

    Бастион использует браузер для подключения к виртуальным машинам в виртуальной сети через Secure Shell (SSH) или протокол удаленного рабочего стола (RDP) с помощью частных IP-адресов. Виртуальные машины не нуждаются в общедоступных IP-адресах, клиентском программном обеспечении или специальной конфигурации. Подробные сведения см. в статье Что такое Бастион Azure?

    Примечание.

    Почасовая цена начинается с момента развертывания Бастиона независимо от использования исходящих данных. Дополнительные сведения см. в разделе "Цены и номера SKU". Если вы развертываете Бастион в рамках руководства или теста, рекомендуется удалить этот ресурс после завершения работы с ним.

  6. В Бастионе Azure введите или выберите следующие сведения:

    Параметр Значение
    Имя узла Бастиона Azure Введите бастион.
    Общедоступный IP-адрес Бастиона Azure Выберите " Создать общедоступный IP-адрес".
    Введите public-ip-бастион в поле "Имя".
    Нажмите кнопку ОК.

    Screenshot of options for enabling an Azure Bastion host as part of creating a virtual network in the Azure portal.

  7. Нажмите кнопку "Рядом ", чтобы перейти на вкладку IP-адресов .

  8. В поле адресного пространства в подсетях выберите подсеть по умолчанию .

  9. В разделе "Изменить подсеть" введите или выберите следующие сведения:

    Параметр Значение
    Сведения о подсети
    Шаблон подсети Оставьте значение по умолчанию по умолчанию.
    Имя. Введите подсеть-1.
    Начальный адрес Оставьте значение по умолчанию 10.0.0.0.
    Размер подсети Оставьте значение по умолчанию /24 (256 адресов).

    Screenshot of configuration details for a subnet.

  10. Выберите Сохранить.

  11. Выберите "Проверка и создание " в нижней части окна. После завершения проверки нажмите кнопку Создать.

Создание подсетей

Для работы с этим руководством требуется виртуальная сеть и частная подсеть. Подсеть DMZ находится в том месте, где развертывается NVA, а частная подсеть — где развертываются виртуальные машины, в которые требуется направлять трафик. Подсеть-1 — это подсеть, созданная на предыдущих шагах. Используйте подсеть-1 для общедоступной виртуальной машины.

  1. В поле поиска в верхней части портала введите виртуальные сети. В результатах поиска выберите Виртуальные сети.

  2. В виртуальных сетях выберите виртуальную сеть-1.

  3. В виртуальной сети-1 выберите подсети из раздела Параметры.

  4. В списке подсетей виртуальной сети выберите +Подсеть.

  5. В поле "Добавить подсеть" введите или выберите следующие сведения:

    Параметр Значение
    Имя. Введите подсеть-private.
    Диапазон адресов подсети Введите 10.0.2.0/24.

    Screenshot of private subnet creation in virtual network.

  6. Выберите Сохранить.

  7. Выберите +Подсеть.

  8. В поле "Добавить подсеть" введите или выберите следующие сведения:

    Параметр Значение
    Имя. Введите подсеть-dmz.
    Диапазон адресов подсети Введите 10.0.3.0/24.

    Screenshot of DMZ subnet creation in virtual network.

  9. Выберите Сохранить.

Создание виртуальной машины сетевого виртуального модуля

Сетевые виртуальные модули — это виртуальные машины, которые помогают работать с сетевыми функциями, такими как маршрутизация и оптимизация брандмауэра. В этом разделе описано, как создать NVA с помощью виртуальной машины Ubuntu 22.04 .

  1. В поле поиска в верхней части портала введите Виртуальная машина. В результатах поиска выберите Виртуальные машины.

  2. Выберите + Создать, затем выберите Виртуальная машина Azure.

  3. В разделе "Создание виртуальной машины " введите или выберите следующие сведения на вкладке "Основные сведения".

    Параметр Значение
    Сведения о проекте
    Отток подписок Выберите свою подписку.
    Группа ресурсов Выберите test-rg.
    Сведения об экземпляре
    Virtual machine name Введите vm-nva.
    Область/регион Выберите регион (США) Восточная часть США 2.
    Параметры доступности Выберите Избыточность инфраструктуры не требуется.
    Тип безопасности Выберите Стандартное.
    Изображения Выберите Ubuntu Server 22.04 LTS — x64-го поколения 2-го поколения.
    Архитектура виртуальной машины Оставьте значение по умолчанию x64.
    Размер Выберите размер.
    Учетная запись администратора
    Тип аутентификации выберите Пароль.
    Username Введите имя пользователя.
    Пароль Введите пароль.
    Подтверждение пароля Введите пароль еще раз.
    Правила входящего порта
    Общедоступные входящие порты Выберите Отсутствует.
  4. Нажмите кнопку "Далее": диски , а затем " Далее: сеть".

  5. На вкладке Сеть введите или выберите следующие значения параметров.

    Параметр Значение
    Сетевой интерфейс
    Виртуальная сеть Выберите виртуальную сеть-1.
    Подсеть Выберите подсеть-dmz (10.0.3.0/24).
    Общедоступный IP-адрес Выберите Отсутствует.
    Группа безопасности сети сетевого адаптера Выберите Дополнительно.
    Настройка группы безопасности сети Выберите Создать.
    В поле "Имя" введите nsg-nva.
    Нажмите кнопку ОК.
  6. Оставьте остальные параметры по умолчанию и выберите "Просмотр и создание".

  7. Нажмите кнопку создания.

Создание общедоступных и частных виртуальных машин

Создайте две виртуальные машины в виртуальной сети vnet-1 . Одна виртуальная машина находится в подсети-1 , а другая виртуальная машина находится в подсети-частной подсети. Используйте один и тот же образ виртуальной машины для обеих виртуальных машин.

Создание общедоступной виртуальной машины

Общедоступная виртуальная машина используется для имитации компьютера в общедоступном Интернете. Общедоступная и частная виртуальная машина используются для проверки маршрутизации сетевого трафика через виртуальную машину NVA.

  1. В поле поиска в верхней части портала введите Виртуальная машина. В результатах поиска выберите Виртуальные машины.

  2. Выберите + Создать, затем выберите Виртуальная машина Azure.

  3. В разделе "Создание виртуальной машины " введите или выберите следующие сведения на вкладке "Основные сведения".

    Параметр Значение
    Сведения о проекте
    Отток подписок Выберите свою подписку.
    Группа ресурсов Выберите test-rg.
    Сведения об экземпляре
    Virtual machine name Введите виртуальную машину общедоступной версии.
    Область/регион Выберите регион (США) Восточная часть США 2.
    Параметры доступности Выберите Избыточность инфраструктуры не требуется.
    Тип безопасности Выберите Стандартное.
    Изображения Выберите Ubuntu Server 22.04 LTS — x64-го поколения 2-го поколения.
    Архитектура виртуальной машины Оставьте значение по умолчанию x64.
    Размер Выберите размер.
    Учетная запись администратора
    Тип аутентификации выберите Пароль.
    Username Введите имя пользователя.
    Пароль Введите пароль.
    Подтверждение пароля Введите пароль еще раз.
    Правила входящего порта
    Общедоступные входящие порты Выберите Отсутствует.
  4. Нажмите кнопку "Далее": диски , а затем " Далее: сеть".

  5. На вкладке Сеть введите или выберите следующие значения параметров.

    Параметр Значение
    Сетевой интерфейс
    Виртуальная сеть Выберите виртуальную сеть-1.
    Подсеть Выберите подсеть-1 (10.0.0.0/24).
    Общедоступный IP-адрес Выберите Отсутствует.
    Группа безопасности сети сетевого адаптера Выберите Отсутствует.
  6. Оставьте остальные параметры по умолчанию и выберите "Просмотр и создание".

  7. Нажмите кнопку создания.

Создание частной виртуальной машины

  1. В поле поиска в верхней части портала введите Виртуальная машина. В результатах поиска выберите Виртуальные машины.

  2. Выберите + Создать, затем выберите Виртуальная машина Azure.

  3. В разделе "Создание виртуальной машины " введите или выберите следующие сведения на вкладке "Основные сведения".

    Параметр Значение
    Сведения о проекте
    Отток подписок Выберите свою подписку.
    Группа ресурсов Выберите test-rg.
    Сведения об экземпляре
    Virtual machine name Введите vm-private.
    Область/регион Выберите регион (США) Восточная часть США 2.
    Параметры доступности Выберите Избыточность инфраструктуры не требуется.
    Тип безопасности Выберите Стандартное.
    Изображения Выберите Ubuntu Server 22.04 LTS — x64-го поколения 2-го поколения.
    Архитектура виртуальной машины Оставьте значение по умолчанию x64.
    Размер Выберите размер.
    Учетная запись администратора
    Тип аутентификации выберите Пароль.
    Username Введите имя пользователя.
    Пароль Введите пароль.
    Подтверждение пароля Введите пароль еще раз.
    Правила входящего порта
    Общедоступные входящие порты Выберите Отсутствует.
  4. Нажмите кнопку "Далее": диски , а затем " Далее: сеть".

  5. На вкладке Сеть введите или выберите следующие значения параметров.

    Параметр Значение
    Сетевой интерфейс
    Виртуальная сеть Выберите виртуальную сеть-1.
    Подсеть Выберите подсеть -private (10.0.2.0/24).
    Общедоступный IP-адрес Выберите Отсутствует.
    Группа безопасности сети сетевого адаптера Выберите Отсутствует.
  6. Оставьте остальные параметры по умолчанию и выберите "Просмотр и создание".

  7. Нажмите кнопку создания.

Снимок экрана: включение IP-пересылки

Чтобы маршрутизировать трафик через NVA, включите IP-пересылку в Azure и в операционной системе vm-nva. Если ip-пересылка включена, любой трафик, полученный vm-nva , предназначенный для другого IP-адреса, не удаляется и пересылается в правильное место назначения.

Включение IP-пересылки в Azure

В этом разделе описано, как включить IP-пересылку для сетевого интерфейса виртуальной машины vm-nva .

  1. В поле поиска в верхней части портала введите Виртуальная машина. В результатах поиска выберите Виртуальные машины.

  2. На виртуальных машинах выберите vm-nva.

  3. В vm-nva выберите "Сеть" в разделе Параметры.

  4. Выберите имя интерфейса рядом с сетевым интерфейсом:. Имя начинается с vm-nva и имеет случайное число, назначенное интерфейсу. Имя интерфейса в этом примере — vm-nva124.

    Screenshot of network interface of NVA virtual machine.

  5. На странице обзора сетевых интерфейсов выберите Конфигурации IP в разделе Параметры.

  6. В конфигурациях IP-адресов установите флажок " Включить IP-пересылку".

    Screenshot of enablement of IP forwarding.

  7. Выберите Применить.

Включение IP-пересылки в операционной системе

В этом разделе включите IP-пересылку для операционной системы виртуальной машины виртуальной машины nva для перенаправления сетевого трафика. Используйте службу Бастиона Azure для подключения к виртуальной машине виртуальной машины nva .

  1. В поле поиска в верхней части портала введите Виртуальная машина. В результатах поиска выберите Виртуальные машины.

  2. На виртуальных машинах выберите vm-nva.

  3. Выберите бастион в разделе "Операции ".

  4. Введите имя пользователя и пароль, введенные при создании виртуальной машины.

  5. Нажмите Подключиться.

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

    sudo vim /etc/sysctl.conf
    
  7. В редакторе Vim удалите # строку net.ipv4.ip_forward=1:

    Нажмите клавишу INSERT.

    # Uncomment the next line to enable packet forwarding for IPv4
    net.ipv4.ip_forward=1
    

    Нажмите клавишу ESC.

    Введите :wq и нажмите клавишу ВВОД.

  8. Закройте сеанс Бастиона.

  9. Перезапустите виртуальную машину.

Создание таблицы маршрутов

В этом разделе создайте таблицу маршрутов для определения маршрута трафика через виртуальную машину NVA. Таблица маршрутов связана с подсетью-1 , в которой развернута виртуальная машина с общедоступной виртуальной машиной.

  1. В поле поиска в верхней части портала введите таблицу Route. Выберите таблицы route в результатах поиска.

  2. Выберите + Создать.

  3. В таблице "Создать маршрут " введите или выберите следующие сведения:

    Параметр Значение
    Сведения о проекте
    Отток подписок Выберите свою подписку.
    Группа ресурсов Выберите test-rg.
    Сведения об экземпляре
    Область/регион Выберите регион Восточная часть США 2.
    Имя. Введите значение route-table-public.
    Распространение маршрутов шлюза Не изменяйте значение по умолчанию Да.
  4. Выберите Review + create (Просмотреть и создать).

  5. Нажмите кнопку создания.

Создание маршрута

В этом разделе создайте маршрут в таблице маршрутов, созданной на предыдущих шагах.

  1. В поле поиска в верхней части портала введите таблицу Route. Выберите таблицы route в результатах поиска.

  2. Выберите route-table-public.

  3. В Параметры выберите "Маршруты".

  4. Выберите + Добавить в маршруты.

  5. Введите или выберите следующие сведения в поле "Добавить маршрут".

    Параметр Значение
    Имя маршрута Введите в частную подсеть.
    Тип назначения Выберите IP-адреса.
    Диапазоны IP-адресов назначения или CIDR Введите 10.0.2.0/24.
    Тип следующего прыжка Выберите Виртуальный модуль.
    Адрес следующего прыжка Введите 10.0.3.4.
    Это IP-адрес виртуальной машины nva, созданный на предыдущих шагах.

    Screenshot of route creation in route table.

  6. Выберите Добавить.

  7. В разделе Параметры выберите Подсети.

  8. Нажмите + Связать.

  9. Введите или выберите следующие сведения в подсети "Связать".

    Параметр Значение
    Виртуальная сеть Выберите vnet-1 (test-rg).
    Подсеть Выберите подсеть-1.
  10. Нажмите ОК.

Проверка маршрутизации сетевого трафика

Тестирование маршрутизации сетевого трафика из виртуальной машины общедоступного в виртуальную машину в частную. Проверка маршрутизации сетевого трафика из виртуальной машины в частную виртуальную машину в общедоступную.

Тестирование сетевого трафика из виртуальной машины в частную виртуальную машину

  1. В поле поиска в верхней части портала введите Виртуальная машина. В результатах поиска выберите Виртуальные машины.

  2. На виртуальных машинах выберите виртуальную машину общедоступной.

  3. Выберите бастион в разделе "Операции ".

  4. Введите имя пользователя и пароль, введенные при создании виртуальной машины.

  5. Нажмите Подключиться.

  6. В командной строке введите следующую команду, чтобы отследить маршрутизацию сетевого трафика из виртуальной машины общедоступного в виртуальную машину в частную:

    tracepath vm-private
    

    Ответ будет выглядеть примерно так:

    azureuser@vm-public:~$ tracepath vm-private
     1?: [LOCALHOST]                      pmtu 1500
     1:  vm-nva.internal.cloudapp.net                          1.766ms 
     1:  vm-nva.internal.cloudapp.net                          1.259ms 
     2:  vm-private.internal.cloudapp.net                      2.202ms reached
     Resume: pmtu 1500 hops 2 back 1 
    

    Вы можете увидеть, что в приведенном выше ответе есть два прыжка для tracepath трафика ICMP из виртуальной машины в общедоступный в виртуальную машину. Первый прыжок — vm-nva. Второй прыжок — это целевая виртуальная машина-частная.

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

  7. Закройте сеанс Бастиона.

Проверка сетевого трафика из виртуальной машины в общедоступную виртуальную машину

  1. В поле поиска в верхней части портала введите Виртуальная машина. В результатах поиска выберите Виртуальные машины.

  2. На виртуальных машинах выберите виртуальную машину частной.

  3. Выберите бастион в разделе "Операции ".

  4. Введите имя пользователя и пароль, введенные при создании виртуальной машины.

  5. Нажмите Подключиться.

  6. В командной строке введите следующую команду, чтобы отследить маршрутизацию сетевого трафика из виртуальной машины в частную на виртуальную машину общедоступной:

    tracepath vm-public
    

    Ответ будет выглядеть примерно так:

    azureuser@vm-private:~$ tracepath vm-public
     1?: [LOCALHOST]                      pmtu 1500
     1:  vm-public.internal.cloudapp.net                       2.584ms reached
     1:  vm-public.internal.cloudapp.net                       2.147ms reached
     Resume: pmtu 1500 hops 1 back 2 
    

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

    Azure отправил трафик непосредственно из подсети-частного в подсеть-1. По умолчанию Azure маршрутизирует трафик между подсетями напрямую.

  7. Закройте сеанс Бастиона.

Очистка ресурсов

Завершив использование созданных ресурсов, можно удалить группу ресурсов и все ее ресурсы:

  1. Войдите на портал Azure; найдите в поиске и выберите Группы ресурсов.

  2. На странице групп ресурсов выберите группу ресурсов test-rg.

  3. На странице test-rg выберите "Удалить группу ресурсов".

  4. Введите test-rg в поле Ввод имени группы ресурсов, чтобы подтвердить удаление, а затем нажмите кнопку "Удалить".

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

Изучив это руководство, вы:

  • создали таблицу маршрутов и связали ее с подсетью;

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

Вы можете развернуть различные предварительно настроенные NVA из Azure Marketplace, которые предоставляют множество полезных сетевых функций.

См. дополнительные сведения о маршрутизации и управлении таблицей маршрутов.

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