Pull to refresh

MikroTik: L2VPN = EoIP + WireGuard (часть 2)

Reading time5 min
Views24K

В прошлый статье остановились на том что, мы собрали 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 адреса.

Tags:
Hubs:
Total votes 13: ↑9 and ↓4+8
Comments15

Articles