Настройте аутентификацию md5 для ospf
В прошлом посте мы настроили OSPF для нескольких зон (Areas), сделали редистрибуцию (redistribute) статических маршрутов в процесс OSPF, и настроили «тупиковую» зону (stub area).
Сегодня, я предлагаю вам настроить OSPF для NBMA сетей (нешироковещательные сети со множественным доступом), и сделаем мы все это с добавлением аутентификации в процесс OSPF.
Итак, приглашаю всех под кат…
Схема для настройки будет следующая:
В данном примере будем использовать сетевую топологию Hub-and-Spoke (топология звезды). То есть, есть некий центральный узел, от которого расходятся связи ко всем остальных участникам. «Главным» роутером (DR) сделаем R1.
Для организации сети Frame Relay будем использовать встроенный в GNS3 свитч (Frame Relay switch). Как его настраивать, можно посмотреть в этом посте. Таблица используемых в свитче DLCI выглядит следующим образом:
- R1 — R2 – DLCI 102
- R1 — R3 – DLCI 103
- R1 — R4 – DLCI 104
- R2 — R1 – DLCI 201
- R3 — R1 – DLCI 301
- R4 — R1 – DLCI 401
Для проверки сетевой доступности будем использовать Loopback – интерфейсы на наших роутерах.
Успешным завершением нашей работы будем считать корректную работу процесса OSPF с аутентификацией, наличие сетей в таблице маршрутизации и сетевую доступность между Loopback – интерфейсами :).
Итак, приступим к настройкам :).
Заходим на роутер R1 и начинаем :):
- R1>en
- R1#conf t
- R1(config)#int serial 0/0 – заходим в режим настройки интерфейса;
- R1(config-if)#encapsulation frame-relay – включаем инкапсуляцию Frame Relay на интерфейсе;
- R1(config-if)#ip address 172.16.2.1 255.255.255.0 – назначаем IP – адрес интерфейсу;
- R1(config-if)#frame-relay map ip 172.16.2.2 102 – делаем «привязку» IP – адреса удаленного роутера («соседа») к локальному DLCI 102 в соответствии с нашей таблицей на Frame Relay switch, оговоренной выше;
- R1(config-if)#frame-relay map ip 172.16.2.3 103
- R1(config-if)#frame-relay map ip 172.16.2.4 104
- R1(config-if)#ip ospf message-digest-key 1 md5 cisco – включаем аутентификацию в процессе OSPF на интерфейсе. 1 – идентификатор ключа (должен быть одинаковым на всех роутерах, участвующих в процессе). Md5 – указывает на использование хэш-алгоритма md5. cisco – пароль (должен быть одинаковым на всех роутерах);
- R1(config-if)#no shutdown
- R1(config-if)#exit
- R1(config)#int loopback 0 – создаем loopback – интерфейс;
- R1(config-if)#ip address 10.1.1.1 255.255.255.255 – назначаем ему IP – адрес;
- R1(config-if)#exit
- R1(config)#router ospf 1 – заходим и запускаем процесс OSPF;
- R1(config-router)#network 172.16.2.0 0.0.0.255 area 0 – добавляем в OSPF нужные нам сети (или интерфейсы);
- R1(config-router)#network 10.1.1.1 0.0.0.0 area 0
- R1(config-router)#neighbor 172.16.2.2 – вручную прописываем «соседей» (neighbors), в отличие от стандартных настроек OSPF для широковещательных сетей;
- R1(config-router)#neighbor 172.16.2.3
- R1(config-router)#neighbor 172.16.2.4
- R1(config-router)#area 0 authentication message-digest – включаем аутентификацию с md5 в OSPF;
- R1(config-router)#exit
- R1(config)#exit
- R1#wr
Давайте взглянем на то, что у нас получилось после конфигурации R1. Сделаем команду show run:
Вроде все в порядке :). Единственный вопрос, это наш пароль cisco отображается в открытом виде. Но это легко устранимо, достаточно в глобальном режиме конфигурации роутера прописать команду R1(config)#service password-encryption и пароль станет отображаться шифрованным.
Переходим к настройкам оставшихся роутеров.
Роутер R2:
- R2>en
- R2#conf t
- R2(config)#int serial 0/0
- R2(config-if)#encapsulation frame-relay
- R2(config-if)#ip address 172.16.2.2 255.255.255.0
- R2(config-if)#frame-relay map ip 172.16.2.1 201
- R2(config-if)#frame-relay map ip 172.16.2.3 201 – обратите внимание, что все IP – адреса удаленных роутеров доступны через один и тот же DLCI (в отличие от настройки роутера R1). То есть, об удаленных роутерах (сетях) R2 будет получать информацию через R1;
- R2(config-if)#frame-relay map ip 172.16.2.4 201
- R2(config-if)#ip ospf message-digest-key 1 md5 cisco
- R2(config-if)#no sh
- R2(config-if)#exit
- R2(config)#int loopback 0
- R2(config-if)#ip address 10.2.2.2 255.255.255.255
- R2(config-if)#exit
- R2(config)#router ospf 1
- R2(config-router)#network 172.16.2.0 0.0.0.255 area 0
- R2(config-router)#network 10.2.2.2 0.0.0.0 area 0
- R2(config-router)#neighbor 172.16.2.1 priority 10 – в данном случае прописываем только одного «соседа» (R1) и указываем, что у него приоритет равен 10, то есть он должен стать назначенным роутером (DR);
- R2(config-router)#area 0 authentication message-digest
- R2(config-router)#exit
- *Mar 1 00:05:26.391: %OSPF-5-ADJCHG: Process 1, Nbr 172.16.2.1 on Serial0/0 from LOADING to FULL, Loading Done – это сообщение свидетельствует о том, что аутентификация прошла успешно, процесс OSPF заработал и «соседи» (neighbors) полностью «договорились» :);
- R1(config)#service password-encryption
- R2#wr
Посмотрим на нашу конфигурацию R2 (она будет такая же и на роутерах R3 и R4, только с соответствующими IP – адресами):
Как видно, всё что мы конфигурировали, всё присутствует :). Идем дальше.
Роутер R3:
- R3>en
- R3#conf t
- R3(config)#int serial 0/0
- R3(config-if)#encapsulation frame-relay
- R3(config-if)#ip address 172.16.2.3 255.255.255.0
- R3(config-if)#frame-relay map ip 172.16.2.1 301
- R3(config-if)#frame-relay map ip 172.16.2.2 301
- R3(config-if)#frame-relay map ip 172.16.2.4 301
- R3(config-if)#ip ospf message-digest-key 1 md5 cisco
- R3(config-if)#no shutdown
- R3(config-if)#exit
- R3(config)#interface loopback 0
- R3(config-if)#ip address 10.3.3.3 255.255.255.255
- R3(config-if)#exit
- R3(config)#router ospf 1
- R3(config-router)#network 172.16.2.0 0.0.0.255 area 0
- R3(config-router)#network 10.3.3.3 0.0.0.0 area 0
- R3(config-router)#neighbor 172.16.2.1 priority 10
- R3(config-router)#area 0 authentication message-digest
- R3(config-router)#exit
- R3(config)#service password-encryption
- R3(config)#exit
- R3#wr
- *Mar 1 00:05:07.623: %OSPF-5-ADJCHG: Process 1, Nbr 172.16.2.1 on Serial0/0 from LOADING to FULL, Loading Done
- R3#
Роутер R4:
- R4>en
- R4#conf t
- R4(config)#int serial 0/0
- R4(config-if)#encapsulation frame-relay
- R4(config-if)#ip address 172.16.2.4 255.255.255.0
- R4(config-if)#frame-relay map ip 172.16.2.1 401
- R4(config-if)#frame-relay map ip 172.16.2.2 401
- R4(config-if)#frame-relay map ip 172.16.2.3 401
- R4(config-if)#ip ospf message-digest-key 1 md5 cisco
- R4(config-if)#no sh
- R4(config-if)#exit
- R4(config)#int loopback 0
- R4(config-if)#ip address 10.4.4.4 255.255.255.255
- R4(config-if)#exit
- R4(config)#router ospf 1
- R4(config-router)#network 172.16.2.0 0.0.0.255 area 0
- R4(config-router)#network 10.4.4.4 0.0.0.0 area 0
- R4(config-router)#neighbor 172.16.2.1 priority 10
- R4(config-router)#exit
- R4(config)#service password-encryption
- R4(config)#exit
- R4#wr
- R4#
- *Mar 1 00:05:31.479: %OSPF-5-ADJCHG: Process 1, Nbr 0.0.0.0 on Serial0/0 from ATTEMPT to DOWN, Neighbor Down: Dead timer expired – вот такое сообщение может появиться, если вы забудете что то прописать :). А забыли мы включить аутентификацию в режиме настройки OSPF. Чтобы это исправить, делаем следующее:
- R4#conf t
- R4(config)#router ospf 1
- R4(config-router)#area 0 authentication message-digest
- R4(config-router)#exit
- R4(config)#exit
- R4#wr
- *Mar 1 00:10:37.463: %OSPF-5-ADJCHG: Process 1, Nbr 172.16.2.1 on Serial0/0 from LOADING to FULL, Loading Done – все заработало :);
- R4#
Так что будьте внимательны и аккуратно все настраивайте на каждом устройстве.
Теперь осталось все проверить. Посмотрим на таблицы маршрутизации наших роутеров, таблицы «соседей» (neighbors), проверим сетевую доступность между loopback – интерфейсами.
Роутер R1:
- 1 – в таблице маршрутизации присутствуют все нужные нам маршруты;
- 2 – в таблице «соседей» (neighbors) присутствуют все три роутера, причем R4 – прописан как BDR, но даже если DR пропадет и R4 станет главным, то связи между роутерами не будет, так как между ними нет «соседства» и топология наша – это «звезда» + у нас нет соответствующих настроек на Frame Relay switch (нет соответствующих DLCI).
Роутер R2:
- 1 – видно, что в таблице «соседей» (neighbors) только роутер R1.
Роутер R3:
Итак, как видно из рисунков, у нас все работает. Поздравляю вас.
Сегодня мы настроили OSPF с аутентификацией для нешироковещательных сетей со множественным доступом (NBMA networks), научились настраивать роутеры cisco работать по сети Frame Relay.
На этом хочу закончить этот пост и вторую часть настроек протокола динамической маршрутизации OSPF. Надеюсь, мой пост был полезным, любознательным и интересным :).
Думаю, можно будет написать и третью часть по протоколу OSPF, там можно рассмотреть оставшиеся нюансы. Так что милости прошу, приходите :).
А пока, желаю всем удачи в нелегком мире настроек сетевого оборудования.
Если возникли вопросы, комментарии или еще что то, то смело пишите.
Источник
Урок 31. Настройка протокола OSPF на маршрутизаторе Cisco
Необходимые команды для начала работы протокола
Попробуем настроить сеть ниже
Сеть состоит из магистральной и 2-х стандартных зон.
Для запуска OSPF достаточно выполнить следующие команды:
Router(config)# router ospf номер_процесса
Router(config-router)# network IP_адрес инверсная_маска (Wildcard mask) area номер_зоны
Router(config-router)# network IP_адрес маска (Wildcard mask) area номер_зоны
Например, вот так выглядят настройки маршрутизатора F стандартной зоны:
А вот так выглядят настройки ABR маршрутизатора (маршрутизатор С):
Что означает номер процесса?
Это означает, что на маршрутизаторе могут быть запущены несколько независимых друг от друга OSPF процессов. Причем каждый процесс строит свою собственную базу данных. Номер процесса играет исключительно локальное значение и может не совпадать с номером процесса на других маршрутизаторах.
А что означает инверсная маска?
Инверсная маска (обратная маска) используется для более гибкого управления объявления подсетей в анонсах LSA, например когда требуется включить в анонсы LSA первые 8 или последние 64 подсетей определенной сети — вариантов много. Без инверсной маски пришлось бы вводить много похожих команд вручную. В OSPF данный функционал используется редко, однако мы рассмотрим его подробно в уроке по спискам доступа (Access Lists, ACL).
Поэтому для настройки OSPF вместо обратной маски можно с успехом использовать обычную маску. В дальнейшем мы рассмотрим пару примеров настройки OSPF с обратной маской.
Команды просмотра настроек протокола
Для проверки и диагностики работы протокола можно воспользоваться приведенными ниже командами.
Router# show ip route
Настройки протокола, адреса подключенных соседей, номер и тип зоны, а также ID локального маршрутизатора можно узнать из следующих 2-х команд:
Router# show ip protocols
Router# show ip ospf номер процесса
Топологическая база данных:
Router# show ip ospf database
Тип сети, DR/BDR, ID маршрутизатора:
Router# ip ospf interface
Таблица соседей и состояние смежности, установленные с ними:
Router# show ip ospf neighbor
Для управления выбором DR/BDR можно настроить Router ID:
Router(config-router)# router-id ID в формате IP адреса
Того же можно добиться с помощью настройки интерфейса обратной петли Loopback
Можно также повлиять на выбор маршрута, то есть заранее предопределить какой какой маршрут будет иметь лучшую/худшую метрику. Например, может возникнуть ситуация, когда до сети назначения ведут сразу 2 и более маршрутов с одинаковыми метриками. Однако по ряду причин требуется использовать только определенный маршрут, а остальные оставить в резерве. Это достигается 3-мя способами.
1) Изменение стоимости интерфейса. Вернемся к нашей сети и выполни команды
Router# show ip ospf interface
Router# show ip route
и обрати внимание на установленную стоимость интерфейса и метрику маршрута
Теперь изменим стоимость интерфейса с помощью команды
Router_B(config-if)# ip ospf cost 50
И посмотрим снова на вывод команд
2) Изменение полосы пропускания . Стоимость маршрута рассчитывается по формуле исходная полоса пропускания/полоса пропускания интерфейса . За исходную полосу пропускания берется 100 Мбит/с. Полоса пропускания интерфейса уже по умолчанию установлена. Например, Ethernet — 10 Мбит/с, FastEthernet — 100 Мбит/с. Значение данного параметра можно изменить, однако это не повлияет на фактическую полосу пропускания интерфейса
Router(config-if)# bandwidth значение
3) Изменение исходной полосы пропускания . В вышеупомянутой формуле можно также изменить и числитель, то есть исходную полосу пропускания
Router(config-router)# auto-cost reference-bandwidth значение
OSPF поддерживает аутентификацию паролем открытого текста и хэшем MD5.
Аутентификацию можно включить глобально для всего процесса OSPF либо на отдельном интерфейсе.
Аутентификация на отдельном интерфейсе:
1) Пароль открытым текстом
Router(config-if)# ip ospf authentication
Router(config-if)# ip ospf authentication-key пароль
2) С помощью MD5
Router(config-if)# ip ospf authentication message-digest
Router(config-if)# ip ospf message-digest-key номер ключа md5 пароль
На интерфейсе соседнего маршрутизатора (к которому подключен напрямую) должны быть идентичные настройки, то есть тип аутентификации и пароль должны совпадать, иначе оба маршрутизатора никогда не установят отношения смежности.
Глобальная настройка аутентификации:
Router(config)# router ospf номер процесса
Router(config-router)# area номер зоны authentication message-digest
Затем настроим пароли на каждом интерфейсе
Router(config-if)# ip ospf message-digest-key номер ключа md5 пароль
В этом случае аутентификация должна быть включена во всех маршрутизаторах одной зоны. Пароли на каждом интерфейсе можно использовать разные, однако они должны совпадать с паролями на соседних маршрутизаторах, подключенных напрямую.
Источник