15. OSPF в Cisco IOS
Особенности OSPF в Cisco IOS
Механизм выбора Router-ID
Назначенный вручную идентификатор
Самый большой адрес на loopback-интерфейсах в этом экземпляре OSPF
Самый большой адрес на loopback-интерфейсах на устройстве
Самый большой адрес на всех интерфейсах на устройстве
Стоимость интерфейса вычисляется по формуле:
Interface Cost = Reference Bandwidth / Interface Bandwidth
Reference Bandwidth по-умолчанию равна 100 Мб/с
По умолчанию IOS работает в режиме совместимости с RFC 1583
Включение OSPF на интерфейсе
Два способа включения OSPFv2:
Отобрать интерфейсы, Primary IP которых попадают под условие ACL
Указать интерфейс в явном виде
Router(config)#router ospf 1
Router(config-router)#router-id 0.0.0.1
Router(config-router)#network 192.168.0.0 0.0.255.255 area 0На интерфейсах начинается отправка Hello-пакетов и анонс сетей
Hello только с primary address, соседство не установится с secondary address
В анонс включаются все подключенные сети, включая secondary и static
Стоимость интерфейсов
Можно задать стоимость интерфейса в явном виде
Либо изменить референсную полосу для автоматического подсчета стоимости для всех интерфейсов, где она не задано явно
Passive Interface
OSPF анонсирует connected-сети со включенных в OSPF интерфейсов
Приходится включать на клиентских интерфейсах, где hello нежелательны
Выход - пассивное участие OSPF на интерфейсе
Сети с интерфейса по-прежнему анонсируются
Hello-пакеты не отсылаются и не принимаются
Типы канальных сред в OSPF
Cisco поддерживает канальные среды следующих типов:
Совпадение типа среды не проверяется при установлении соседства
Должны совпасть таймеры
Хорошо бы, чтобы совпали режимы выбора DR
Выбор типа канальной среды
IOS автоматически назначает тип среды на интерфейс:
Тип
Среда
Broadcast
Ethernet, Token Ring, FDDI
Nonbroadcast
Frame Relay, X.25, ATM
Point-to-Point
Tunnel, HDLC, PPP, FR P2P sub, ATM P2p sub
Point-to-Multipoint
Назначается вручную
Point-to-Multipoint nonbroadcast
Назначается вручную
Loopback
Нельзя назначить вручную, можно сменить тип на P2P
Конфигурация интерфейса
Назначение приоритета при выборах DR/BDR (0 - отказ от участия в выборах)
Установка Hello Interval (Deal Interval устанавливается автоматически в 4 раза больше)
Установка Deal Interval
Установка субсекундного Hello Interval и секундного Dead Interval
Алгоритм диагностики OSPF
Проверить работоспособность и настройки процесса OSPF
show ip protocols
show ip ospf
Проверить входящие интерфейсы в OSPF
show ip ospf interfaces
Проверить установленные соседства
show ip ospf neighbor
Проверить таблицу маршрутов OSPF и таблицу маршрутизации
show ip ospf route
show ip route ospf
Базовая диагностика OSPF
Убедится, что OSPF включен на интерфейсе
Убедится, что установлено соседство
Убедится, что установлены маршруты
Детальная диагностика интерфейса
Детальная информация о соседе
Детальная информация о процессе OSPF
Посмотреть RIB внутри процесса OSPF (show ip ospf route покажет еще больше инфо)
Помотреть траффик процесса OSPF
Диагностика LSA, LSDB
Просмотр таблицы LSDB
Просмотр отдельной Router LSA в таблице LSDB
Просмотр отдельной Network LSA в таблице LSDB
Просмотр отделньой Summary LSA в таблице LSDB
Просмотр отдельной External LSA в таблице LSDB
Просмотр отдельной LSA 7 в таблице LSDB
Просмотр отдельной ASBR-Summary LSA в таблице LSDB
Дебаггинг
Hello Protocol
Обмен пакетами
Построение LSDB и пересчет SPF
Stub и Totally Stub регионы
Команда area <#> stub помечает регион как тупиковый
Ключ no-summary указывает ABR суммировать и inter-area маршруты
NSSA и Totally NSSA регионы
Команда area <#> nssa помечает регион как not-so-stubby area
no-summary указывает ABR суммировать и inter-area маршруты
translate type-7 always указывает транслировать LSA7>5 даже с меньшим RID
translate type-7 supress-fa скрывает Forwarding Address в LSA5
Инъекция маршрута по умолчанию
OSPF импортирует маршрут по умолчанию, создавая LSA5/7
Команда default-information originate импортирует 0.0.0.0 из RIB
Ключ always импортирует маршрут безусловно (не работает в NSSA)
В NSSA на ABR требуется волшебный пендель (в TNSSA излишне)
Редистрибуция
Процесс импорта внешних маршрутов из RIB в LSDB (как LSA5/LSA7)
Connected
Static
Динамические
Глобальная таблица или VRF
По умолчанию LSA получают метрику 20, типа 2
Можно указать тип, значение метрики или метку явно или через route-map
Без ключа subnets импортируются только классовые сети
Route-map при редистрибуции в OSPF
С помощью Route-map можно отобрать префиксы для редистрибуции или назначить специальные метрики
Destribute-list в OSPF
OSPF оперирует LSDB
Distribute-list <#> in работает только для экспорта маршрутов в RIB
При указании интерфейса идет проверка маршрута на интерфейс next-hop
Distribute-list <#> out работает только для контроля редистрибуции
Агрегация inter-area маршрутов OSPF
Отсылается только агрегатный маршрут, но не его компоненты
Хотя бы один компонент должен быть в RIB
Метрика агрегата по-умолчанию - наименьшая метрика его компонентов
В RIB создается виртуальный intra-area discard route на интерфейс Null0
Указывается регион источника
area X range Y - "сети диапазона Y снаружи региона X видны как одна сеть Y"
Агрегация внешних маршрутов OSPF
Отсылается только агрегатный маршрут, но не его компоненты
Хотя бы один компонент должен быть в RIB
Метрика агрегата задается в default-metric или distribute-list route-map out
В RIB создается виртуальный discard route на интерфейс Null0
Команда summary-address <IP> <Mask>
Работает только на ASBR: выпущенная LSA5 распространяется на все роутеры
Virtual Link
Используются для связи ABR через non-backbone (и non-stub) регион
Через псевдотуннельный интерфейс синхронизируется LSDB area 0
Команда area <#> virtual-link <RID> указывает другой конец туннеля
Номер региона, к которому принадлежат оба ABR
Router ID другого ABR, доступный в указанном регионе
Prefix Suppression
Prefix Suppression скрывает префиксы сетей на транзитных линках
На point-to-point линках транзитный префикс не анонсируется как stub в LSA1
На линках с DR в LSA2 анонсируется маска /32, такие сети не попадают в RIB
Манипуляции с AD
Можно задать AD префиксам OSPF в RIB
По умолчанию:
110 для intra-area и inter-area маршрутов
170 для внешних (external) маршрутов
Задание AD для отдельных маршрутов
distance <AD> <GatewayIP> <GatewayWildcardMask> <ACL>
Аутентификация по паролю
Во все исходящие сообщения добавляется пароль в открытом виде
Плохая идея во всех случаях, кроме тестирования
Требует предварительное указание пароля на каждом интерфейсе
Отдельно требует включения
либо на уровне отдельного интерфейса
На всех интерфейсах региона
Аутентификация по хэшу MD5
Исходящие пакеты подписываются хэшем от содержимого и ключа
Требует задать нумерованные ключи на каждом интерфейсе
Отдельно требует включения либо на интерфейсе
Либо на интерфейсах всего региона
Сообщения подписываются ключом с наибольшим номером
Входящие пакеты проверяются ключом с указанным в них номером
Key Rolleover: если хотя бы один сосед использует другой ключ, сообщения дублируются со всеми остальными сконфигурированными ключами
Аутентификация по ключевому комплекту
Исходящие пакеты подписываются хэшем от содержимого ключа
требует создания ключевого комплекта
Сообщения подписываются ключом с наибольшим номером
Входящие пакеты проверяются ключом с указанным в них номером
Key Rollover не нужен, используется ограничение срока действия ключа
Настройка OSPF в DMVPN фаза 2
Мультикаст в DMVPN между споками не передается
Автоматическое соседство возможно только между хабом и споком
При наличии LSA2 роль DR необходимо назначить хабу, BDR запретить
Возможны и другие схемы настройки
Статическое указание соседей
Команда neighbor <IP> добавляет статического соседа в таблицу
Требует тип среды nonbroadcast или point-to-multipoint nonbroadcast
Среды без поддержки мультикаста или его эмуляции
Достаточно указать с одной стороны соседства (логичнее с обоих)
Параметр priority можно указать порядок установления соседств
Не путать с приоритетом выбора DR/BDR, это не совсем тоже самое
Включение режима RFC 1583
IOS по умолчанию работает в режиме совместимости с RFC 1853
Метрика агрегатного маршрута - минимальная метрика его компонентов
Маршрут до ASBR считается только на основании суммы стоимостей
Может вызывать петли при работе в среде с устройствами RFC 2328
Можно включить работы в режиме RFC 2328
Метрика агрегатного маршрута - максимальная метрика его компонентов
Предпочитаются intra-area маршруты до ASBR
Last updated