В прошлый статье остановились на том что, мы собрали MikroTik в единую сеть, обойдя NAT с помощью "облачного" сервера. Далее, в данной статье, мы настроим связность между нашими площадками, да так чтобы казалось, как будто мы их подключили прямым кабелем (L2). Мы должны получить L2VPN. Должно получиться, что-то вроде этого:

Все настройки буду показывать, по возможности, через Web интерфейс, так как считаю, что это более нагляднее и позволяет повторить их даже неопытному пользователю. Поэтому будет много картинок, и как их правильно разместить их в статье, чтобы не потерять нить - я не знаю. Поэтому прошу понять и простить.
Настройка MikroTik
Легкий способ, без trunk порта.
Если вам не нужно соединять MikroTik с другим оборудованием с помощью trunk порта, а просто, грубо говоря, соединить два компьютера вместе, то пользуйтесь настройками от Mik_1.
Mik_1
Заходим в Web интерфейс
Создадим, тот самый L2 туннель, с целью объединения двух сетей (site-to-site VPN). В MikroTik это EoIP - очень удобная штука и легко настраивается.
Основная информация, это что протокол EoIP инкапсулирует кадры Ethernet в пакеты GRE (IP-протокол номер 47) (как и PPTP) и отправляет их на удаленную сторону туннеля EoIP - не забываем это!
И так приступим:
Слева выбираем Interface, далее вкладка EoIP Tunnel, нажимаем Add New
В строке Name, присваиваем произвольное имя (тут мы сделаем как показано в схеме). В строке Remote Address, указываем IP адрес клиента MikroTik, который подключен у нас в головном офисе. В строке Tunnel ID, произвольный ID номер (в данном примере был взят данный номер, для удобства, и схож с VLAN), ну и конечно же OK (далее я это не буду упомянуть, я думаю и так понятно, что нужно подтверждать, то что мы делаем)
Далее нам необходимо связать интерфейс, в который подключено наше оборудование (ПК, маршрутизатор, ...), с созданным туннелем. Для этого создаем сетевой мост (Bridge).
И так приступим:
Далее слева выбираем Bridge, после вкладка Bridge, и нажимаем Add New
Задаем ему произвольное имя в строке Name.
Далее, привязываем интерфейс и туннель с данным Bridge. Для этого выбираем вкладку Ports и нажимаем Add New.
Привязываем туннель с Bridge. В строке Interface выбираем EoIP_1, туннель который ранее был создан. В строке Bridge выбираем bridge_eoip.
Далее по такому же принципу необходимо связать интерфейс, в который подключено наше оборудование (ПК, маршрутизатор, ...)
Привязываем интерфейс с Bridge. В строке Interface выбираем интерфейс, в который подключено наше оборудование (ПК, маршрутизатор, ...), в данной схеме подключение осуществляется в интерфейсе ether3. В строке Bridge выбираем bridge_eoip.
Получаем что-то вроде этого, как показано выше на рисунке.
С настройками MikroTik, который находиться на удаленной площадке, закончили. По аналогии настраиваем все другие, которые будут подключаться к нашему центральному офису
Переходим к настройке MikroTik, который находиться в центральном офисе.
Mik_OFFICE
По аналогии с Mik_1, настраиваем EoIP туннели.
В строке Name, присваиваем произвольное имя (тут мы сделаем как показано в схеме). В строке Remote Address, указываем IP адрес клиента MikroTik, который подключен у нас в удалённом офисе. В строке Tunnel ID, указываем тот ID номер, тот который был указан у нас в удалённом офисе (в данном примере был взят данный номер, для удобства, он схож с VLAN).
Для других удалённых офисов делаем по аналогии.
В данном примере, для OFFICE_2, где MikroTik под именем Mik_2, мы указываем: Name: EoIP_2, Remote Address: 10.7.0.4, Tunnel ID: 222.
В итоге должно получиться, что-то вроде этого, как показано на рисунке выше.
Далее нам необходимо связать интерфейс, в который подключено наше оборудование (ПК, маршрутизатор, ...), с созданными туннелями. Так как у нас удаленных точек будет много, мы все их заведем на маршрутизатор CISCO и свяжем с MikroTik - trunk портом. Для этого создаем сетевой мост (Bridge) с возможностью "пропускания" VLAN'ов.
И так приступим:

Cлева выбираем Bridge, после вкладка Bridge, и нажимаем Add New. Далее задаем ему произвольное имя в строке Name. И после обязательно ставим галочку VLAN Filtering, что означает, что данный сетевой мост будет пропускать VLAN.

Далее, привязываем интерфейс и туннели (с удаленных офисов) с данным Bridge. Для этого выбираем вкладку Ports и нажимаем Add New. В строке Interface выбираем EoIP_1, туннель который ранее был создан. В строке Bridge выбираем bridge_trunk. И после обязательно в строке PVID указываем номер VLAN.
Для других удалённых офисов делаем по аналогии.
В данном примере, для OFFICE_2, где MikroTik под именем Mik_2, мы указываем: Interface: EoIP_2, Bridge: bridge_trunk, PVID: 222.
Далее по такому же принципу необходимо связать интерфейс, в который подключено наше оборудование (ПК, маршрутизатор, ...)

Далее привязываем интерфейс с Bridge. В строке Interface выбираем интерфейс, в который подключено наше оборудование (ПК, маршрутизатор, ...), в данной схеме подключение осуществляется на интерфейсе ether3. В строке Bridge выбираем bridge_trunk. Так интерфейсе ether3 - trunk, в строке PVID указываем 1.

В итоге должно получиться, что-то вроде этого, как показано на рисунке выше.
Теперь нам необходимо правильно настроить access trunk порты (в MikroTik это - tagged и untagged), так как при добавлении по умолчанию, они настроены не правильно.

Заходим в вкладке VLANs, и нажимаем Add New.

Далее, для VLAN: 111. Строка VLAN IDs: 111, строка Tagged: bridge_trunk и ether3, в строке Untagged: EoIP_1
Для VLAN: 222. Строка VLAN IDs: 222, строка Tagged: bridge_trunk и ether3, в строке Untagged: EoIP_2

В итоге должно получиться, что-то вроде этого, как показано на рисунке выше.
Все, настройка данного MikroTik закончена.
FireWall на всех MikroTik
Теперь, как я и писал выше, мы знаем, что протокол EoIP инкапсулирует кадры Ethernet в пакеты GRE (IP-протокол номер 47), нам необходимо на FireWall открыть данный порт на интерфейсе, на котором "висит" WireGuard. Этого нужно для того, чтобы бы у нас EoIP туннели заработали.

Для этого, заходим в IP -> Firewall -> Add New.
У меня, данное правило, через Web интерфейс не удалось добавить, поэтому пришлось его добавлять, через консоль:
ip firewall filter add chain=input comment=Tunnels protocol=gre in-interface=wg0
Мин. настройка оборудования в цен. офисе (на базе CISCO)
Теперь настроим маршрутизатор (R_OFFICE) и коммутатор (SW_OFFICE) согласно схемы:
Маршрутизатор (R_OFFICE) CISCO:
Зададим имя:
hostname R_OFFICE
Настроим trunk порт смотрящий в сторону наших офисов, т.е. в сторону нашего MikroTik:
!
interface Ethernet0/3.111
encapsulation dot1Q 111
ip address 192.168.2.1 255.255.255.0
!
interface Ethernet0/3.222
encapsulation dot1Q 222
ip address 192.168.3.1 255.255.255.0
!
Далее, настроим trunk порт смотрящий в сторону сети нашего офиса, т.е. в сторону нашего коммутатора (SW_OFFICE):
!
interface Ethernet0/0.5
encapsulation dot1Q 5
ip address 192.168.4.1 255.255.255.0
!
Коммутатор (SW_OFFICE) CISCO:
Зададим имя:
hostname SW_OFFICE
Заведем VLAN:
!
vlan 5
name HOST
!
Настроим trunk порт смотрящий в сторону маршрутизатора (R_OFFICE):
!
interface Ethernet0/0
switchport trunk allowed vlan 5
switchport trunk encapsulation dot1q
switchport mode trunk
!
Настроим access порт для абонента:
!
interface Ethernet0/3
switchport access vlan 5
switchport mode access
!
Итог
Ну что же, теперь давайте подключим абонентов к оборудованию со всех сторон, зададим им IP адреса, согласно схемы и проверим!
Ура! Все заработало!

В итоге мы получили L2VPN, на базе WireGuard, который позволил нам связать наши удаленные точки. Так же это можно использовать, если вы используете СИМ карты, которые находятся за NAT и получают динамические IP адреса.