В данной статье мы рассмотрим настройку статической маршрутизации на роутере MikroTik.
Да, задание маршрутов может происходить и динамически, но сегодня поговорим о процессе определения маршрута (направления) на основе правил, заданных в ручную. Содержание
- Основные моменты
- Схема стенда
- Настройка маршрута между R1 и R2
- Настройка R1 и R3 через R2
- Настройка резервного маршрута на микротике
- Check Gateway
- Балансировка нагрузки
- 89 вопросов по настройке MikroTik
Основные моменты
Стоит понимать, что роутинг работает на третьем уровне (L3), для ее работы нужны IP адреса. В роутерах Mikrotik есть определённый алгоритм работы RouterOS, он описан в Packet Flow Diagram v6. Нас интересует диаграмма Packet Flow Chains.
Можно задать очень интересный вопрос. Все мы знаем, что в заголовке IP пакета есть отправитель и получатель, в процессе его передачи, эти данные не меняются. Так же из определения выше мы знаем, что routing работает на L3, т.е. с IP адресами, на их основе и строятся маршруты. Но как же так, в настройках адаптера клиента указан IPшник основного шлюза, в таблицах маршрутизации так же указаны адреса роутеров, через которые доступны нужные сети. Как так получается, что источник и получатель не меняются в процессе передачи? (а они действительно не меняются).Также вы можете воспользоваться статьёй про настройку Микротика с нуля, она подойдёт для всех моделей роутеров.
Все дело в том, что, когда ваш клиентский комп хочет передать данные через шлюз, он делает arp-запрос на его IPшник (не broadcast), шлюз ему отвечает, происходит подстановка MAC шлюза в качестве получателя, на канальном уровне (L2) в ethernet кадр и данные отправляются. Шлюз получивший такой кадр, смотрит в IP заголовок, понимает, что получатель за пределами его локальной базы данных маршрутов, находит подходящий роут (об этом далее), делает arp-запрос нужного роутера, отправляет ethernet (если допустим это обычная сеть) кадр с MACом нужного роутера, и так до самого конца. Интересная штука выходит, IP адреса в пути следования не меняются, а MAC меняются.
Популярным вопросом у многих начинающих админов является «Я задал маршрут в нужную сеть, почему не работает?». На самом деле, пакеты долетают куда надо (если нет блокирующих правил по пути), т.е. в одну сторону. В связи с этим вам встречные вопросы:
- А вы задали обратный маршрут до вас?
- Как сеть назначения узнает, куда слать ответные пакеты?
Тут можно прибегнуть к маленькой хитрости, включить NAT на стороне отправителя. Но так делать не стоит. Только в особых случаях.
Алгоритмы выбора маршрута:
- Самый высокий приоритет имеет сеть/адрес /32 маской. Чем уже маска, тем приоритетнее;
- Default Route имеет самый наименьший приоритет 0.0.0.0/0.
После выбора маршрута происходит выбор по метрике, чем меньше метрика, тем приоритетнее:
- distance=0 — наивысшая метрика;
- distance=254 – наименьшая метрика;
- distance=255 – недоступный маршрут.
Схема стенда
Внимательно ознакомьтесь со схемой, на примере ее мы будем показывать как на роутерах mikrotik настраивать маршрутизацию между подсетями и как мониторить шлюз и в случае его недоступности переключится на резервный.
Входные данные
- Имеется 4 шлюза;
- 4 ПК;
- Адресация между роутерами 10.10.1.0/24…10.10.4.0/24;
- Локальные адреса клиентов192.168.1.0/24…192.168.4.0/24;
- RouterOS 6.48.1
Настройка маршрута между R1 и R2
Мы имеем две сети за обоими роутерами, 192.168.1.0/24 и 192.168.2.0/24 соответственно. Откроем IP-Routes на R1.
У всех записей есть метки состояния. В нашем случае DAC:
- Dinamic;
- Active;
- Connected.
Если роутер имеет IP на интерфейсе, то запись будет с самым высоким приоритетом. Значения всех состояний можно посмотреть на сайте mikrotik.com
Но мы не видим роут в нужную сеть. Добавим его.
В Dst. Address указываем сеть/адрес назначения. Gateway указываем IP шлюза или интерфейс, через который можем передавать данные. Метрику обычно изменяю, т.к. в будущем может понадобится создавать более приоритетные. Если мы сейчас отправим ping запросы с PC1 на PC2, то ответов мы не увидим.
Пакеты летят, но только на передачу. В ответ мы ничего не получаем. Исправим ситуацию и пропишем обратный роут на R2.
Теперь все хорошо.
Настройка R1 и R3 через R2
Для успешного прохождения трафика, на R1 нужно указать, через кого доступна 192.168.3.0/24.
На R2, указываем через кого доступна эта же сеть.
А на R3 в обратную сторону, т.е. до 192.168.1.0/24 через R2
Настройка резервного маршрута на микротике
Сделаем резервный хоп до 192.168.3.0/24 через R4. На R1 создадим роут, но изменим метрику, т.е. понизим.
После применения, запись подсвечивается, это означает что она доступна, но не активна (отсутствует A – Active). В случае недоступности через более приоритетную метрику, Mikrotik будет слать данные через R4.
На R4 скажем, через кого доступны сети за R1 и R3.
На R3 создадим резервный маршрут с наименьшим приоритетом.
Check Gateway
Пришло время рассказать про опцию Check Gateway. Она позволяет проверять доступность соседа по ICMP или ARP запросам. Но также вы можете ее отключить. Предлагаю на маршруте к 192.168.3.0/24 через R2, на R1 и R3 включить данную опцию с ping запросами. В этом случае, каждый Mikrotik раз в 10 сек. будет отправлять один ping запрос, если ответа не будет в течении трёх запросов, то он считается недействительным.
Следом на R2 включаем блокировку ICMP запросов.
И смотрим как маршруты на R1 и R3 с метрикой 10, стали unreachable.
Проверим роутинг с PC1 на PC3.
Но как только мы отключим правило блокировки на R2, и пройдет хотя бы один ping запрос, маршруты перестроятся обратно.
Балансировка нагрузки
ECMP — Equal-Cost Multi-Path – равнозначный маршрут. Указывая в правиле 2 и более шлюза, мы тем самым включаем ECMP. Данные тем самым будут пересылаться по принципу Round Robin.
Добавим R4 на R1 и R3 в основном маршруте клиентов друг к другу.
Обратите внимание на трафик на интерфейсах. На R1 он уходит через один, а возвращается через другой. Так же огорчу читателя. Что Check Gateway с ECMP не работает.
Если допустим у вас канал через R2 200Mb/s а через R3 100Mb/s, то можно нагрузить первый канал в 2 (а то и более) раза больше, чем второй.
Хотелось бы напоследок отметить, что статическая маршрутизация как на микротик так и на других роутерах является самой экономичной моделью, т.к. на ее работу не нужно включать динамические протоколы маршрутизации. Но сложность администрирования и большая вероятность допущения ошибок являются основными моментами, которые нужно учесть при проектировании.
Свежие комментарии