понедельник, 4 сентября 2017 г.

CCNP Route "Full Scale" Лаба: OSPF


План остается неизменным.

Advanced IGP routing  (IPv4)
- Configure authentication (plain-text, MD5)
- Metris
- Load balancing (equal, unequal)
- Configure Summarization

Все посты по CCNP Route.

Authentication

OSPF аналогично RIP поддерживает и md5 и plain-text. Настраивается все это правда иначе. Не используется механизм key-chain'ов. Вроде и удобнее с одной стороны, а с другой - теряется некая гибкость, которую нам предлагают связки ключей.

Настраивать аутентификацию будет на участках O3 - O6 (plain-text), О4 - О6 (md5).

Саму возможность аутентификации можно активировать либо прямо на интерфейсах, либо на соответствующей области. В последнем случае, ключ все равно придется настраивать на интерфейсе.

Настройки на O6 в сторону O3.

O6(config)#int e0/0
O6(config-if)#ip ospf authentication
O6(config-if)#ip ospf authentication-key SUPERSECRETKEY1
% OSPF: Warning: The password/key will be truncated to 8 characters
O6(config-if)#ip ospf authentication-key SUPERKEY

*Sep  1 08:35:54.647: %OSPF-5-ADJCHG: Process 110, Nbr 10.0.10.3 on Ethernet0/0 from FULL to DOWN, Neighbor Down: Dead timer expired

*Sep  1 08:36:00.151: %OSPF-5-ADJCHG: Process 110, Nbr 10.0.10.3 on OSPF_VL1 from FULL to DOWN, Neighbor Down: Interface down or detached

Включаем аутентификацию на интерфейсе и указываем ключ, который будет обрезан до 8 символов. Ладно, сами обрезаем его до 8 символов. Далее соседство до О3 падает. В том числе и соседство в виртуальном линке.

Для того, чтобы вернуть функционал нужно настроить симметричный функционал на О3.

O3(config)#router ospf 110
O3(config-router)#area 1 authentication
O3(config-router)#exit
O3(config)#int e0/1
O3(config-if)#ip ospf authentication-key SUPERKEY

*Sep  1 08:39:15.643: %OSPF-5-ADJCHG: Process 110, Nbr 10.0.10.6 on Ethernet0/1 from LOADING to FULL, Loading Done

*Sep  1 08:39:25.652: %OSPF-5-ADJCHG: Process 110, Nbr 10.0.10.6 on OSPF_VL0 from LOADING to FULL, Loading Done

Включаем аутентификацию на всей первой области, затем указываем ключ на нужном интерфейсе. Соседство поднимается, радуемся.

В случае с md5 настройки будут отличаться. На O6 включим аутентификацию прям на интерфейсе и укажем ключ.

O6(config)#int e0/1
O6(config-if)#ip ospf authentication message-digest
O6(config-if)#ip ospf message-digest-key 1 md5 SUPERSECRETMD5KEY
% OSPF: Warning: The password/key will be truncated to 16 characters

*Sep  1 09:51:17.797: %OSPF-5-ADJCHG: Process 110, Nbr 10.0.10.4 on Ethernet0/1 from FULL to DOWN, Neighbor Down: Dead timer expired

O6(config-if)#no ip ospf message-digest-key 1 md5 SUPERSECRETMD5KEY
O6(config-if)#ip ospf message-digest-key 1 md5 SUPERSECRETMD5

В этом случае, ключ обрежется уже до 16 символов. Как видно, соседство с О4 упало после того как мы включили аутентификацию.


*Sep  1 08:35:54.647: %OSPF-5-ADJCHG: Process 110, Nbr 10.0.10.3 on Ethernet0/0 from FULL to DOWN, Neighbor Down: Dead timer expired

*Sep  1 08:36:00.151: %OSPF-5-ADJCHG: Process 110, Nbr 10.0.10.3 on OSPF_VL1 from FULL to DOWN, Neighbor Down: Interface down or detached

Включаем аутентификацию на интерфейсе и указываем ключ, который будет обрезан до 8 символов. Ладно, сами обрезаем его до 8 символов. Далее соседство до О3 падает. В том числе и соседство в виртуальном линке.

Для того, чтобы вернуть функционал нужно настроить симметричный функционал на О3.

O3(config)#router ospf 110
O3(config-router)#area 1 authentication
O3(config-router)#exit
O3(config)#int e0/1
O3(config-if)#ip ospf authentication-key SUPERKEY

*Sep  1 08:39:15.643: %OSPF-5-ADJCHG: Process 110, Nbr 10.0.10.6 on Ethernet0/1 from LOADING to FULL, Loading Done

*Sep  1 08:39:25.652: %OSPF-5-ADJCHG: Process 110, Nbr 10.0.10.6 on OSPF_VL0 from LOADING to FULL, Loading Done

Включаем аутентификацию на всей первой области, затем указываем ключ на нужном интерфейсе. Соседство поднимается, радуемся.

В случае с md5 настройки будут отличаться. На O6 включим аутентификацию прям на интерфейсе и укажем ключ.

O6(config)#int e0/1
O6(config-if)#ip ospf authentication message-digest
O6(config-if)#ip ospf message-digest-key 1 md5 SUPERSECRETMD5KEY
% OSPF: Warning: The password/key will be truncated to 16 characters

*Sep  1 09:51:17.797: %OSPF-5-ADJCHG: Process 110, Nbr 10.0.10.4 on Ethernet0/1 from FULL to DOWN, Neighbor Down: Dead timer expired

O6(config-if)#no ip ospf message-digest-key 1 md5 SUPERSECRETMD5KEY
O6(config-if)#ip ospf message-digest-key 1 md5 SUPERSECRETMD5

В этом случае, ключ обрежется уже до 16 символов. Как видно, соседство с О4 упало после того как мы включили аутентификацию. На О4 все аналогично, только вот включим md5 аутентификацию на area 1.

O4(config)#router ospf 110
O4(config-router)#area 1 authentication message-digest
O4(config-router)#exit
O4(config)#int e0/1
O4(config-if)#ip ospf message-digest-key 1 md5 SUPERSECRETMD5

*Sep  1 10:02:13.274: %OSPF-5-ADJCHG: Process 110, Nbr 10.0.10.6 on Ethernet0/1 from LOADING to FULL, Loading Done

С этим топиком покончено.

DR/BDR

Забыл изначально про этот топик. Сейчас DR и BDR выбираются на основе RID. Как известно, чем больше RID, тем больше вероятность того, что роутер станет DRом или BDRом. Приоритет у всех одинаковый и равен 1, в отличии от 128 у Juniper.

В теории, DR сейчас это O5, а BDR - О4. Проверим со стороны O1.


Допустим, О2 должен быть DRом, а O1 - BDRом, как наиболее занятой роутер. Priority - свойство интерфейса, так что настраивать мы его будет на интерфейсах e0/3 на О1 и О2.

E4-O2(config)#interface e0/3
E4-O2(config-if)#ip ospf priority 100

B5-E2-O1(config)#int e0/3
B5-E2-O1(config-if)#ip ospf priority 50

Далее, после clear ip ospf process или ребута, смотрим что поменялось. Как и ожидалось, О2 теперь DR, ну а O1 получил роль BDR.


Network type

От типа сети многое зависит. Начиная от таймеров и автоматического формирования соседства и заканчивая тем, что используется для передачи информации (multicast/unicast). В посте про OSPF уже разжевывал эту тему. Сейчас просто посмотрим какой тип где выбрался и подкорректируем настройки.

Взять хотя бы О3. Одним интерфейсом (e0/0) он смотрит в классическую broadcast среду, а вот на другом конце e0/1 всего один роутер.

Посмотрим, что сам роутер думает про эту ситуацию. В выводе sh ip ospf int br видно, что состояние интерфейса et0/1 - BDR. Значит на этом интерфейсе тоже был выбран тип broadcast. Проверяем командой  sh ip ospf int e0/1 и убеждаемся в этом.


Это как-то нелогично, поэтому меняем тип интерфейса на point-to-point.

O3(config)#int e0/1
O3(config-if)#ip ospf network point-to-point

*Sep  1 10:49:45.600: %OSPF-5-ADJCHG: Process 110, Nbr 10.0.10.6 on Ethernet0/1 from FULL to DOWN, Neighbor Down: Interface down or detached
*Sep  1 10:49:45.603: %OSPF-5-ADJCHG: Process 110, Nbr 10.0.10.6 on Ethernet0/1 from LOADING to FULL, Loading Done

Сосед упал и снова поднялся. Однако для нормальной работы лучше с двух сторон иметь одинаковые настройки. В случае broadcast и point-to-point особо ничего не произойдет, а вот в других комбинациях могут быть большие проблемы.

O6(config)#int e0/0
O6(config-if)#ip ospf network point-to-point

Далее, я на всех ptp линках настрою соответствующий тип сети. Плюс нужно и на всех лупбеках прописать network point-to-point, иначе они будут анонсироваться /32 маски, а не настроенные.

Load-balancing

Как и в RIP, OSPF поддерживает только балансировку между равноценными путями. Настраивается этот параметр той же командой - maximum-path. По умолчанию он равен 4. Не будет сильно останавливаться на нем. Ниже, например, как О1 будет балансировать трафик в О6.


Metric

OSPF использует bandwidth на интерфейсе при расчете стоимости. А вернее его отношение к так называемому reference-bandwidth. Все это я уже описывал в том самом посте про OSPF. По умолчанию в Cisco IOS reference-bandwidth равен 100 Mbps, что приводит к известной проблеме - стоимости линков выше Гигабита получаются одинаковыми, что совсем не круто. Обычно этот самый ref-bandwidth увеличивают, что мы и сделаем. 

Замечу, что это значение лучше делать одинаковым на всей сети, о чем нас и предупреждает IOS.

B5-E2-O1(config-router)#auto-cost reference-bandwidth 1000
% OSPF: Reference bandwidth is changed.
        Please ensure reference bandwidth is consistent across all routers.

Выше мы видели, что стоимость от O1 до О6 была равна 21 по обоим путям. Каждый линк между роутерами у нас равен 10Мбит. 100 делим на 10, получаем 10. Таких линков два, получаем 20. Добавляем стоимость до loopback интерфейса, которую анонсирует сам O6. Равна она единице, получаем 21.

После изменения reference-bandwidth, стоимость должна на порядок возрасти.

Metric tunning

В OSPF есть несколько способов управлять метрикой. Один уже рассмотрели, есть ещё несколько. Так или иначе, управлять метрикой прям на интерфейсе можно двумя способами.
  1. Косвенно через установку bandwidth (плохой метод)
  2. Устанавливая метрику руками (хороший метод).
Следуя прошлому примеру с О6, мы, скажем, не хотим гонять лишний трафик через О4. Гораздо лучше, чтобы трафик в сети за О6 шел бы через О3. Предлагаю немного модифицировать метрику, но делать это надо с умом.

Ещё раз, O6 анонсирует свои сети с какими-то метриками, далее О4 и О3 добавляют свои метрики на интерфейсах в сторону O6. Т.е. ухудшать метрику нужно на интерфейсе e0/1 на O4.

O4(config)#int e0/1
O4(config-if)#ip ospf cost 110

Теперь О1 не будет балансировать трафик


Но маршрут через О4 из LSDB никуда не делся, он ждет своего часа.



Summarization

В отличии от RIP и EIGRP суммаризовать маршруты мы может только на ABRах и ASBRах.
В нашей топологии:
ABR: O3, O4, O5, O6
ASBR: O1, O2, O8.

Для начала, давайте-таки добавим немного маршрутов. Все никак руки не дойдут до этого.

Согласно схеме (к которой я обращаюсь все реже и реже) через О8 у нас должна заходить пачка маршрутов E1 192.168. Однако я решил поменять тип на Е2. Так выглядит логичней, на мой взгляд. А О1 и О2 будут редистрибуцировать Е1 маршруты. Таким образом, каждый роутер в OSPF домене будет калькулировать лучший путь для выхода из OSPFа во внешний мир. А выход в 192.168. у нас всего один. В общем, так мне кажется логичнее. Результирующая схема будет выглядеть следующим образом.


На деле же, у нас роутер О8 соединен с другим роутером, за которым располагается сервер. О8 связан с роутером SRV линком e0/1.



На О8 пропишем пачку статических маршрутов, один из них будет вести к серверу за роутером SRV.

O8(config)#ip route 192.168.0.0 255.255.255.0 10.10.100.2
O8(config)#ip route 192.168.1.0 255.255.255.0 10.10.100.2
O8(config)#ip route 192.168.2.0 255.255.255.0 10.10.100.2


После чего, мы можем пингануть сервер 192.168.0.100 через роутер SRV (10.10.100.2).

O8(config)#do ping 192.168.0.100
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.0.100, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms


Редистрибуцируем все эти маршруты в процесс OSPF на O8. Прям в тупую.

O8(config)#router ospf 110
O8(config-router)#redistribute static subnets


Будет выбран тип E2 и метрика 20. В нашем случае, правда, будет выбран не E2 тип, а N2. Это такой аналог E2, но только для NSSA областей. Посмотрим как это выглядит на О5. Ну и пинганем наш сервак.


О8 является выходом из OSPF домена, т.е. ASBRом. В будущем настроим на нем суммаризацию маршрутов. В качестве второй опции, нам предлагается настроить суммаризацию на ABR роутере. Давайте возьмем для примера O7 и настроим на нем несколько подсетей, которые потом добавим в процесс.

O7(config)#in lo1000
O7(config-if)#ip address 10.0.0.1 255.255.255.0
O7(config-if)#ip address 10.0.1.1 255.255.255.0 secondary
O7(config-if)#ip address 10.0.2.1 255.255.255.0 secondary
O7(config-if)#ip address 10.0.3.1 255.255.255.0 secondary
O7(config-if)#ip ospf network point-to-point
O7(config-if)#ip ospf 110 area 2


Теперь О5 увидит и эти маршруты. Они являются внутренними для OSPF домена, но внешними для той области в которой сидит О5.


С пререквизитами закончили, теперь настраиваем суммаризацию. На ASBR и ABR это делается по-разному.

  • ASBR - summary-address IP_ADDRESS MASK
  • ABR - area ID range IP_ADDERSS MASK

O8(config)#router ospf 110
O8(config-router)#summary-address 192.168.0.0 255.255.248.0


Теперь на О5 видно только один маршрут. Метрика, как известно не изменилась. Но вообще, будет выбрана наименьшая среди всех маршрутов, которые вошли в суммаризацию.


Настроим суммаризацию на О4, который принимает маршруты от О7. Команда настраивается на той области, которая должна быть проссумирована. Далее этот адрес будет передан в другие зоны.

O4(config)#router ospf 110
O4(config-router)#area 2 range 10.0.0.0 255.255.248.0

Ниже видно, что вся пачка маршрутов теперь проссумирована до одного. Так же можно заметить, что сеть 10.17.0.0/16, которая тоже настроена на О7 никуда не делась и все ещё присутствует в таблице маршрутизации.





Пока все. Далее EIGRP. План остается прежним, а вот далее нужно будет напрячь мозг. Начнется веселье с
- Routing loops
- Advanced redistribution with filtering

Комментариев нет:

Отправить комментарий