EoIP (Ethernet over IP) — один из самых удобных способов объединить две удалённые локальные сети через MikroTik так, чтобы устройства в них видели друг друга как в одном сегменте. Дальше разберём, что из себя представляет EoIP-туннель, когда его стоит применять, и дадим пошаговую инструкцию настройки через терминал и WinBox с реальными примерами конфигурации.
- Что такое EoIP-туннель в MikroTik
- Когда применяется EoIP
- Объединение офисов в единую локальную сеть
- Прозрачный L2-мост между площадками
- Передача VLAN через интернет
- Подготовка к настройке
- Схема сети и исходные данные
- Требования к оборудованию и RouterOS
- Настройка EoIP-туннеля через терминал (CLI)
- Шаг 1. Создание EoIP-интерфейса на роутере A
- Шаг 2. Создание EoIP-интерфейса на роутере B
- Шаг 3. Проверка состояния туннеля
- Настройка EoIP через WinBox
- Создание интерфейса
- Проверка статуса
- Объединение сетей через bridge и EoIP
- Создание bridge и добавление портов
- Назначение IP-адреса bridge-интерфейсу
- Настройка MTU для EoIP-туннеля
- Безопасность EoIP: шифрование через IPsec
- Настройка Firewall для EoIP
- Типичные ошибки и их решение
- Туннель создан, но статус not running
- Пакеты уходят, но не возвращаются
- Низкая скорость через EoIP
- Заключение
Что такое EoIP-туннель в MikroTik
EoIP (Ethernet over IP) — проприетарный протокол компании MikroTik, который позволяет создать виртуальный Ethernet-канал между двумя маршрутизаторами поверх IP-сети. Технически EoIP инкапсулирует полные Ethernet-фреймы (Layer 2) внутри GRE-туннеля (Generic Routing Encapsulation, IP-протокол 47).
Ключевые особенности протокола:
- Работает на канальном уровне (L2), а не на сетевом (L3). Это значит, что через туннель проходят широковещательные кадры, ARP-запросы и VLAN-теги.
- Каждый туннель идентифицируется параметром Tunnel ID. Значение Tunnel ID должно совпадать на обоих концах — иначе туннель не поднимется.
- Поддерживается только между устройствами MikroTik RouterOS. Стандартный GRE-туннель Cisco или Linux не поймёт формат EoIP.
- Не обеспечивает шифрование «из коробки». Для защиты данных нужно дополнительно настроить IPsec.
EoIP-интерфейс создаётся как виртуальный сетевой адаптер на роутере. Его можно добавить в bridge наравне с физическим Ethernet-портом, и тогда устройства по обе стороны туннеля окажутся в одном широковещательном домене.
Когда применяется EoIP
Объединение офисов в единую локальную сеть
Самый частый сценарий — связь между главным офисом и филиалом. Компьютеры в обоих офисах получают адреса из одной подсети, видят общие сетевые принтеры и файловые ресурсы. С точки зрения пользователей всё выглядит так, будто они подключены к одному коммутатору.
Прозрачный L2-мост между площадками
EoIP незаменим, когда нужно передать протоколы, работающие только на уровне L2: некоторые промышленные системы, видеонаблюдение со специфическими протоколами обнаружения, или программное обеспечение, использующее широковещательные рассылки для поиска устройств в сети.
Передача VLAN через интернет
Через EoIP-туннель можно прозрачно пробросить тегированные VLAN-кадры (802.1Q) между площадками. Это удобно, когда на обоих концах работает единая VLAN-структура и менять её нет возможности.
Подготовка к настройке
Схема сети и исходные данные
Для примера возьмём типовую схему из двух офисов:
- Роутер A (главный офис): WAN IP — 203.0.113.1, локальная сеть — 192.168.10.0/24
- Роутер B (филиал): WAN IP — 198.51.100.1, локальная сеть — 192.168.10.0/24
Обратите внимание: при использовании EoIP + bridge обе локальные сети будут в одной подсети. Это принципиальное отличие от маршрутизируемых VPN (PPTP, L2TP, IPsec site-to-site), где подсети обычно разные.
Tunnel ID выберем равным 1. Это произвольное число от 0 до 65535, главное — одинаковое на обеих сторонах.
Требования к оборудованию и RouterOS
- Любой маршрутизатор MikroTik с RouterOS версии 5.x и выше (протокол поддерживается с версии 2.x, но актуальные функции доступны в современных версиях).
- Белый (публичный) IP-адрес на каждом роутере. Если один из роутеров находится за NAT, EoIP работать не будет — GRE не проходит через NAT без специальных ухищрений.
- Открытый протокол GRE (IP protocol 47) на промежуточных файрволах и у провайдера.
Настройка EoIP-туннеля через терминал (CLI)
Шаг 1. Создание EoIP-интерфейса на роутере A
Подключитесь к роутеру A через SSH или терминал WinBox и выполните:
/interface eoip add name=eoip-tunnel1 remote-address=198.51.100.1 tunnel-id=1 disabled=no
Разберём параметры:
- name=eoip-tunnel1 — имя интерфейса (произвольное, но лучше давать осмысленные названия).
- remote-address=198.51.100.1 — WAN IP-адрес удалённого роутера B.
- tunnel-id=1 — идентификатор туннеля, должен совпадать на обеих сторонах.
- disabled=no — интерфейс сразу активен.
Шаг 2. Создание EoIP-интерфейса на роутере B
На роутере B выполните зеркальную команду, указав IP роутера A:
/interface eoip add name=eoip-tunnel1 remote-address=203.0.113.1 tunnel-id=1 disabled=no
Обратите внимание: tunnel-id=1 одинаковый, а remote-address указывает на противоположную сторону.
Шаг 3. Проверка состояния туннеля
На любом из роутеров выполните:
/interface eoip print
Пример вывода:
Flags: X - disabled; R - running
0 R name="eoip-tunnel1" mtu=auto actual-mtu=1458 l2mtu=65535
mac-address=FE:45:B0:31:4A:34 arp=enabled
local-address=0.0.0.0 remote-address=198.51.100.1
tunnel-id=1 keepalive=10s,10 dscp=inherit
clamp-tcp-mss=yes allow-fast-path=yes
Флаг R (running) означает, что туннель поднялся и работает. Если вместо R стоит X — интерфейс отключен. Если нет флага R — проблема на одной из сторон (подробнее в разделе об ошибках).
Для быстрой проверки связности через туннель можно назначить временные IP и выполнить ping:
# На роутере A:
/ip address add address=10.255.255.1/30 interface=eoip-tunnel1
# На роутере B:
/ip address add address=10.255.255.2/30 interface=eoip-tunnel1
# Ping с роутера A:
/ping 10.255.255.2
Если пинг проходит — туннель работает корректно. После проверки эти адреса можно удалить, если планируется использование bridge.
Настройка EoIP через WinBox
Создание интерфейса
- Откройте WinBox и подключитесь к роутеру.
- Перейдите в меню Interfaces.
- Нажмите кнопку + (Add New) и выберите EoIP Tunnel.
- В открывшемся окне заполните поля:
- Name — eoip-tunnel1
- Remote Address — IP-адрес удалённого роутера
- Tunnel ID — 1
- Нажмите OK.
Повторите процедуру на втором роутере, указав IP первого роутера в поле Remote Address и тот же Tunnel ID.
Проверка статуса
После создания интерфейса на обоих роутерах вернитесь в раздел Interfaces. Напротив eoip-tunnel1 должен появиться флаг R (running). Если интерфейс отображается серым цветом — он отключен, нажмите правой кнопкой и выберите Enable.
Объединение сетей через bridge и EoIP
Сам по себе EoIP-туннель — это просто виртуальный Ethernet-кабель между роутерами. Чтобы устройства в локальных сетях обоих офисов оказались в одном сегменте, нужно объединить EoIP-интерфейс и физический порт в bridge.
Создание bridge и добавление портов
На роутере A (аналогично на роутере B):
# Создание bridge-интерфейса
/interface bridge add name=bridge-eoip
# Добавление локального порта (например, ether2) в bridge
/interface bridge port add bridge=bridge-eoip interface=ether2
# Добавление EoIP-туннеля в тот же bridge
/interface bridge port add bridge=bridge-eoip interface=eoip-tunnel1
После этих команд всё, что приходит на ether2 роутера A, будет прозрачно передаваться через EoIP на роутер B, и наоборот.
Важно: если на роутере уже есть bridge с локальными портами (например, стандартный bridge1 после быстрой настройки), можно просто добавить EoIP-интерфейс в существующий bridge:
/interface bridge port add bridge=bridge1 interface=eoip-tunnel1
Назначение IP-адреса bridge-интерфейсу
IP-адрес назначается на bridge, а не на физический порт и не на EoIP-интерфейс:
# На роутере A:
/ip address add address=192.168.10.1/24 interface=bridge-eoip
# На роутере B:
/ip address add address=192.168.10.2/24 interface=bridge-eoip
DHCP-сервер, если он используется, тоже должен работать на bridge-интерфейсе. При этом рекомендуется запускать DHCP только на одном из роутеров, чтобы избежать конфликтов.
Настройка MTU для EoIP-туннеля
MTU (Maximum Transmission Unit) — важный параметр, влияющий на производительность. Стандартный Ethernet MTU составляет 1500 байт, но EoIP добавляет накладные расходы: заголовок GRE (4 байта) + заголовок EoIP (8 байт) + внешний IP-заголовок (20 байт). Итого 32 байта.
Фактический MTU EoIP-туннеля по умолчанию составляет 1458 байт (при стандартном канальном MTU 1500 на WAN-интерфейсе). RouterOS автоматически рассчитывает actual-mtu, если параметр mtu выставлен в auto.
Рекомендации:
- Оставляйте MTU в значении auto — RouterOS сама подстроит значение.
- Включите clamp-tcp-mss=yes (по умолчанию включено) — это автоматически уменьшает MSS в TCP-пакетах, предотвращая фрагментацию.
- Если через туннель проходят пакеты с DF-битом (Don’t Fragment) и связь обрывается на крупных пакетах, проверьте MTU на всём пути. Полезная команда:
/ping 198.51.100.1 size=1472 do-not-fragment
Если пинг не проходит с размером 1472, уменьшайте значение, пока не найдёте рабочий размер. Затем вычтите из него 32 байта — это и будет оптимальный MTU для EoIP.
Для ручной установки MTU:
/interface eoip set eoip-tunnel1 mtu=1400
Безопасность EoIP: шифрование через IPsec
EoIP передаёт данные в открытом виде. Любой, кто перехватит GRE-пакеты на промежуточном узле, сможет прочитать содержимое. Для защиты трафика используйте встроенную поддержку IPsec.
Самый простой способ — указать параметр ipsec-secret при создании туннеля:
/interface eoip add name=eoip-tunnel1 remote-address=198.51.100.1 tunnel-id=1 ipsec-secret=MyStr0ngP@ssw0rd disabled=no
Ту же команду (с тем же паролем) выполните на втором роутере. RouterOS автоматически создаст IPsec-политики и SA (Security Association). Трафик внутри туннеля будет зашифрован.
Для уже созданного туннеля можно добавить шифрование:
/interface eoip set eoip-tunnel1 ipsec-secret=MyStr0ngP@ssw0rd
Проверка IPsec-соединения:
/ip ipsec installed-sa print
Вы должны увидеть активные SA с адресами обоих роутеров.
Рекомендации по безопасности:
- Используйте сложный пароль длиной не менее 16 символов.
- В продуктивной среде настраивайте IPsec вручную с использованием сертификатов вместо PSK (Pre-Shared Key).
- Учитывайте, что шифрование увеличивает нагрузку на процессор. На младших моделях (hAP lite, hEX lite) это может снизить пропускную способность туннеля до 10-30 Мбит/с.
Настройка Firewall для EoIP
Для работы EoIP между роутерами должен быть открыт протокол GRE. Если на роутерах настроен файрвол, добавьте разрешающие правила.
На роутере A:
/ip firewall filter add chain=input protocol=gre src-address=198.51.100.1 action=accept comment="Allow GRE from Router B" place-before=0
На роутере B:
/ip firewall filter add chain=input protocol=gre src-address=203.0.113.1 action=accept comment="Allow GRE from Router A" place-before=0
Если используется IPsec, дополнительно откройте:
/ip firewall filter add chain=input protocol=udp dst-port=500 src-address=198.51.100.1 action=accept comment="Allow IKE" place-before=0
/ip firewall filter add chain=input protocol=ipsec-esp src-address=198.51.100.1 action=accept comment="Allow IPsec ESP" place-before=0
/ip firewall filter add chain=input protocol=udp dst-port=4500 src-address=198.51.100.1 action=accept comment="Allow NAT-T" place-before=0
Параметр place-before=0 размещает правило в начале цепочки, чтобы оно обрабатывалось до запрещающих правил.
Типичные ошибки и их решение
Туннель создан, но статус not running
Это самая распространённая проблема. Возможные причины:
- Tunnel ID не совпадает на обоих роутерах. Проверьте командой
/interface eoip print detailна каждом устройстве. - Неверный remote-address. Убедитесь, что указан именно WAN-адрес противоположного роутера, а не его локальный IP.
- GRE заблокирован провайдером. Некоторые провайдеры блокируют протокол GRE (IP 47). Проверьте, проходит ли трафик: на удалённом роутере выполните
/tool snifferс фильтром по протоколу GRE. - Файрвол блокирует GRE. Проверьте правила в chain=input на обоих роутерах.
- Роутер за NAT. EoIP не работает через NAT без дополнительных мер. Если один из роутеров за NAT — используйте IPIP, GRE с IPsec (NAT-T) или WireGuard вместо EoIP.
Пакеты уходят, но не возвращаются
- Проверьте маршруты:
/ip route print. Убедитесь, что обратный трафик уходит через правильный WAN-интерфейс. - Проверьте, нет ли асимметричной маршрутизации. Если на роутере несколько WAN, убедитесь, что ответные GRE-пакеты идут через тот же интерфейс, откуда пришли.
- Используйте Torch для диагностики: Tools → Torch, выберите WAN-интерфейс и отфильтруйте протокол GRE.
Низкая скорость через EoIP
- Шифрование IPsec существенно нагружает процессор. На моделях без аппаратного ускорения шифрования (hAP, hEX) пропускная способность может упасть до 20-50 Мбит/с. Решение — использовать модели с аппаратным AES (RB4011, CCR, RB5009).
- MTU и фрагментация. Если MTU настроен некорректно, пакеты фрагментируются, что резко снижает скорость. Убедитесь, что clamp-tcp-mss включён.
- Broadcast-штормы. При объединении через bridge широковещательный трафик идёт в обе стороны. Если в одной из сетей много broadcast (например, от Windows-сервисов), это может забить канал. Решение — включить фильтрацию broadcast в настройках bridge или использовать STP.
- Keepalive. По умолчанию keepalive отправляется каждые 10 секунд, 10 попыток. Если канал нестабильный, туннель может часто «падать» и «подниматься». Настройте keepalive под ваши условия:
/interface eoip set eoip-tunnel1 keepalive=30s,5
Заключение
EoIP-туннель в MikroTik — простой и эффективный способ объединить удалённые сети на канальном уровне. Настройка занимает буквально несколько команд: создать EoIP-интерфейс с одинаковым Tunnel ID на обоих роутерах, добавить его в bridge — и сети работают как одна. Протокол отлично подходит для связи офисов, проброса VLAN и организации L2-мостов.
При этом не забывайте о безопасности — обязательно включайте IPsec-шифрование для защиты данных, настраивайте файрвол и контролируйте MTU для стабильной работы. Если роутер находится за NAT или провайдер блокирует GRE — рассмотрите альтернативы: WireGuard, L2TP/IPsec или VXLAN (доступен в RouterOS 7).
