EoIP берёт полный кадр Ethernet, упаковывает его в GRE и отправляет на настроенный удалённый адрес, поэтому результат ведёт себя как кабель, а не как маршрут. Из маршрутизатора выходит IP-протокол 47 с исходным кадром в качестве полезной нагрузки, так что широковещательные рассылки, ARP и протоколы вне IP проходят все. GRE не добавляет собственной конфиденциальности, и кадр остаётся читаемым для всего, что видит внешний пакет. Этот единственный факт определяет порядок этой лаборатории: сначала постройте зашифрованный путь, затем переносите Ethernet внутри него.

Что EoIP упаковывает, а что нет

Инкапсуляция — это весь механизм. Кадр приходит на порт в мосту, получает заголовок GRE и внешний заголовок IP и доставляется партнёрскому маршрутизатору, который снимает оба и вводит кадр в свой мост. Принимающий мост изучает MAC источника точно так же, как от локального порта. Ничто в этом процессе не аутентифицирует кадр и не скрывает его.

Поэтому конфиденциальность должна приходить из пути, по которому идёт пакет GRE. В этом проекте нижний уровень — туннель WireGuard или IPsec между двумя маршрутизаторами, а EoIP переносится внутри него. MikroTik также предлагает опцию автоматического IPsec на самом интерфейсе EoIP, но это другая схема, и не её настраивает эта лаборатория.

Для маршрутизируемых IP-сервисов маршрутизируемый VPN — меньший проект и тот, который следует предпочесть. Обращайтесь ко второму уровню только тогда, когда устройству действительно нужно видеть кадры Ethernet с другого узла.

Предварительные условия: зашифрованный нижний уровень и два неиспользуемых порта

Обоим маршрутизаторам нужна установленная зашифрованная связь и адрес на ней, до которого партнёр может добраться. Внешнее соединение инициирует сторона LTE, поэтому концентратор никогда не набирает мобильную сеть, а маршрутизатор LTE поддерживает то состояние NAT, которого требует оператор. Убедитесь, что туннель работает, прежде чем добавлять что-либо поверх него, потому что интерфейс EoIP, не достигающий своего удалённого адреса, выглядит точно так же, как настроенный с ошибкой.

Каждому маршрутизатору также нужен порт, который ещё не является членом моста, транком VLAN, интерфейсом управления или производственной связью. Лаборатория, которая одалживает рабочий порт, — не лаборатория, а режим отказа — широковещательный шторм в работающей сети. Перед началом перенесите управление на другой интерфейс или на консоль.

Hub tunnel address:    10.44.7.1/32
LTE tunnel address:    10.44.7.2/32
Lab ports:             ether7 on both routers, unused
Test hosts:            192.168.77.11/24 and 192.168.77.12/24

Эти значения — пример, а не требование. Они должны находиться на интерфейсах туннеля и маршрутизироваться по защищённому пути. Политика межсетевого экрана на обоих маршрутизаторах должна разрешать GRE между двумя адресами туннеля, а GRE — это IP-протокол 47, а не порт TCP или UDP с номером 47. Этот проект никогда не выставляет необработанный GRE ни одной из сетей WAN.

Создайте пару туннелей с совпадающими ID

Два конца — это один логический интерфейс, определённый дважды, поэтому каждое идентифицирующее поле должно совпадать. На концентраторе:

/interface eoip add name=eoip-lab local-address=10.44.7.1 remote-address=10.44.7.2 tunnel-id=37 mac-address=02:1A:2B:00:00:01

На маршрутизаторе LTE адреса меняются местами, а MAC отличается:

/interface eoip add name=eoip-lab local-address=10.44.7.2 remote-address=10.44.7.1 tunnel-id=37 mac-address=02:1A:2B:00:00:02

ID туннеля должен совпадать на обоих концах и не должен конфликтовать с другой парой, уже настроенной на любом из маршрутизаторов. Адреса MAC — это локально администрируемые значения, которые должны быть уникальными в домене второго уровня, к которому вы подключаетесь, поэтому не повторяйте значение из примера производителя. Имена интерфейсов локальны для каждого маршрутизатора и должны быть согласованными только для ваших собственных сценариев.

Текущее руководство по EoIP документирует поля конечной точки и ID туннеля и прямо говорит, что EoIP — это Ethernet поверх GRE. Ничто в этой команде ничего не шифрует, поэтому проверка нижнего уровня идёт первой.

Объедините в мост только тестовые порты

Мост — это то, что превращает туннель в сегмент, и его состав и есть вся граница безопасности. На концентраторе:

/interface bridge add name=br-eoiphub protocol-mode=rstp auto-mac=no admin-mac=02:1A:2B:00:01:01
/interface bridge port add bridge=br-eoiphub interface=ether7
/interface bridge port add bridge=br-eoiphub interface=eoip-lab

На маршрутизаторе LTE:

/interface bridge add name=br-eoiplte protocol-mode=rstp auto-mac=no admin-mac=02:1A:2B:00:01:02
/interface bridge port add bridge=br-eoiplte interface=ether7
/interface bridge port add bridge=br-eoiplte interface=eoip-lab

Эти команды создают новые мосты и добавляют в каждый ровно два порта. Интерфейс EoIP — это член второго уровня; зашифрованный туннель остаётся маршрутизируемым транспортом, и его никогда нельзя добавлять как порт моста. Не добавляйте производственный порт и не запускайте DHCP-сервер на лабораторном мосту.

Дайте двум тестовым хостам адреса в неиспользуемой подсети без конкурирующего DHCP-сервера, например 192.168.77.11/24 и 192.168.77.12/24. Им не нужен шлюз по умолчанию, чтобы достичь друг друга в этой подсети, и адрес интерфейса маршрутизатора не требуется для прохождения кадров.

Заложите накладные расходы, прежде чем расширять LAN

EoIP поверх IPv4 добавляет заголовки Ethernet, GRE и внешнего IP вокруг переносимой полезной нагрузки. Для случая без метки MikroTik документирует 42 байта, поэтому нижний уровень с 1400 байтами полезного MTU IP оставляет 1358 байт для внутреннего кадра. Это число — бюджет, а не универсальное значение MSS, и оно не заставляет хост в мосту отправлять кадры меньшего размера.

Проверьте реальные пределы на пути, а затем испытайте самым большим кадром, который устройство действительно отправляет. Кадр в 1500 байт, который нужно фрагментировать внутри защищённого пути, ведёт себя иначе, чем тот, что помещается, и разница проявляется как остановка приложения, а не как отказ связи.

/interface eoip print detail where name=eoip-lab
/interface bridge host print where bridge=br-eoiphub
/ping 192.168.77.12 count=4 interface=br-eoiphub

RSTP обрабатывает петли, а не произвольные параллельные пути, поэтому держите пилотную топологию простой. Расширение моста расширяет и поведение широковещательных, multicast- и DHCP-пакетов через мобильную связь, и этот трафик потребляет ёмкость независимо от того, движется ли полезный кадр.

Планируйте производственное подключение только тогда, когда лаборатория достигнет того размера кадра и поведения приложения, которые вам действительно нужны. Перед этим переходом договоритесь об адресации, членстве в VLAN, полномочиях DHCP, предотвращении петель и о том, как кто-то доберётся до маршрутизаторов, когда сама связь недоступна. Расширение Ethernet объединяет домены отказа вместе с устройствами, поэтому оно заслуживает окна изменений, а не ещё одного порта на работающем мосту.

Похожие статьи