Сценарий использования виртуальных устройств

Распространенным сценарием для крупных клиентов Azure является необходимость предоставления двухуровневого приложения, доступного к Интернету, при этом предоставляя доступ к внутреннему уровню из локального центра обработки данных. В этом документе описывается сценарий с использованием таблиц маршрутизации, VPN-шлюз и сетевых виртуальных устройств для развертывания двухуровневой среды, удовлетворяющей следующим требованиям:

  • Веб-приложение должно быть доступно только через общедоступное интернет-подключение.

  • На веб-сервере, на котором размещено приложение, должен быть доступ к внутреннему серверу приложений.

  • Весь трафик, передаваемый из Интернета в веб-приложение, должен проходить через виртуальное устройство брандмауэра. Эта виртуальная (модуль) используется только для интернет-трафика.

  • Весь трафик, передаваемый на сервер приложения, должен проходить через виртуальное устройство брандмауэра. Эта виртуальная (модуль) используется для доступа к внутреннему серверу и доступа из локальной сети через VPN-шлюз.

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

Этот пример представляет собой стандартный сценарий сети периметра (также известный как DMZ) с периметром и защищенной сетью. Такие сценарии можно реализовать в Azure, используя группы безопасности сети (NSG), виртуальные устройства брандмауэров или их сочетание.

В следующей таблице показаны некоторые плюсы и недостатки между группами безопасности сети и виртуальными устройствами брандмауэра.

Элемент Плюсы Минусы
Группа безопасности сети (NSG) Бесплатное использование.
Интеграция с доступом на основе ролей Azure.
Правила можно создавать в шаблонах Azure Resource Manager.
В больших средах сложность может меняться.
Брандмауэр Полный контроль над плоскостью данных.
Централизованное управление через консоль брандмауэра.
За использование устройства брандмауэра взимается плата.
Не интегрирована с доступом на основе ролей Azure.

В следующем решении используются виртуальные устройства брандмауэра для реализации сценария с сетью периметра (DMZ) или защищенной сетью.

Рекомендации

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

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

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

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

  • IP-пересылка. По умолчанию сетевой модуль Azure перенаправит пакеты на виртуальные сетевые карты (NIC), только если IP-адрес назначения пакета совпадает с IP-адресом сетевой карты. Таким образом, если таблица маршрутов определяет, что пакет должен быть отправлен на данный виртуальный (модуль), сетевой модуль Azure будет удалять этот пакет. Чтобы обеспечить доставку пакета на виртуальную машину (в данном случае виртуальную (модуль)), которая не является фактическим назначением пакета, включите IP-пересылку для виртуального (модуль).

  • Группы безопасности сети. В следующем примере группы безопасности сети не используются, но вы можете использовать группы безопасности сети, применяемые к подсетям и (или) сетевым адаптерам в этом решении. Группы безопасности сети будут дополнительно фильтровать трафик в этих подсетях и сетевых картах.

Схема подключения по протоколу IPv6.

В этом примере есть подписка, содержащая следующие элементы:

  • Две группы ресурсов, не показанные на схеме.

    • ONPREMRG. содержит все ресурсы, необходимые для моделирования локальной сети.

    • AZURERG. содержит все ресурсы, необходимые для среды виртуальной сети Azure.

  • Виртуальная сеть с именем onpremvnet сегментирована следующим образом, чтобы имитировать локальный центр обработки данных.

    • onpremsn1. Подсеть, содержащая виртуальную машину с дистрибутивом Linux для имитации локального сервера.

    • onpremsn2. Подсеть, содержащая виртуальную машину под управлением дистрибутива Linux для имитации локального компьютера, используемого администратором.

  • Существует один виртуальный (модуль) брандмауэра с именем OPFW в onpremvnet, используемый для поддержки туннеля в azurevnet.

  • Виртуальная сеть с именем azurevnet сегментирована следующим образом.

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

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

    • azsn3. Серверная подсеть, где размещается виртуальная машина, на котором выполняется сервер внутренних приложений, к которым обращается интерфейсный веб-сервер.

    • azsn4. подсеть управления, используемая исключительно для обеспечения доступа для управления ко всем виртуальным устройствам брандмауэров. В этой подсети содержатся только сетевые карты каждого виртуального устройства брандмауэра, используемого в решении.

    • Подсеть шлюза. подсеть гибридного подключения, необходимая для ExpressRoute и VPN-шлюза, чтобы обеспечивать связь между виртуальными сетями Azure и другими сетями.

  • В сети azurevnet используются три виртуальных устройства брандмауэров.

    • AZF1. внешний брандмауэр, доступный через общедоступное интернет-подключение с использованием ресурса с общедоступным IP-адресом в Azure. Вам нужно убедиться, что у вас есть шаблон из Marketplace или непосредственно от поставщика (модуль), который развертывает виртуальный (модуль) с 3 сетевыми картами.

    • AZF2. Внутренний брандмауэр для контроля трафика между azsn2 и azsn3. Этот брандмауэр также является виртуальным (модуль) с 3 сетевыми картами.

    • AZF3. брандмауэр управления, доступный администраторам в локальном центре обработки данных и подключенный к подсети управления, которая используется для управления всеми устройствами брандмауэров. Шаблоны виртуальных устройств с двумя сетевыми картами можно найти в Marketplace или запросить напрямую у поставщика устройства.

Таблицы маршрутов

Каждую подсеть в Azure можно связать с таблицей маршрутов, используемой для определения маршрутизации трафика, инициированного в этой подсети. Если эти маршруты не определены, Azure использует маршруты по умолчанию, чтобы разрешить передачу трафика из одной подсети в другую. Дополнительные сведения о таблицах маршрутизации и маршрутизации трафика см. в статье Маршрутизация трафика виртуальной сети Azure.

Чтобы обеспечить обмен данными через правильный (модуль) брандмауэра, в соответствии с последним требованием, перечисленным выше, необходимо создать следующую таблицу маршрутов в azurevnet.

azgwudr

В этом сценарии только трафик, поступающий из локальной среды в Azure, используется для управления брандмауэрами путем подключения к AZF3, и этот трафик должен проходить через внутренний брандмауэр AZF2. Таким образом, в GatewaySubnet требуется только один маршрут, как показано ниже.

Назначение Следующий прыжок Описание
10.0.4.0/24 10.0.3.11 Разрешает передачу трафика из локальной сети на брандмауэр управления AZF3

azsn2udr

Назначение Следующий прыжок Описание
10.0.3.0/24 10.0.2.11 Разрешает передачу трафика во внутреннюю подсеть, в которой находится сервер приложения, через AZF2
0.0.0.0/0 10.0.2.10 Разрешает передачу всего остального трафика через AZF1

azsn3udr

Назначение Следующий прыжок Описание
10.0.2.0/24 10.0.3.10 Разрешает передачу трафика в azsn2 с сервера приложения на веб-сервер через AZF2

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

onpremsn1udr

Назначение Следующий прыжок Описание
192.168.2.0/24 192.168.1.4 Разрешает передачу трафика в onpremsn2 через OPFW

onpremsn2udr

Назначение Следующий прыжок Описание
10.0.3.0/24 192.168.2.4 Разрешает передачу трафика во внутреннюю подсеть в Azure через OPFW
192.168.1.0/24 192.168.2.4 Разрешает передачу трафика в onpremsn1 через OPFW

IP-пересылку

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

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

Дополнительные сведения об IP-пересылке см. в статье Маршрутизация трафика виртуальной сети Azure.

Например, предположим, что в виртуальной сети Azure настроено следующее:

  • В подсети onpremsn1 есть виртуальная машина с именем onpremvm1.

  • В подсети onpremsn2 есть виртуальная машина с именем onpremvm2.

  • Виртуальное устройство с именем OPFW подключено к onpremsn1 и onpremsn2.

  • Определяемый пользователем маршрут, связанный с onpremsn1, указывает, что весь трафик onpremsn2 должен отправляться на OPFW.

На этом этапе, если onpremvm1 попытается установить подключение к onpremvm2, будет использоваться определяемый пользователем маршрут и трафик будет отправляться на OPFW в рамках следующего прыжка. Имейте в виду, что фактическое назначение пакета не изменяется. В нем по-прежнему указывается , что onpremvm2 является назначением .

Без включенной IP-пересылки для OPFW логика виртуальной сети Azure удаляет пакеты, так как позволяет отправлять пакеты на виртуальную машину только в том случае, если IP-адрес виртуальной машины является назначением пакета.

При использовании IP-пересылки логика виртуальной сети Azure перенаправит пакеты в OPFW без изменения исходного адреса назначения. OPFW должно обрабатывать пакеты и определять действия, которые следует с ними выполнять.

Чтобы сценарий работал ранее, необходимо включить IP-пересылку на сетевых картах ДЛЯ OPFW, AZF1, AZF2 и AZF3 , которые используются для маршрутизации (все сетевые адаптеры, кроме связанных с подсетью управления).

Правила брандмауэра

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

OPFW

OPFW — это локальное устройство со следующими правилами:

  • Маршрут. Весь трафик, отправляемый по адресу 10.0.0.0/16 (azurevnet), должен проходить через туннель ONPREMAZURE.

  • Политика. Разрешите передачу любого двунаправленного трафика между port2 и ONPREMAZURE.

AZF1

AZF1 — это виртуальное устройство Azure со следующими правилами:

  • Политика. Разрешите передачу любого двунаправленного трафика между port1 и port2.

AZF2

AZF2 — это виртуальное устройство Azure со следующими правилами:

  • Политика. Разрешите передачу любого двунаправленного трафика между port1 и port2.

AZF3

AZF3 — это виртуальное устройство Azure со следующими правилами:

  • Маршрут. Весь трафик по адресу 192.168.0.0/16 (onpremvnet) должен отправляться на IP-адрес шлюза Azure (т. е. 10.0.0.1) через порт 1.

Группы безопасности сети (NSG)

В этом сценарии группы безопасности сети не используются. Тем не менее NSG можно применить для каждой подсети, чтобы ограничить входящий и исходящий трафик. Например, можно применить следующие правила NSG ко внешней подсети брандмауэра.

Входящий

  • Разрешите передачу любого трафика TCP из Интернета на порт 80 для всех виртуальных машин в подсети.

  • Запретите получение всего остального трафика из Интернета.

Исходящий

  • Запретите передачу трафика в Интернет.

Шаги высокого уровня

Чтобы развернуть этот сценарий, выполните следующие высокоуровневые действия.

  1. Войдите в подписку Azure.

  2. Если вы хотите развернуть виртуальную сеть для имитации локальной сети, разверните ресурсы, входящие в состав ONPREMRG.

  3. Разверните ресурсы, которые являются частью AZURERG.

  4. Разверните туннель из onpremvnet в azurevnet.

  5. После подготовки всех ресурсов войдите в onpremvm2 и проверьте связь с адресом 10.0.3.101, чтобы проверить подключение между onpremsn2 и azsn3.