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


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

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

Схема ресурсов Azure, созданных в руководстве.

В этом руководстве вы узнаете, как:

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

Предпосылки

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

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

Создайте группу ресурсов

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

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

  3. Нажмите кнопку +Создать.

  4. На вкладке "Основные сведения " в разделе "Создание группы ресурсов" введите или выберите следующие сведения:

    Настройки Ценность
    Подписка Выберите подписку.
    Группа ресурсов Введите test-rg.
    Регион Выберите регион Восточная часть США 2.
  5. Выберите Review + create.

  6. Нажмите кнопку "Создать".

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

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

  2. Нажмите кнопку +Создать.

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

    Настройки Ценность
    Сведения о проекте
    Подписка Выберите подписку.
    Группа ресурсов Выберите test-rg.
    Сведения об инстанции
    Имя Введите vnet-1.
    Регион Выберите регион Восточная часть США 2.
  4. Нажмите кнопку "Далее ", чтобы перейти на вкладку "Безопасность ".

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

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

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

    Настройки Ценность
    Сведения о подсети
    Шаблон подсети Оставьте значение «По умолчанию».
    Имя Введите subnet-1.
    Начальный адрес Оставьте значение по умолчанию 10.0.0.0.
    Размер подсети Оставьте значение по умолчанию /24 (256 адресов).
  8. Нажмите кнопку "Сохранить".

  9. Выберите +Добавить подсеть.

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

    Настройки Ценность
    Сведения о подсети
    Шаблон подсети Оставьте значение «По умолчанию».
    Имя Введите подсеть-частная.
    Начальный адрес Введите 10.0.2.0.
    Размер подсети Оставьте значение по умолчанию /24 (256 адресов).
  11. Нажмите кнопку "Добавить".

  12. Выберите +Добавить подсеть.

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

    Настройки Ценность
    Сведения о подсети
    Шаблон подсети Оставьте значение «По умолчанию».
    Имя Введите subnet-dmz.
    Начальный адрес Введите 10.0.3.0.
    Размер подсети Оставьте значение по умолчанию /24 (256 адресов).
  14. Нажмите кнопку "Добавить".

  15. Выберите "Проверка и создание " в нижней части экрана и при прохождении проверки нажмите кнопку "Создать".

Развертывание Бастиона Azure

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

Замечание

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

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

  2. Нажмите кнопку +Создать.

  3. На вкладке "Основные сведения" в разделе "Создание бастиона" введите или выберите следующие сведения:

    Настройки Ценность
    Сведения о проекте
    Подписка Выберите подписку.
    Группа ресурсов Выберите test-rg.
    Сведения об инстанции
    Имя Введите бастион.
    Регион Выберите регион Восточная часть США 2.
    Тир Выберите разработчика.
    Настройка виртуальных сетей
    Виртуальная сеть Выберите vnet-1.
    Подсеть AzureBastionSubnet создается автоматически с адресным пространством /26 или больше.
  4. Выберите Review + create.

  5. Нажмите кнопку "Создать".

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

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

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

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

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

    Настройки Ценность
    Сведения о проекте
    Подписка Выберите подписку.
    Группа ресурсов Выберите test-rg.
    Сведения об инстанции
    Название виртуальной машины Введите vm-nva.
    Регион Выберите регион (США) Восточная часть США 2.
    Параметры доступности Выберите "Не требуется избыточность инфраструктуры".
    Тип безопасности Выберите Стандартное.
    Изображение Выберите Ubuntu Server 24.04 LTS - x64 Gen2.
    Архитектура виртуальной машины Оставьте значение по умолчанию x64.
    Размер Выберите размер.
    Учетная запись администратора
    Тип аутентификации Выберите Открытый ключ SSH.
    Имя пользователя Введите имя пользователя.
    SSH public key source (Источник открытого ключа SSH) Выберите Создать новую пару ключей.
    Имя пары ключей Введите vm-nva-key.
    Правила входящего порта
    Общедоступные входящие порты Выберите "Нет".
  4. Нажмите кнопку "Далее": диски , а затем " Далее: сеть".

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

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

  7. Нажмите кнопку "Создать".

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

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

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

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

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

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

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

    Настройки Ценность
    Сведения о проекте
    Подписка Выберите подписку.
    Группа ресурсов Выберите test-rg.
    Сведения об инстанции
    Название виртуальной машины Введите vm-public.
    Регион Выберите регион (США) Восточная часть США 2.
    Параметры доступности Выберите "Не требуется избыточность инфраструктуры".
    Тип безопасности Выберите Стандартное.
    Изображение Выберите Ubuntu Server 24.04 LTS - x64 Gen2.
    Архитектура виртуальной машины Оставьте значение по умолчанию x64.
    Размер Выберите размер.
    Учетная запись администратора
    Тип аутентификации Выберите Открытый ключ SSH.
    Имя пользователя Введите имя пользователя.
    SSH public key source (Источник открытого ключа SSH) Выберите Создать новую пару ключей.
    Имя пары ключей Введите vm-public-key.
    Правила входящего порта
    Общедоступные входящие порты Выберите "Нет".
  4. Нажмите кнопку "Далее": диски , а затем " Далее: сеть".

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

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

  7. Нажмите кнопку "Создать".

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

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

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

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

    Настройки Ценность
    Сведения о проекте
    Подписка Выберите подписку.
    Группа ресурсов Выберите test-rg.
    Сведения об инстанции
    Название виртуальной машины Введите vm-private.
    Регион Выберите регион (США) Восточная часть США 2.
    Параметры доступности Выберите "Не требуется избыточность инфраструктуры".
    Тип безопасности Выберите Стандартное.
    Изображение Выберите Ubuntu Server 24.04 LTS - x64 Gen2.
    Архитектура виртуальной машины Оставьте значение по умолчанию x64.
    Размер Выберите размер.
    Учетная запись администратора
    Тип аутентификации Выберите Открытый ключ SSH.
    Имя пользователя Введите имя пользователя.
    SSH public key source (Источник открытого ключа SSH) Выберите Создать новую пару ключей.
    Имя пары ключей Введите ключ виртуальной машины.
    Правила входящего порта
    Общедоступные входящие порты Выберите "Нет".
  4. Нажмите кнопку "Далее": диски , а затем " Далее: сеть".

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

    Настройки Ценность
    Сетевой интерфейс
    Виртуальная сеть Выберите vnet-1.
    Подсеть Выберите подсеть -private (10.0.2.0/24).
    Общедоступный IP-адрес Выберите "Нет".
    Группа безопасности сети NIC Выберите "Нет".
  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-nva313.

    Снимок экрана: сетевой интерфейс виртуальной машины NVA.

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

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

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

  7. Нажмите кнопку "Применить".

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

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

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

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

  3. Разверните Операции, затем выберите Выполнить команду.

  4. Выберите RunShellScript.

  5. Введите следующий сценарий в окне запуска командного скрипта :

    sudo sed -i 's/#net.ipv4.ip_forward=1/net.ipv4.ip_forward=1/' /etc/sysctl.conf
    sudo sysctl -p
    
  6. Выберите Выполнить.

  7. Дождитесь завершения скрипта. Выходные данные показывают, что параметр ip-пересылки включен.

  8. Вернитесь на страницу обзораvm-nva и выберите "Перезапустить", чтобы перезапустить виртуальную машину.

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

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

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

  2. Нажмите кнопку +Создать.

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

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

  5. Нажмите кнопку "Создать".

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

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

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

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

  3. Разверните раздел "Параметры", а затем выберите "Маршруты".

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

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

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

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

  8. Нажмите + Ассоциировать.

  9. Введите или выберите следующую информацию в разделе Ассоциировать подсеть.

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

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

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

Тестирование сетевого трафика из публичной виртуальной машины vm-public в частную виртуальную машину vm-private

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

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

  3. Выберите «Подключиться», затем «Подключиться через бастион» в разделе «Обзор».

  4. На странице подключения бастиона введите или выберите следующие сведения:

    Настройки Ценность
    Тип проверки подлинности Выберите закрытый ключ SSH из локального файла.
    Имя пользователя Введите созданное имя пользователя.
    Локальный файл Выберите скачанный файл приватного ключа vm-public-key.
  5. Нажмите Подключиться.

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

    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. Закройте сеанс Бастиона.

Проверка сетевого трафика от vm-private к vm-public

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

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

  3. Выберите «Подключиться», затем «Подключиться через бастион» в разделе «Обзор».

  4. На странице подключения бастиона введите или выберите следующие сведения:

    Настройки Ценность
    Тип проверки подлинности Выберите закрытый ключ SSH из локального файла.
    Имя пользователя Введите созданное имя пользователя.
    Локальный файл Выберите скачанный файл закрытого ключа vm.
  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 
    

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

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

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

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

  1. На портале Azure найдите и выберите группы ресурсов.

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

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

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

Дальнейшие шаги

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

  • Была создана таблица маршрутов и ассоциирована с подсетью.

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

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

Дополнительные сведения о маршрутизации см. в статье " Обзор маршрутизации " и "Управление таблицей маршрутов". Маршрутизация также может быть автоматически настроена на крупномасштабном уровне с помощью функции управления маршрутами, определяемыми пользователем (UDR), в Azure Virtual Network Manager.

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