L2VPN понадобится в том случае, когда нужно объединить несколько географически распределенных сетей в один broadcast-домен.
Это может быть полезно, например, при миграции виртуальной машины: при переезде ВМ на другую географическую площадку машина сохранит настройки IP-адресации и не потеряет связность с другими машинами, находящимися в одном L2-домене с ней.
В нашей тестовой среде соединим друг с другом две площадки, назовем их, соответственно, A и B. У нас есть два NSX и две одинаково созданные маршрутизируемые сети, привязанные к разным Edge. Машина A имеет адрес 10.10.10.250/24, машина B – 10.10.10.2/24.
- В vCloud Director переходим на вкладку Administration, заходим в нужный нам VDC, переходим на вкладку Org VDC Networks и добавляем две новые сети.
- Выбираем тип сети routed и привязываем эту сеть к нашему NSX. Ставим чекбокс Create as subinterface.
- В итоге у нас должно получиться две сети. В нашем примере они называются network-a и network-b с одинаковыми настройками gateway и одинаковой маской.
- Теперь перейдем в настройки первого NSX. Это будет NSX, к которому привязана сеть A. Он будет выступать в качестве сервера.
Возвращаемся в интерфейс NSx Edge/ Переходим на вкладку VPN —> L2VPN. Включаем L2VPN, выбираем режим работы Server, в настройках Server Global указываем внешний IP-адрес NSX, на котором будет слушаться порт для туннеля. По умолчанию, сокет откроется на 443 порту, но его можно поменять. Не забываем выбрать настройки шифрования для будущего туннеля.
- Переходим во вкладку Server Sites и добавляем пир.
- Включаем пир, задаем имя, описание, если нужно, задаем имя пользователя и пароль. Эти данные нам понадобятся позже при настройке клиентского сайта.
В Egress Optimization Gateway Address задаем адрес шлюза. Это нужно для того, чтобы не происходил конфликт IP-адресов, ведь шлюз у наших сетей имеет один и тот же адрес. После чего нажимаем на кнопку SELECT SUB-INTERFACES.
- Здесь выбираем нужный сабинтерфейс. Сохраняем настройки.
- Видим, что в настройках появился только что созданный клиентский сайт.
- Теперь перейдем к настройке NSX со стороны клиента.
Заходим на NSX стороны B, переходим в VPN —> L2VPN, включаем L2VPN, устанавливаем L2VPN mode в клиентский режим работы. На вкладке Client Global задаем адрес и порт NSX A, который мы указывали ранее как Listening IP и Port на серверной стороне. Также необходимо выставить одинаковые настройки шифрования, чтобы они согласовались при поднятии туннеля.
Проматываем ниже, выбираем сабинтерфейс, через который будет строиться туннель для L2VPN.
В Egress Optimization Gateway Address задаем адрес шлюза. Задаем user-id и пароль. Выбираем сабинтерфейс и не забываем сохранить настройки.
- Собственно, это все. Настройки клиентской и серверной стороны практически идентичны, за исключением нескольких нюансов.
- Теперь можем посмотреть, что наш туннель заработал, перейдя в Statistics —> L2VPN на любом NSX.
- Если сейчас зайдем в консоль любого Edge Gateway, то увидим на каждом из них в arp-таблице адреса обеих VM.