4.9.4 Конфігурування протоколу OSPF

Для того, щоб увійти в режим настроювання протоколу OSPF слід ввести команду [5]:
Router(Config)# router ospf process-id,

де process-id – номер у діапазоні 1 – 65535, який має локальне значення і на відміну від EIGRP, не повинен збігатися на всіх маршрутизаторах мережі, в якій настроюється протокол OSPF. При цьому маршрутизатори мережі будуть бачити один одного і об-мінюватись OSPF-анонсами.

Далі на кожному маршрутизаторі слід виконати команду
Router(config-router)#network net-addr wildcard-mask area a-id,

де net-addr – ІР-адреса мережі або підмережі, яка безпосередньо під’єднана до даного маршрутизатора (в кожній команді network вказується по одній такій мережі); wildcard-mask – шаблонна маска (на відміну від протоколу EIGRP є обов’язковою), яка в даному випадку вказує на ті розряди ІР-адреси, які слід порівняти з шаблоном (шаблонна маска може бути отримана шляхом інвертування двійкових розрядів звичайної маски підмережі); a-id – ідентифікатор зони OSPF, в цій зоні всі OSPF-маршрутизатори обмінюються інформацією між собою і мають однакову базу даних link-state databases. Всі маршрутизатори в одній зоні повинні мати однакове значення a-id. Хоча це значення може бути довільне, прийнято використовувати 0, якщо є лише одна зона OSPF. В подальшому, при доданні нових зон нульова зона є магістральною (backbone area).

Дана команда виконує такі функції:

• всі інтерфейси маршрутизатора, які мають адреси, що належать мережам вказаним командами network беруть участь у надсиланні та отриманні OSPF-анонсів;

• ці мережі (підмережі) будуть включені в OSPF-анонси.

Так, наприклад, для мережі, наведеної на рис. 4.32, для маршрутизатора R1 команди настроювання протоколу OSPF будуть
R1(config)#router ospf 1
R1(config-router)# network 172.16.1.16 0.0.0.15 area 0
R1(config-router)# network 192.168.10.0 0.0.0.3 area 0
R1(config-router)# network 192.168.10.4 0.0.0.3 area 0;

для маршрутизатора R2
R2(config)#router ospf 1
R2(config-router)# network 10.10.10.0 0.0.0.255 area 0
R2(config-router)# network 192.168.10.0 0.0.0.3 area 0
R2(config-router)# network 192.168.10.8 0.0.0.3 area 0;

для маршрутизатора R3
R3(config)#router ospf 1
R3(config-router)# network 172.16.1.32 0.0.0.7 area 0
R3(config-router)# network 192.168.10.4 0.0.0.3 area 0
R3(config-router)# network 192.168.10.8 0.0.0.3 area 0.
Після виконання цих команд ТМ будуть:

для маршрутизатора R1
10.0.0.0/24 is subnetted, 1 subnets
O 10.10.10.0 [110/65] via 192.168.10.2, 00:00:37, Serial0/0/0
172.16.0.0/16 is variably subnetted, 2 subnets, 2 masks
C 172.16.1.16/28 is directly connected, FastEthernet0/0
O 172.16.1.32/29 [110/65] via 192.168.10.6, 00:01:58, Serial0/0/1
192.168.10.0/30 is subnetted, 3 subnets
C 192.168.10.0 is directly connected, Serial0/0/0
C 192.168.10.4 is directly connected, Serial0/0/1
O 192.168.10.8 [110/128] via 192.168.10.6, 00:02:52, Serial0/0/1
[110/128] via 192.168.10.2, 00:00:13, Serial0/0/0

для маршрутизатора R2
10.0.0.0/24 is subnetted, 1 subnets
C 10.10.10.0 is directly connected, FastEthernet0/0
172.16.0.0/16 is variably subnetted, 2 subnets, 2 masks
O 172.16.1.16/28 [110/65] via 192.168.10.1, 00:01:28, Serial0/0/0
O 172.16.1.32/29 [110/65] via 192.168.10.10, 00:00:54, Serial0/0/1
192.168.10.0/30 is subnetted, 3 subnets
C 192.168.10.0 is directly connected, Serial0/0/0
O 192.168.10.4 [110/128] via 192.168.10.1, 00:01:28, Serial0/0/0
[110/128] via 192.168.10.10, 00:00:54, Serial0/0/1
C 192.168.10.8 is directly connected, Serial0/0/1

для маршрутизатора R3
10.0.0.0/24 is subnetted, 1 subnets
O 10.10.10.0 [110/65] via 192.168.10.9, 00:01:20, Serial0/0/1
172.16.0.0/16 is variably subnetted, 2 subnets, 2 masks
O 172.16.1.16/28 [110/65] via 192.168.10.5, 00:04:07, Serial0/0/0
C 172.16.1.32/29 is directly connected, FastEthernet0/0
192.168.10.0/30 is subnetted, 3 subnets
O 192.168.10.0 [110/128] via 192.168.10.5, 00:04:07, Serial0/0/0
[110/128] via 192.168.10.9, 00:01:20, Serial0/0/1
C 192.168.10.4 is directly connected, Serial0/0/0
C 192.168.10.8 is directly connected, Serial0/0/1

Рисунок 4.32 – Структура мережі для настроювання протоколу OSPF

Літерами ”O” в ТМ починаються маршрути отримані за протоколом OSPF. Розглянемо, наприклад, перший рядок ТМ маршрутизатора R1

O 10.10.10.0 [110/65] via 192.168.10.2, 00:00:37, Serial0/0/0.

Отже, тут 10.10.10.0 – адреса мережі призначення; [110/65] – адміністративна відстань протоколу OSPF і через слеш – метрика маршуту; адреса порту наступного транзитного вузла на шляху до мережі призначення, 00:00:37 – час існування даного маршруту; Serial0/0/0 – локальний інтерфейс, через який слід надсилати пакети до мережі призначення.

Останній запис маршруту ТМ маршрутизатора R1 має вигляд

O 192.168.10.8 [110/128] via 192.168.10.6, 00:02:52, Serial0/0/1

[110/128] via 192.168.10.2, 00:00:13, Serial0/0/0

Це означає, що до мережі 192.168.10.8 є два еквівалентні маршрути з метрикою 128, через потри маршрутизаторів R3 та R2, відповідно.

Обчислення метрики

Як зазначалось вище, метрика маршруту у протоколі OSPF обчислюється як сумарна оцінка каналів цього маршруту від джерела до пункту призначення. Так, наприклад, метрика маршруту від маршрутизатора R1 до мережі 10.10.10.0 буде 64 + 1 = 65, де 64 – оцінка каналу між R1 та R2 з пропускною спроможністю 1,544 Мбіт/с (див. табл. 4.14), а 1 – оцінка каналу від R2 до мережі 10.10.10.0/24. Аналогічно, метрика маршруту від маршрутизатора R1 до мережі 192.168.10.8 буде 64 + 64=128.

Подивитись пропускну спроможність інтерфейсу маршрутизатора можна за допомогою команди show interfaces int num (де – ім’я та номер інтерфейсу, відповідно).

Нижче наведено результати виконання цієї команди для деяких інтерфейсів маршрутизаторів R1 та R2 (на прикладах виведено лише один рядок, який містить інформацію стосовно пропускної здатності – Bw). R1#show interfaces serial 0/0/0 MTU 1500 bytes, BW 1544 Kbit, DLY 20000 usec, R2#show interfaces serial 0/0/0 MTU 1500 bytes, BW 1544 Kbit, DLY 20000 usec, R2#show interfaces fastEthernet 0/0 MTU 1500 bytes, BW 100000 Kbit, DLY 100 usec, R2#show interfaces serial 0/0/1 MTU 1500 bytes, BW 1544 Kbit, DLY 20000 usec.

Слід звернути увагу на те, що під час конфігурування OSPF не слід покладатись на значення смуги пропуcкання послідовних каналів за замовчуванням, оскільки ці значення можуть не відповідати тим, що потрібні і бути не тими, що ви передбачаєте. Для задання потрібного значення смуги пропуcкання слід скористатись командою Router(config-if)#bandwidth bandwidth-kbps.

Можна також скористатись командою ip ospf cost cost_value (де cost_value – оцінка маршруту) і задати вже саму оцінку каналу маршруту. Наприклад, команда R1(config-if)#ip ospf cost 1562 еквівалетна команді R1(config-if)#bandwidth 64, за виключенням того, що в першому випадку обчислення вартості виконувати не слід.

Анонсування маршруту за замовчуванням та статичного маршруту

Аналогічно протоколу RIP, для анонсування маршруту за замов-чуванням OSPF потребує задання команди default-information originate в режимі конфігурування протоколу OSPF. Такий анонсований маршрут в ТМ інших OSPF-маршрутизаторів буде починатись з символів O*E2 (або O*E1).

Налаштуємо на маршрутизаторі R1 Loopback 1 з ІР-адресою 172.30.1.1, задамо маршрут за замовчуванням до цього інтерфейсу та вкажемо маршрутизатору на анонсування цього маршруту: R1(config)#interface loopback 1 R1(config-if)#ip add 172.30.1.1 255.255.255.252 R1(config-if)#exit R1(config)#ip route 0.0.0.0 0.0.0.0 loopback 1 R1(config)#router ospf 1 R1(config-router)#default-information originate

Тепер маршрут за замовчуванням анонсуватиметься до маршрутизаторів R2, R3. В ТМ маршрутизатора R1 з’явиться запис S* 0.0.0.0/0 is directly connected, Loopback1, а в ТМ маршрутизатора R3 – O*E2 0.0.0.0/0 [110/1] via 192.168.10.5, 00:00:20, Serial0/0/0

Анонсування статичних маршрутів можна задати за допомогою ко-манди redistribute static в режимі конфігурування протоколу OSPF.

Конфігурування аутентифікації в протоколі OSPF

Рівень безпеки мережі підвищується, якщо відомо, що маршрутна інформація поступила з конкретного джерела. Протокол OSPF дозво-ляє маршрутизаторам виконувати взаємну аутентифікацію. За замов-чуванням маршрутизатор покладається на те, що:

• інформація про маршрути надходить від того маршрутизатора, який повинен її надсилати;

• в процесі передавання ця інформація не була спотворена.

Для гарантування цього, на маршрутизаторах однієї зони може бути сконфігурована взаємна аутентифікація [2].

Аутентифікація є іншим типом конфігурування окремих інтерфейсів. Кожному OSPF-інтерфейсу маршрутизатора може бути заданий відмінний від інших ключ аутентифікації, який виконує функції пароля для маршрутизаторів OSPF однієї і тієї ж зони. Для конфігурування OSPF-аутентифікації використовується команда Router(config-if)#ip ospf authentication-key password.

Після конфігурування пароля, в зоні можна увімкнути функцію аутентифікації за допомогою команди Router(config-router)#area num authentication [message-digest],

яка повинна бути виконана на всіх маршрутизаторах, що беруть участь в аутентифікації. Хоча ключове слово message-digest необов’язкове, рекомендується завжди використовувати його в даній команді, оскільки за замовчуванням паролі аутентифікації пересилаються відкритим текстом. При використанні ключового слова message-digest замість пароля пересилається дайджест повідомлення (хеш пароля). Якщо у одержувача сконфігуровано відповідний ключ аутентифікації, то потенційний зловмисник не зможе зрозуміти сенс цього дайджеста.

Якщо вибрана аутентифікація з використанням дайджеста повідом-лення, то ключ аутентифікації не використовується. Натомість на інтер-фейсі OSPF-маршрутизатора повинен бути сконфігурований ключ дайджеста повідомлення за допомогою команди Router(config-if)#ip ospf message-digest-key key-id md5 [encryption-type] password

Аутентифікація MD5 створює дайджест повідомлення, який є кодованими даними, створеними на базі пароля і вмісту пакета. Маршрутизатор-одержувач використовує для відновлення дайджеста спільно використовуваний пароль і цей пакет. Якщо дайджести збігаються – маршрутизатор вважає, що джерелу пакета можна довіряти і вміст пакета не був спотворений (підроблений) в процесі передавання.

Конфігурування таймерів протоколу OSPF

В деяких випадках необхідно прискорення сповіщення маршрутизаторів мережі про збої в роботі каналів. У протоколі OSPF з цією метою використовуються таймери.

Нагадаємо, що для того, щоб OSPF-маршрутизатори могли обмінюватися інформацією, вони повинні мати однакові інтервали розсилання повідомлень Hello і критичні інтервали. За замовчуванням критичний інтервал має значення в чотири рази більше, ніж інтервал розсилання повідомлень Hello. Це означає, що маршрутизатор має можливість чотири рази надіслати повідомлення Hello до того, як він буде оголошений нероботоздатним. У широкомовних мережах OSPF за замовчуванням інтервал повідомлень Hello дорівнює 10 секунд, а інтервал критичних повідомлень – 40 секунд. У неширокомовних мережах OSPF ці інтервали дорівнюють 30 і 120 секунд, відповідно. Ці стандартні значення забезпечують ефективне функціонування протоколу OSPF, тому їх не рекомендується змінювати. Мережевий адміністратор може змінити ці значення, проте, для цього слід мати достатні підстави вважати, що така зміна підвищить ефективність роботи мережі. При конфігурування таймерів необхідно стежити, щоб у всіх маршрутизаторів ці значення збігались. При конфігурації на інтерфейсі інтервалів Hello і критичного використовуються команди: Router(config-if)# ip ospf hello-interval seconds, Router(config-if)# ip ospf dead-interval seconds.

Конфігурування пріоритета інтерфейсу для протоколу OSPF

Таке конфігурування дозволяє мереженому адміністратору впливати на процес вибору маршрутизаторів DR та BDR і виконується за допомогою команди Router(config-if)#ip ospf priority num,

де num – число з діапазону 0 – 255, яке і визначає цей пріоритет.