Настройка туннелей 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 -
Найдите в списке интерфейс бриджа bridge0, которому назначен нужный нам IP адрес и подсеть, например, 192.168.1.1/24. Перейдите в раздел настройки бриджа командой:
/network bridge bridge0 -
Выведите список портов в бридже и добавьте порт EOIP (название будет соответствовать тому, что было задано при создании туннеля).
Введите в Apply, чтобы подтвердить новые настройки бриджа.
/network bridge bridge0 port EOIP
apply
/
Аналогичную настройку необходимо провести на втором роутере.
Пинг и дамп
Теперь можно проверить, работает ли туннель с локального адреса роутера на противоположной стороне, и просмотреть дампа трафика на ней.
Ping (/tools → Ping) R2 со стороны R1
Tcpdump (/tools → Sniffer) на стороне R2
Файрволл
В случае использования шифрования IPSec, роутер уже имеет предустановленные правила для файрволла, позволяющие ему создавать туннели EOIP.
Если шифрование не используется, то создайте в разделе /firewall → filter правило, разрешающее трафик протокола GRE, и поместите это правило выше правила, запрещающего трафик из зоны WAN.