Как настроить маршрутизацию между виртуальными сетями Azure?

Я разрабатываю среду Azure, которая будет содержать несколько виртуальных сетей, и требование - чтобы все сети были соединены; VM в любой сети должен смочь говорить с другим VM в любой другой сети.

Я мог соединить те сети с помощью полной ячеистой топологии, но это быстро выйдет из-под контроля как количество увеличений сетей, и я действительно не хочу должным быть настраивать и управляю n (n - 1)/2 соединения VPN.

Я соединил бы их использующий осевую топологию, возможно, с помощью нескольких концентраторов, если предел Azure 10 соединений на виртуальную сеть достигнут. Однако я застреваю с проблемой: кажется, нет способа обработать маршрутизацию в Azure.

Скажем, ради простоты, что у меня есть три виртуальных сети:

  • Объединитесь в сеть - 10.10.1.0/24
  • Сеть B - 10.10.2.0/24
  • Сеть C - 10.10.3.0/24

Я хочу соединиться, Объединяются в сеть для Сетей B и Сети B для Сетей C; я не хочу прямое подключение между сетями A и C: Я хочу, чтобы Сеть говорила с Сетью C через Сеть B.

Это было бы полным надуманным вопросом, если бы я имел контроль над шлюзами; несколько статических маршрутов быстро и эффективно решили бы проблему.

Однако в Azure я не могу найти способ определить дополнительные маршруты для виртуальных сетей, таким образом я не могу сказать, что шлюз для Сети "отправляет трафик, обращенный за Сетью C для Сетей B" (и наоборот).

Как это может быть достигнуто в Azure?

3
задан 10 September 2015 в 04:03
2 ответа

Хорошо, это можно сделать,но это определенно не так просто, как могло бы (и должно быть).

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

] Чтобы установить соединение между двумя виртуальными сетями Azure, вам необходимо определить две соответствующие «локальные сети», а затем подключить каждую сеть к «локальной сети», соответствующей другой; это уже не такой простой процесс, но, по крайней мере, есть некоторая документация об этом. Наличие более одного соединения для данной виртуальной сети еще сложнее, потому что вы не можете справиться с этим с портала управления (или PowerShell), и вместо этого вам придется вручную редактировать файлы конфигурации сети; однако даже это можно сделать .

А как насчет маршрутизации? В сценарии, описанном в этом вопросе, и при условии, что сеть B правильно подключена как к сети A, так и к сети C, как мы можем маршрутизировать трафик между этими двумя сетями?

Мы можем сделать это, используя определения локальной сети; в основном, мы должны сообщить шлюзу сети A, что его соединение с сетью B подходит не только для доступа к IP-подсети сети B, но и сети C; и мы, конечно, скажем обратное шлюзу сети C.

Мы уже должны определить четыре локальные сети:

  • Локальная сеть A (с точки зрения виртуальной сети B): 10.10.1.0/24
  • Локальная сеть C (с точки зрения виртуальной сети B): 10.10.3.0/24
  • Локальная сеть B (с точки зрения виртуальной сети A): 10.10.2.0/24
  • Локальная сеть B (с точки зрения виртуальной сети C): 10.10.2.0/24

Мы изменим их как таковые:

  • Локальная сеть A (с точки зрения виртуальной сети B): 10.10.1.0 / 24
  • Локальная сеть C (с точки зрения виртуальной сети B): 10.10.3.0/24
  • Локальная сеть B (с точки зрения виртуальной сети A): 10.10.2.0/24 и 10.10.3.0/24
  • Локальная сеть B (с точки зрения виртуальной сети C): 10.10.2.0/24 и 10.10.1.0/24

Таким образом , когда сеть A подключается к сети B, она будет использовать это соединение также для маршрутизации пакетов, направленных в сеть C. Когда шлюз сети B получит их, он уже будет знать, как с ними обращаться, и направит их через свое соединение с Сетью C; и наоборот.


В качестве дополнительного бонуса это работает и для соединений типа "сеть-сеть" вне Azure. Если вы хотите добавить VPN в штаб-квартиру вашей компании и т. Д. подключив его к сети B (создавая таким образом Y-образную топологию), вы можете сообщить сети A и сети B, что они могут связаться с штаб-квартирой вашей компании через свое соединение с сетью B точно таким же образом.

5
ответ дан 3 December 2019 в 05:04

Azure представила пиринг vNet, если вы не хотите возиться с VPN каждый раз, когда хотите соединить 2 сети:

https://docs.microsoft.com/en-us/ azure / virtual-network / create-peering-different-deployment-models

https://azure.microsoft.com/en-us/resources/videos/virtual-network-vnet-peering/

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

Если вам нужна дополнительная информация о том, как это реализовать, я создал поток в моем большом двоичном объекте для этой самой цели и того, как использовать PFSENSE в Azure. (PFSENSE является бесплатным, и я упаковываю для него VHD, если вам нужен бесплатный маршрутизатор)

https://mouradcloud.westeurope.cloudapp.azure.com/blog/blog/2018/07/19/build-azure-hub -and-spoke-using-pfsense-nva-udr-vnet-peering-and-vpn-on-local-router /

enter image description here

3
ответ дан 3 December 2019 в 05:04

Теги

Похожие вопросы