Настройка туннелей EoIP на роутерах на базе irzOS
EoIP-туннель (Ethernet over IP) представляет собой специализированный тип туннельного соединения, разработанный компанией MikroTik. Данный туннель функционирует на канальном уровне (L2) модели OSI, работая поверх сетевого уровня (L3) и способен создать виртуальный мост между двумя устройствами, эмулируя прозрачную сетевую среду.
Внутри туннеля передаются кадры Ethernet, как если бы роутеры были соединены напрямую, а в качестве транспорта используется GRE.
Для работы туннелей EoIP требуется, чтобы оба участника либо находились в одной сети, либо имели внешние IP адреса без какой-либо трансляции адресов (NAT) между ними.
В базовой настройке туннели EoIP не предполагают защиту шифрованием, но такая защита возможна с помощью IPSec.
Роутеры на базе irzOS имеют возможность автоматической настройки IPSec для туннеля EoIP, однако взаимная совместимость гарантируется только между роутерами irzOS, настройка с другими устройствами может быть затруднена.
Туннели уровня L2 поверх сетевого уровня (L3) стоит использовать только в случае крайней необходимости, когда задачу невозможно решить с помощью маршрутизации внутри L3 туннелей.
Пример объединения оборудования в один L2 сегмент через интернет
В примере оба роутера имеют внешние IP адреса: 200.1.1.1 и 200.1.1.2, туннель будет построен поверх них. Оба роутера имеют локальные сети с адресами в одной подсети, они объединяются в один сегмент с помощью L2 связности, предоставляемой туннелем EoIP. При этом на обоих роутерах должен быть отключен DHCP сервер для интерфейсов, которые объединяются в один сегмент.
Используется шифрование IPSec.
В данном примере интерфейсы туннеля имеют название EOIP, а wan-интерфейсы – WAN.
Создание туннеля
-
Перейдите в раздел /tunnel → eoip и создайте туннель кнопкой Add.
-
Задайте новому туннелю имя, например, EOIP.
-
В поле Local IP выберите интерфейс, через который будет работать туннель.
-
В поле Remote IP укажите внешний IP удаленной стороны туннеля.
-
В поле Tunnel ID укажите идентификатор туннеля, например, 1000.
-
Остальные поля можно не заполнять, если нет необходимости.
-
Нажмите Apply.
Если в поле Encryption был выбран вариант ipsec, то в дополнительном поле psk необходимо указать ключ для шифрования. Идентичная настройка шифрования необходима на обоих роутерах. При этом соответствующие туннели будут созданы автоматически в разделе /tunnel → ipsec.
Конфигурация на роутере R1
Поле |
Значение |
Local IP |
WAN (выбирается из перечня) |
Remote IP |
200.1.1.2 (указывается пользователем) |
Tunnel ID |
1000 (указывается пользователем) |
Encryption |
none или ipsec (при выборе ipsec будут автоматически созданы необходимые настройки шифрования IPSec, аналогичная настройка должна быть на другом роутере irzOS) |
Настройка в CLI (с шифрованием IPSec)
Для осуществления настройки через CLI необходимо зайти в роутер с помощью SSH и логина\пароля администратора и выполнить следующие команды:
/tunnel eoip add name=EOIP
disabled -
dscp 0
encryption ipsec
local-ip WAN
macaddr auto
mtu 1462
psk password
remote-ip 200.1.1.2
ttl 64
tunnel-id 1000
tunnel-ip -
apply
/
Конфигурация на роутере R2
Поле |
Значение |
Local IP |
WAN (выбирается из перечня) |
Remote IP |
200.1.1.1 (указывается пользователем) |
Tunnel ID |
1000 (указывается пользователем) |
Encryption |
none или ipsec (при выборе ipsec будут автоматически созданы необходимые настройки шифрования IPSec, аналогичная настройка должна быть на другом роутере irzOS) |
Связь между локальными сетями
Теперь необходимо обеспечить связь между локальными сетями. Для этого нужно объединить виртуальные интерфейсы туннелей с соответствующими бриджами. Для этого:
-
В разделе network → bridge нажатием выберите бридж (в примере это bridge0), отвечающий за локальную сеть, которую нужно объединить с удаленной
-
Добавьте порт «EOIP» (название будет соответствовать тому, что было задано при создании туннеля) из выпадающего списка Untagged
-
Нажмите Apply
Настройка в CLI
-
С помощью команды /ip → interface → status выведите список существующих бриджей и их параметров.
-
Найдите в списке интерфейс бриджа, которому назначен нужный нам IP-адрес и подсеть, например, 192.168.1.1/24. В примере bridge0 - нужный нам.
-
Теперь перейдите в раздел настройки бриджа командой /network → bridge → bridge0.
-
Выведите список портов в бридже командой port или /network → bridge → bridge0 → port. Изучите содержимое вывода, например, вывод port1.
-
Введите в командной строке port → port1,EOIP (где EOIP - название интерфейса, данное туннелю EoIP) и нажмите Ввод.
-
Введите в командной строке Apply и нажмите Ввод, чтобы подтвердить новые настройки бриджа.
Сокращенный пример выполнения команды:
/ip interface status
/network bridge bridge0 port EOIP
apply
/
Аналогичную настройку необходимо провести на втором роутере.
Пинг
Теперь можно проверить, работает ли туннель с локального адреса роутера на противоположной стороне и просмотра дампа трафика на ней.
Ping (/tools → Ping) R2 со стороны R1
Tcpdump (/tools → Sniffer) на стороне R2
Файрволл
| В случае использования шифрования IPSec, роутер уже имеет предустановленные правила для файрволла, позволяющие ему создавать туннели EOIP. Если шифрование не используется, то создайте в файрволле (/firewall → filter) правило, разрешающее трафик протокола GRE, и поместите это правило выше правила, запрещающего трафик из зоны Wan. |