В данной статье мы рассмотрим настройку маршрутизации OSPF на роутере MikroTik, а в прошлой статье мы рассмотрели статическую маршрутизацию, выяснили ее плюсы и минусы. Она подойдёт для администрирования небольшого количества сетей, но, а что делать, если у вас их десятки, сотни или тысячи?
Как раз в этом на придёт на помощь протокол динамической маршрутизации OSPF . Используя данную технологию, вам теперь не нужно вручную создавать маршруты на каждом маршрутизаторе, OSPF все сделает за вас. Более того, он выстроит наикратчайший маршрут до пункта назначения с помощью алгоритма Дейкстры. Из особенностей – поддерживает технологию link state, т.е. отслеживает состояние линка, а также:
- использует IP протокол 89;
- относится к IGP протоколам (распространяющие топологическую информацию внутри AS);
- distance 110;
- метка маршрута Dao (Dynamic Active OSPF);
- не более 60 устройств в одной Area.
Как это все работает?
Каждый маршрутизатор обменивается HELLO пакетами (интервал должен быть у всех одинаковый). После обмена устанавливаются соседские отношения. Каждый роутер собирает состояние всех своих линков:
- Свой id;
- ID соседа;
- Сеть и префикс между ними;
- Тип сети;
- Стоимость линка.
На основе этой информации формируется пакет LSA (Link State Advertisement), который распространяется соседям, а соседи далее своим соседям и так далее. Каждый роутер, получивший LSA, формирует свою локальную базу данных LSDB и обновляет ее на основе этих же пакетов. В итоге, каждый маршрутизатор знает обо всех линках всех роутеров. В рамках одной AS, LSDB будет одинакова.
Схема стенда OSPF
Внимательно ознакомьтесь со схемой. Входные данные:
- Имеется 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
Базовая настройка OSPF. Пример 1
Итак, не смотря на первый взгляд сложности протокола, настройка его куда проще. Для базового функционирования OSPF необходимо прописать линки, на всех маршрутизаторах, адресация которых входит в диапазоны подсетей роутера. На первом этапе анонсируем транзитные сети. Подключаемся к R1 и открываем Routing – OSPF – Networks, создаём линк.
В данном случае мы анонсировали сеть между R1 и R2. Проделаем тоже самое для сети между R1 и R4.
Перейдём в Interfaces и увидим, что Mikrotik автоматически выбрал необходимые интерфейсы. Теперь на этих портах будут отправляться и приниматься HELLO пакеты.
Проделаем аналогичные действия на остальных маршрутизаторах, но указав уже свои линки, адресация которых есть на самих железках.
Создавать линки, адреса которых нет на роутере, можно, но работать не будет, т.к. анонсирование работает только для известных роутеру сетей.
После анонсирования транзитных сетей, каждый Mikrotik будет знать, как добраться до той или иной подсети. Обратите внимание на метрику и состояние.
Предлагаю проверить, как происходит отслеживание состояния линков, в данном протоколе. На R1 отключу ether2, анонсируемая сеть на данном интерфейсе 10.10.4.0/24.
На скриншоте выше, видно, что шлюз до 10.10.4.0/24 сменился с 10.10.1.1 на 10.10.2.2, т.е. трафик пойдёт по кругу, через большее количество хопов. На R4 также произошли изменения, теперь трафик пойдёт через соседний R3.
Теперь анонсируем локальную сеть за R1.
Если сразу взглянуть на R3, то мы увидим, что 192.168.1.0/24 стала доступна сразу через 2 интерфейса. Такое происходит, когда общая стоимость и прыжки равны. В данном случае результат на лицо — ECMP. Т.е. один пакет улетит через одного соседа, второй через второго, но это не значит, что ответы вернутся так же.
После того, как мы проделаем аналогичные действия у всех участников, мы увидим ECMP в сети за роутерами.
Базовая настройка OSPF — Пример 2
Предлагаю немного изменить схему. Добавим дополнительные связи. Теперь у нас полная связанность, благодаря 10.10.5.1/24, 10.10.6.1/24.
Настроим адреса на интерфейсы согласно схеме и анонсируем новые линки OSPF на микротиках и для всех участниках. Теперь таблица у всех перестроится. Обратите внимание на R2, маршрут к 192.168.4.0/24 через 10.10.6.2. Почему так произошло? Ведь немного странно, было же 2 маршрута, а теперь один. Ответ очевиден – хопов стало меньше. К 192.168.4.0/24 теперь можно добраться на прямую через R4, а не через R3, как это было ранее.
Стоимость линков
Тут мы и подошли к одному из важных моментов. У каждого интерфейса есть своя стоимость. По умолчанию она равна 10. В прошлых примерах у нас получался ECMP маршрут именно по этой причине. Но вы можете регулировать это значение, тем самым перестраивая таблицы так как вам нужно (разная толщина каналов, разная их загруженность и т.д.). Сделаем маршруты внутри схемы резервными. На R1 сделаем линки ether4 стоимостью 20.
Жмём Copy и выставляем значение Cost в 20.
Откроем его таблицу. Обратите внимание, что маршрут к 192.168.3.0/24 изменился. Если сложить прыжки через 10.10.1.2 и 10.10.2.2 будет 20, через 10.10.5.2 тоже будет 20.
Если бы мы выставили стоимость в 30, то была бы другая картина.
Попробуйте ответить сами себе, почему так произошло?
А теперь на R1 выключим первый и второй интерфейс, представим, что оба канала упало.
Но как только связь восстановится, все становится на свои места. Управление стоимостью предоставляет возможность управление топологией. Вы можете настроить отправку через одни интерфейсы, а получение через другие, балансируя нагрузку на каналы связи.
Безопасность
Поговорим немного о безопасности. В прошлых примерах мы указали какие сети хотим анонсировать и Mikrotik автоматически выбирал нужные интерфейсы. Один из них был порт, смотрящий в ЛВС. Это означает, что через него тоже будут отправляться HELLO пакеты. А что делать если мы не хотим анонса через данный порт, но хотим всем соседям сказать, что у нас есть маршрут? Для этого открываем на R1 ether3, жмем Copy и ставим галочку на Passive.
Так же в прошлых примерах мы не использовали аутентификацию участников. Рекомендую настроить. В OSPF – Interfaces создаём новый интерфейс типа all:
Вы можете не задавать пароль на passive интерфейсах. После удачной авторизации, OSPF снова сойдётся.
Дополнительно
Что если у вас есть на одном из устройств, маршрут в другую сеть через статический роут? Допустим на R1 у нас есть доступ в 192.168.198.0/24 через 192.168.10.1 и вы хотите эту информацию передать соседям.
Нам нужен параметр Redistribute Static Routes. Выбираем as type 1.
Но имейте ввиду, что данный параметр добавит абсолютно все статические роуты что есть на текущем участнике. Проверим R2. Для эксперимента я также на R1 добавил 192.168.197.0/24.
Лучше практикой будет добавление необходимых роутов через Networks, иначе все что есть на R1 будет лететь на всех.
Default route так же можно передавать всем участникам.
Так же есть возможность анонса всех static routes и многое другое.
На этом, пожалуй, закончим. Надеюсь, тема по настройке OSPF на роутере MikroTik вам стала немного понятнее.
89 вопросов по настройке MikroTik
Вы хорошо разбираетесь в Микротиках? Или впервые недавно столкнулись с этим оборудованием и не знаете, с какой стороны к нему подступиться? В обоих случаях вы найдете для себя полезную информацию в курсе «Настройка оборудования MikroTik». 162 видеоурока, большая лабораторная работа и 89 вопросов, на каждый из которых вы будете знать ответ. Подробности и доступ к началу курса бесплатно тут.