Skip to content

OSPF

Теоретические сведения

Router ID

  • ID маршрутизатора в OSPF
  • Используется при обмене сообщениями в рамках OSPF

Правила выбора:

  1. Назначен вручную
  2. Максимальный адрес среди интерфейсов loopback
  3. Максимальный IP-адрес среди остальных интерфесов

Области

  • Область 0 - магистральная (backbone)
  • К области 0 должны быть подключены другие области
    • Напрямую
    • С помощью виртуального канала (virtual link)

Примеры

OSPFv2 + Cisco

Включить объявление сети 192.168.1.0/24 в области 0:

conf t
router ospf 1
network 192.168.1.0 0.0.0.255 area 0

Назначить пассивный интерфейс:

conf t
router ospf 1
passive-interface е0/0

Задать стоимость интерфейса:

conf t
int e0/0
ip ospf cost 20

Включить аутентификацию с помощью простого текста в области 0:

conf t
router ospf 1
area 0 authentication
exit
int e0/0
ip ospf authentication-key netlab

Создать виртуальный канал:

conf t
router ospf 1
area 1 virtual-link 10.10.10.10

Команды выполняются с двух сторон виртуального канала.

Обычно нужно указывать Router ID в качестве точки подключения виртуального канала.

Посмотреть настройки виртуальных каналов:

show ip ospf virtual-links

Посмотреть соседние маршрутизаторы:

show ip ospf neighbor

Задать идентификатор маршрутизатора (Router ID):

conf t
router ospf 1
router-id 1.1.1.1

Задать приоритет на маршрутизаторе:

conf t
ip ospf priority ?

Включить редистрибюцию напрямую подключенных сетей:

conf t
router ospf
redistribute connected

Перезагрузить процессы OSPF:

clear ip ospf process

Посмотреть таблицу маршрутизации:

show ip route

OSPFv3 + Cisco

Запустить процесс OSPF с номером 1:

conf t
ipv6 router ospf 1

Задать Router ID:

conf t
ipv6 router ospf 1
router-id ?

Объявление маршрута по умолчанию:

conf t
ipv6 router ospf 1
default-information originate

Включить пассивный интерфейс:

conf t
ipv6 router ospf 1
passive-interface e0/0

Сделать все интерфейсы пассивными (для того, чтобы сделать отдельный интерфейс активным, необходимо выполнить команду no passive-interface e0/0):

conf t
ipv6 router ospf 1
passive-interface default

Посмотреть настройки:

show ipv6 ospf

Объявление сети:

conf t
interface e0/0
ipv6 ospf 1 area 0

Проверить соседей OSPFv3:

show ipv6 ospf neighbor

Посмотреть таблицу маршрутизации IPv6:

show ipv6 route

Особенности настройки OSPF в Linux

Все команды и названия актуальны для Linux Alpine, но они также могут подойти на другие дистрибутивы Linux.

  1. Установить пакет frr. Возможно, потребуется указать необходимый репозиторий, в котором находится пакет.

    🔗 FRRouting Documentation

    🔗 FRR package в Alpine

  2. Включить демона ospfd в конфигурационном файле /etc/frr/daemons.

    ospfd=yes
    
  3. Необходимо указать ID процессов OSPF (в данном случае достаточно одного ID):

    ospfd_instances=1,2,...
    
  4. Запустить сервис и добавить в автозапуск

    /etc/init.d/frr start
    rc-update add frr
    

    Добавлять в автозапуск не обязательно, но при перезагрузке придется вручную стартовать демона.

  5. Подключиться к консоли виртуального маршрутизатора

    vtysh
    

    💡 Откроется терминал, напоминающий CLI Cisco. Команды также очень похожи (для помощи необходимо ввести ?). Через данный CLI можно настроить не только маршрутизацию, но и адреса на интерфейсах.

  6. Объявление сети происходит на интерфейсе

    conf t
    int eth0
    ip ospf {instance ID} area {area number}
    
  7. Редистрибуция маршрутов.

    redistribute ?
    
  8. Сохранение конфигурации

    wr mem
    
  9. Обязательно нужно включить маршрутизацию. В конец файла /etc/sysctl.conf добавить строку net.ipv4.ip_forward=1. После этого reboot или sysctl -p.

  10. Посмотреть информацию о внешних маршрутах

    sh ip ospf database external
    

🧠 Самостоятельная работа

Несколько областей. Нужны виртуальные каналы.

img

🧰 Лабораторная работа

Ознакомиться перед выполнением любой лабораторной работы (список раскрывается)
  • Вместо ❔ или x нужно подставить свой номер по журналу
  • Выполнять задание без "отмашки" не стоит ⛔, т.к. задание здесь может существовать более актуальная версия
  • У каждой работы есть срок сдачи 📅, который озвучивается на занятии, после которого работа не может быть защищена на максимальный балл 📉
  • Дополнительные задания 📚 не являются обязательными, но по результатам сдачи лабораторной работы может быть выдано одно или несколько из них. Также дополнительное задание может быть сформулировано устно
  • Для каждой лабораторной работы должен быть отчет 📝 с описанием выполнения ваших действий, оформление должно соответствовать требованиям (см. на сайте учебного заведения)
  • Нужно уметь ответить на вопросы ❓ по теме, контрольные вопросы и другие связанные вопросы
  • Примеры могут быть выполнены по желанию, а также выданы в качестве дополнительного задания с изменениями или без в случае неуспешной 😢 защиты основной работы
  • Иногда в работах встречаются задания по IPv4 и IPv6 одновременно 🔗. Это считается как одна работа. Допускается сдача работы только с IPv4 или только с IPv6, но максимальный балл в таком случае получить невозможно

🎯 Цель работы: получить навыки настройки протокола OSPF.

🌐 Схема

img

✔️ Условия

  1. Сетевые настройки на ПК статические
  2. На R1 и R2 статический маршрут по умолчанию. Больше нигде не должно быть статических маршрутов
  3. Маршрут по умолчанию распространяется с помощью OSPF
  4. R3, R4, R4 - устройства на базе linux
  5. Любые 2 ПК - устройства на базе linux
  6. R1 - DR в 10.x.134.1/24
  7. R2 - DR в 10.x.245.1/24
  8. R4 - BDR в 10.x.134.1/24 и 10.x.245.1/24
  9. Настроить пассивные интерфейсы, где разумно
  10. Сеть "Интернет" не распространяется с помощью OSPF
  11. Везде использовать область 0
  12. На каждом маршрутизаторе должен быть интерфейс Loopback с адресом х.х.х.х/32, где х - номер маршрутизатора ()

📚 Дополнительные задания

  1. Заменить указанное устройство на другое указанное
  2. Изменить схему как указано
  3. Задать на маршрутизаторах RouterID
  4. Изменить стоимости интерфейсов
  5. Настроить аутентификацию в OSFP в указанной сети
  6. Добавить тупиковую сеть к указанному маршрутизатору, настроить VLAN, RoaS, донастроить OSPF
  7. ⭐ Выполнить все то же самое только на базе IPv6. Глобальный IPv6-адрес вычислить как 2001::{IPv4-адрес}/64 (. в IPv4-адресе заменить на :).

    Например, если на интерфейсе IPv4-адрес - 10.0.1.1/24, тогда IPv6-адрес на том же интерфейсе задать как - 2001::10:0:1:1/64.

  8. ⭐ Разделить на области без использования виртуальных каналов

  9. ⭐ Разделить на области с использованием виртуальных каналов
  10. ⭐ Выполнить и защитить самостоятельную работу с указанным вариантом

🤔 Контрольные вопросы

  1. Что такое DR и BDR? Как они выбираются?
  2. Для чего используется RouterID?
  3. Что такое пассивный интерфейс и зачем он нужен?
  4. Как сделать R4 DR во всех подключенных к нему сетях?
  5. Какая административная дистанция у OSPF?
  6. Что такое метрика и какое ее максимальное значение?
  7. Для чего используются адреса 224.0.0.5 и 224.0.0.6?
  8. Сколько маршрутов на указанном маршрутизаторе, полученных указанным способом?
  9. Если на R5 задать пассивный интерфейс в сторону ПК, то как изменится доступность устройств?
  10. Если на R5 задать пассивный интерфейс в сторону сети 245, то как изменится доступность устройств?
  11. Если на R4 задать пассивный интерфейс в сторону сети 134, то как изменится доступность устройств?
  12. Если на R4 задать пассивный интерфейс в сторону сетей 134 и 245, то как изменится доступность устройств?
  13. Интерфейс в сторону "Интернета" быть пассивным или нет?
  14. Зачем нужна аутентификация в OSPF? Что будет, если задать неправильный пароль?
  15. Можно ли с помощью Wireshark "взломать" аутентификацию в OSPF?
  16. Что такое виртуальный канал в OSPF и для чего он используется?
  17. Чем примечательна область 0 в OSPF?
  18. Как используется интерфейс Loopback в OSPF?
  19. Что такое ABR и ASBR в OSPF?
  20. Что такое редистрибуция маршрутов? Для чего используется redistribute connected?
  21. Можно ли заменить команду network ... на redistribute connected?
  22. Какая стоимость маршрута между указанными сетями?
  23. Если "пинговать" неизвестный адрес, то куда уйдут пакеты?
  24. Останется ли доступ в "Интернет" при отключении R1 или R2?
  25. Отправляются ли пакеты OSPF из пассивного интерфейса?
  26. Что произойдет, если включить пассивный интерфейс между маршрутизаторами?
  27. Как определяется итоговая стоимость пути меджу сетями?
  28. Что произойдет, если в широковещательном домене из 3 маршрутизаторов отключить DR?
  29. Чему будет равен Router ID на маршрутизаторе, если удалить все интерфейсы Loopback?
  30. Почему при выборе Router ID в приоритете интерфейсы Loopback, а не физические?