Добавить в корзинуПозвонить
Найти в Дзене
Николай Калюжный

Однозонный OSPF Junos

В этой статье блога я рассмотрю настройку и проверку Junos Single area OSPF с помощью Juniper vLAB Sandbox. Интерфейсы и конфигурации OSPF уже созданы для нас, поэтому мы можем сразу приступить к изучению и пониманию различных функций Junos OSPF. Спасибо компании Juniper за предоставление таких замечательных ресурсов. Вы можете получить доступ к Песочнице, посетив https://jlabs.juniper.net/vlabs/ Позвольте мне подключиться по SSH к vMX1 и проверить конфигурации OSPF. jcluser@vMX1> show configuration protocols ospf
area 0.0.0.0 {
interface ge-0/0/0.0;
interface ge-0/0/1.0;
interface ge-0/0/2.0;
interface lo0.0;
}
jcluser@vMX1> show ospf neighbor
Address Interface State ID Pri Dead
10.100.12.2 ge-0/0/0.0 Full 10.100.100.2 128 39
10.100.14.2 ge-0/0/1.0 Full 10.100.100.4 128 35
10.100.13.2 ge-0/0/2.0 Full 10.100.100.3 128
Оглавление

В этой статье блога я рассмотрю настройку и проверку Junos Single area OSPF с помощью Juniper vLAB Sandbox. Интерфейсы и конфигурации OSPF уже созданы для нас, поэтому мы можем сразу приступить к изучению и пониманию различных функций Junos OSPF.

Спасибо компании Juniper за предоставление таких замечательных ресурсов. Вы можете получить доступ к Песочнице, посетив https://jlabs.juniper.net/vlabs/

Предположения

  • Вы уже знакомы с Junos CLI
  • У вас есть базовое представление о OSPF

Сводка

  • Однозонный OSPF
  • Типы сетей OSPF
  • База данных OSPF
  • Маршрутизатор типа 1 LSA
  • Сеть LSA типа 2
  • Аутентификация OSPF
  • Маршруты OSPF

Диаграмма

Схема VLAB
Схема VLAB

Позвольте мне подключиться по SSH к vMX1 и проверить конфигурации OSPF.

jcluser@vMX1> show configuration protocols ospf
area 0.0.0.0 {
interface ge-0/0/0.0;
interface ge-0/0/1.0;
interface ge-0/0/2.0;
interface lo0.0;
}

jcluser@vMX1> show ospf neighbor
Address Interface State ID Pri Dead
10.100.12.2 ge-0/0/0.0 Full 10.100.100.2 128 39
10.100.14.2 ge-0/0/1.0 Full 10.100.100.4 128 35
10.100.13.2 ge-0/0/2.0 Full 10.100.100.3 128 34

Как вы можете видеть выше, все четыре интерфейса помещены в область 0. vMX1 соседствует с другими 3 маршрутизаторами, идеально.

База данных OSPF

Поскольку у нас есть одна область OSPF, мы увидим только LSA типа 1 и типа 2. Как вы можете видеть ниже, в базе данных OSPF есть четыре LSA маршрутизатора (Type-1) и шесть сетевых LSA (Type-2).

jcluser@vMX1> show ospf database summary
Area 0.0.0.0:
4 Router LSAs
6 Network LSAs
Externals:
Interface ge-0/0/0.0:
Area 0.0.0.0:
Interface ge-0/0/1.0:
Area 0.0.0.0:
Interface ge-0/0/2.0:
Area 0.0.0.0:
Interface lo0.0:
Area 0.0.0.0:

Маршрутизатор типа 1 LSA

LSA типа 1 передаются между маршрутизаторами, находящимися в одной области, и помогают OSPF создать полную картину сети. LSA перечисляет свои собственные интерфейсы и соседей. vMX1 имеет три интерфейса в зоне 0. Однако он создает только один LSA маршрутизатора, и в нем описываются три канала.

Вывод метода show ospf database router на vMX1 показано ниже. Глядя на вывод, мы можем подтвердить, что в зоне 0 есть четыре маршрутизатора.

jcluser@vMX1> show ospf database router

OSPF database, Area 0.0.0.0
Type ID Adv Rtr Seq Age Opt Cksum Len
Router *10.100.100.1 10.100.100.1 0x80000009 2034 0x22 0x365b 72
Router 10.100.100.2 10.100.100.2 0x80000008 2035 0x22 0x95d 72
Router 10.100.100.3 10.100.100.3 0x8000000b 6 0x22 0x3415 72
Router 10.100.100.4 10.100.100.4 0x8000000a 163 0x22 0xc77a 72

Давайте посмотрим на LSA Type-1, сгенерированный vMX1. Обратите внимание, что я изменил тип сети между vMX1 и vMX2 на P2P.

jcluser@vMX1# set protocols ospf area 0.0.0.0 interface ge-0/0/0.0 interface-type p2p

jcluser@vMX2# set protocols ospf area 0.0.0.0 interface ge-0/0/0.0 interface-type p2p

jcluser@vMX1> show ospf database router lsa-id 10.100.100.1 extensive

OSPF database, Area 0.0.0.0
Type ID Adv Rtr Seq Age Opt Cksum Len
Router *10.100.100.1 10.100.100.1 0x80000007 4 0x22 0x4967 84
bits 0x0, link count 5
id 10.100.100.2, data 10.100.12.1, Type PointToPoint (1)
Topology count: 0, Default metric: 1
id 10.100.12.0, data 255.255.255.0, Type Stub (3)
Topology count: 0, Default metric: 1
id 10.100.14.2, data 10.100.14.1, Type Transit (2)
Topology count: 0, Default metric: 1
id 10.100.13.2, data 10.100.13.1, Type Transit (2)
Topology count: 0, Default metric: 1
id 10.100.100.1, data 255.255.255.255, Type Stub (3)
Topology count: 0, Default metric: 0
Topology default (ID 0)
Type: Transit, Node ID: 10.100.13.2
Metric: 1, Bidirectional
Type: Transit, Node ID: 10.100.14.2
Metric: 1, Bidirectional
Type: PointToPoint, Node ID: 10.100.100.2
Metric: 1, Bidirectional
Gen timer 00:49:55
Aging timer 00:59:55
Installed 00:00:04 ago, expires in 00:59:56, sent 00:00:02 ago
Last changed 00:00:04 ago, Change count: 6, Ours

Как вы можете видеть выше, LSA маршрутизатора на vMX1 описывает три физических интерфейса и один интерфейс обратной связи в области 0. Давайте обсудим три "Типа", отображаемых в выводе.

PointToPoint

id 10.100.100.2, data 10.100.12.1, Type PointToPoint (1)
Topology count: 0, Default metric: 1
id 10.100.12.0, data 255.255.255.0, Type Stub (3)
Topology count: 0, Default metric: 1

Тип P2P определяет, что канал является каналом P2P и к нему подключен сосед OSPF. Если вы присмотритесь, мы увидим 2 x записи для связи между vMX1 и vMX2. Первая запись идентифицирует соседа и IP-адрес канала. Вторая запись, которая отображается как stub Показывает маску сети и подсети. Теперь все маршрутизаторы в области 0 знают, что 10.100.12.0/24 доступен через vMX1.

Транзит

Тип транзита определяет, что канал является сетью с множественным доступом/локальной сетью, в которой есть назначенный маршрутизатор. Как видите, в выводе отсутствует маска подсети. Итак, откуда другие маршрутизаторы узнают о сети и маске подсети? Что ж, DR отправит информацию. Это показано в следующем разделе.

id 10.100.14.2, data 10.100.14.1, Type Transit (2)
Topology count: 0, Default metric: 1

Stub

Stub - это когда в звене нет соседа. Это интерфейс обратной связи, поэтому, конечно, соседа нет.

id 10.100.100.1, data 255.255.255.255, Type Stub (3)
Topology count: 0, Default metric: 0

Сеть LSA типа 2

В широковещательной/локальной сети все маршрутизаторы в области имеют полное соседство с DR/BDR. Таким образом, в сети, где выбирается DR, DR должен создавать LSA типа 2 и отправлять их на все остальные маршрутизаторы.

Тип сети между vMX1 и vMX3 — LAN. Мы можем убедиться в этом, используя show ospf interface команда

jcluser@vMX1> show ospf interface ge-0/0/2.0 extensive
Interface State Area DR ID BDR ID Nbrs
ge-0/0/2.0 BDR 0.0.0.0 10.100.100.3 10.100.100.1 1
Type: LAN, Address: 10.100.13.1, Mask: 255.255.255.0, MTU: 1500, Cost: 1
DR addr: 10.100.13.2, BDR addr: 10.100.13.1, Priority: 128
Adj count: 1
Hello: 10, Dead: 40, ReXmit: 5, Not Stub
Auth type: None
Protection type: None
Topology default (ID 0) -> Cost: 1

Давайте проверим сетевые LSA на vMX1

jcluser@vMX1> show ospf database network

OSPF database, Area 0.0.0.0
Type ID Adv Rtr Seq Age Opt Cksum Len
Network 10.100.13.2 10.100.100.3 0x80000002 510 0x22 0xcd6e 32
Network 10.100.14.2 10.100.100.4 0x80000001 1673 0x22 0xc871 32
Network 10.100.23.2 10.100.100.3 0x80000001 1675 0x22 0x6fc2 32
Network 10.100.24.2 10.100.100.4 0x80000002 739 0x22 0x66c7 32
Network 10.100.34.2 10.100.100.4 0x80000002 50 0x22 0x61d 32

Почему мы видим пять сетевых LSA? Итак, есть шесть ссылок и одна из них настроена как P2P.

Выбор DR происходит на основе приоритета маршрутизатора OSPF. Приоритет по умолчанию — 128. Если есть связь, маршрутизатор с наибольшим идентификатором router-id выбирается DR.
  • vMX1 и vMX2 имеют наименьший идентификатор маршрутизатора, поэтому они не выбираются в качестве DR ни для одного сегмента локальной сети.
  • vMX3 — это DR для сегментов vMX1-vMX3 и vMX2-vMX3.
  • vMX4 имеет самый высокий идентификатор маршрутизатора, поэтому он выбирается как DR со всеми тремя соседями.

Давайте посмотрим на LSA Type-2, генерируемый vMX4 для сегмента LAN vMX4-vMX2. Мы можем видеть информацию о сети и маске сети 10.100.24.0/24. Теперь все маршрутизаторы в зоне 0 знают, что 10.100.24.0/24 доступен через vMX4.

jcluser@vMX1> show ospf database network lsa-id 10.100.24.2 extensive

OSPF database, Area 0.0.0.0
Type ID Adv Rtr Seq Age Opt Cksum Len
Network 10.100.24.2 10.100.100.4 0x80000002 1513 0x22 0x66c7 32
mask 255.255.255.0
attached router 10.100.100.4
attached router 10.100.100.2
Topology default (ID 0)
Type: Transit, Node ID: 10.100.100.2
Metric: 0, Bidirectional
Type: Transit, Node ID: 10.100.100.4
Metric: 0, Bidirectional
Aging timer 00:34:46
Installed 00:25:10 ago, expires in 00:34:47, sent 00:25:08 ago
Last changed 00:40:53 ago, Change count: 1

Опробование и повторная настройка функций OSPF

Давайте создадим назначенный маршрутизатор vMX1, увеличив приоритет маршрутизатора ospf до 129, и снова проверим сетевые LSA. Теперь мы должны увидеть 3 x Type-2LSA от vMX1 и 1 x Type-2 LSA от vMX3 и 2 x Type-2 LSA от vMX4.

jcluser@vMX1# delete protocols ospf area 0.0.0.0 interface ge-0/0/0.0 interface-type p2p

jcluser@vMX2# delete protocols ospf area 0.0.0.0 interface ge-0/0/0.0 interface-type p2p

jcluser@vMX1# set protocols ospf area 0.0.0.0 interface ge-0/0/0.0 priority 129
jcluser@vMX1# set protocols ospf area 0.0.0.0 interface ge-0/0/1.0 priority 129
jcluser@vMX1# set protocols ospf area 0.0.0.0 interface ge-0/0/2.0 priority 129

jcluser@vMX1> show ospf neighbor detail
Address Interface State ID Pri Dead
10.100.12.2 ge-0/0/0.0 Full 10.100.100.2 128 34
Area 0.0.0.0, opt 0x52, DR 10.100.12.1, BDR 10.100.12.2
Up 00:00:51, adjacent 00:00:51
10.100.14.2 ge-0/0/1.0 Full 10.100.100.4 128 34
Area 0.0.0.0, opt 0x52, DR 10.100.14.1, BDR 10.100.14.2
Up 00:00:51, adjacent 00:00:51
10.100.13.2 ge-0/0/2.0 Full 10.100.100.3 128 33
Area 0.0.0.0, opt 0x52, DR 10.100.13.1, BDR 10.100.13.2

Вы можете видеть выше, что vMX1 является DR для всех трех ссылок (показано как DR 10.100.12.1, DR 10.100.14.1 и DR 10.100.13.1)

jcluser@vMX1> show ospf database network

OSPF database, Area 0.0.0.0
Type ID Adv Rtr Seq Age Opt Cksum Len
Network *10.100.12.1 10.100.100.1 0x80000001 127 0x22 0xea57 32
Network *10.100.13.1 10.100.100.1 0x80000002 126 0x22 0xeb53 32
Network *10.100.14.1 10.100.100.1 0x80000001 127 0x22 0xf04d 32
Network 10.100.23.2 10.100.100.3 0x80000001 496 0x22 0x6fc2 32
Network 10.100.24.2 10.100.100.4 0x80000001 510 0x22 0x68c6 32
Network 10.100.34.2 10.100.100.4 0x80000001 501 0x22 0x81c 32

Давайте изменим тип сети OSPF на P2P на всех интерфейсах. Теперь каждое звено рассматривается как звено «точка-точка», поэтому не выбираются DR или BDR. Так что никаких LSA типа 2 быть не должно.

jcluser@vMX1# load set terminal
[Type ^D at a new line to end input]
set protocols ospf area 0.0.0.0 interface ge-0/0/0.0 interface-type p2p
set protocols ospf area 0.0.0.0 interface ge-0/0/1.0 interface-type p2p
set protocols ospf area 0.0.0.0 interface ge-0/0/2.0 interface-type p2p
load complete

jcluser@vMX2# load set terminal
[Type ^D at a new line to end input]
set protocols ospf area 0.0.0.0 interface ge-0/0/0.0 interface-type p2p
set protocols ospf area 0.0.0.0 interface ge-0/0/1.0 interface-type p2p
set protocols ospf area 0.0.0.0 interface ge-0/0/2.0 interface-type p2p
load complete

jcluser@vMX3# load set terminal
[Type ^D at a new line to end input]
set protocols ospf area 0.0.0.0 interface ge-0/0/0.0 interface-type p2p
set protocols ospf area 0.0.0.0 interface ge-0/0/1.0 interface-type p2p
set protocols ospf area 0.0.0.0 interface ge-0/0/2.0 interface-type p2p
load complete

jcluser@vMX4# load set terminal
[Type ^D at a new line to end input]
set protocols ospf area 0.0.0.0 interface ge-0/0/0.0 interface-type p2p
set protocols ospf area 0.0.0.0 interface ge-0/0/1.0 interface-type p2p
set protocols ospf area 0.0.0.0 interface ge-0/0/2.0 interface-type p2p
load complete

Как вы можете видеть ниже, теперь тип интерфейса отображается как P2P.

jcluser@vMX1> show ospf interface ge-0/0/0.0 extensive
Interface State Area DR ID BDR ID Nbrs
ge-0/0/0.0 PtToPt 0.0.0.0 0.0.0.0 0.0.0.0 1
Type: P2P, Address: 10.100.12.1, Mask: 255.255.255.0, MTU: 1500, Cost: 1
Adj count: 1
Hello: 10, Dead: 40, ReXmit: 5, Not Stub
Auth type: None
Protection type: None
Topology default (ID 0) -> Cost: 1

Как я уже упоминал ранее, сейчас у нас есть только 4 LSA типа 1. LSA типа 2 отсутствуют.

jcluser@vMX1> show ospf database summary
Area 0.0.0.0:
4 Router LSAs
Externals:
Interface ge-0/0/0.0:
Area 0.0.0.0:
Interface ge-0/0/1.0:
Area 0.0.0.0:
Interface ge-0/0/2.0:
Area 0.0.0.0:
Interface lo0.0:
Area 0.0.0.0:

Настройка аутентификации OSPF

Простая аутентификация

Простота настройки / слабая безопасность. Пароли, передаваемые между соседями, не шифруются. Давайте настроим аутентификацию по паролю с помощью обычного текста между vMX1 и vMX2.

jcluser@vMX1# set protocols ospf area 0.0.0.0 interface ge-0/0/0.0 authentication simple-password junos123

[edit]
jcluser@vMX1# commit
commit complete

jcluser@vMX2# set protocols ospf area 0.0.0.0 interface ge-0/0/0.0 authentication simple-password junos123

[edit]
jcluser@vMX2# commit
commit complete

Как вы можете видеть ниже, тип Auth установлен в Password

jcluser@vMX1> show ospf interface ge-0/0/0.0 extensive
Interface State Area DR ID BDR ID Nbrs
ge-0/0/0.0 PtToPt 0.0.0.0 0.0.0.0 0.0.0.0 1
Type: P2P, Address: 10.100.12.1, Mask: 255.255.255.0, MTU: 1500, Cost: 1
Adj count: 1
Hello: 10, Dead: 40, ReXmit: 5, Not Stub
Auth type: Password
Protection type: None
Topology default (ID 0) -> Cost: 1

Аутентификация MD5

Закодированная контрольная сумма MD5 передается между соседями, что повышает безопасность по сравнению с предыдущим методом. Давайте настроим аутентификацию MD5 между vMX3 и vMX4.

jcluser@vMX3# set protocols ospf area 0.0.0.0 interface ge-0/0/0.0 authentication md5 1 key juniper

jcluser@vMX4# set protocols ospf area 0.0.0.0 interface ge-0/0/0.0 authentication md5 1 key juniper

Как вы можете видеть ниже, тип Auth установлен в MD5 (Пожалуйста, не обращайте внимания на время)

jcluser@vMX3> show ospf interface ge-0/0/0.0 extensive
Interface State Area DR ID BDR ID Nbrs
ge-0/0/0.0 PtToPt 0.0.0.0 0.0.0.0 0.0.0.0 1
Type: P2P, Address: 10.100.34.1, Mask: 255.255.255.0, MTU: 1500, Cost: 1
Adj count: 1
Hello: 10, Dead: 40, ReXmit: 5, Not Stub
Auth type: MD5, Active key ID: 1, Start time: 1970 Jan 1 00:00:00 UTC
Protection type: None
Topology default (ID 0) -> Cost: 1

Маршруты OSPF

Стоимость/метрика

Все интерфейсы OSPF имеют стоимость, которая представляет собой метрику маршрутизации, используемую при вычислении состояния канала. Маршруты с более низкими метриками общего пути/стоимостью предпочтительнее, чем маршруты с более высокими метриками пути. В этом примере мы рассмотрим, как контролировать стоимость сети OSPF.

jcluser@vMX1> show route protocol ospf

inet.0: 17 destinations, 17 routes (17 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both

10.100.23.0/24 *[OSPF/10] 00:03:11, metric 2
to 10.100.12.2 via ge-0/0/0.0
> to 10.100.13.2 via ge-0/0/2.0
10.100.24.0/24 *[OSPF/10] 00:03:11, metric 2
> to 10.100.12.2 via ge-0/0/0.0
to 10.100.14.2 via ge-0/0/1.0
10.100.34.0/24 *[OSPF/10] 00:03:16, metric 2
to 10.100.14.2 via ge-0/0/1.0
> to 10.100.13.2 via ge-0/0/2.0
10.100.100.2/32 *[OSPF/10] 00:03:11, metric 1
> to 10.100.12.2 via ge-0/0/0.0
10.100.100.3/32 *[OSPF/10] 00:03:16, metric 1
> to 10.100.13.2 via ge-0/0/2.0
10.100.100.4/32 *[OSPF/10] 00:03:26, metric 1
> to 10.100.14.2 via ge-0/0/1.0
224.0.0.5/32 *[OSPF/10] 00:04:17, metric 1
MultiRecv

inet6.0: 1 destinations, 1 routes (1 active, 0 holddown, 0 hidden)

Глядя на приведенный выше вывод, кажется, что есть два равных пути для подключения к сети 10.100.23.0/24. Юнос выбирает один из них как лучший путь via ge-0/0/2 (с помощью функции > символ) Что, если мы хотим отправлять трафик через ge-0/0/0. Что ж, мы можем достичь этого, увеличив стоимость/метрику на канале в сторону vMX3.

jcluser@vMX1# set protocols ospf area 0.0.0.0 interface ge-0/0/2.0 metric 3

jcluser@vMX1> show ospf interface ge-0/0/2.0 extensive
Interface State Area DR ID BDR ID Nbrs
ge-0/0/2.0 BDR 0.0.0.0 10.100.100.3 10.100.100.1 1
Type: LAN, Address: 10.100.13.1, Mask: 255.255.255.0, MTU: 1500, Cost: 3
DR addr: 10.100.13.2, BDR addr: 10.100.13.1, Priority: 128
Adj count: 1
Hello: 10, Dead: 40, ReXmit: 5, Not Stub
Auth type: None
Protection type: None
Topology default (ID 0) -> Cost: 3

Давайте еще раз проверим таблицу маршрутов

jcluser@vMX1# run show route protocol ospf

inet.0: 17 destinations, 18 routes (17 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both

10.100.13.0/24 [OSPF/10] 00:00:04, metric 3
> to 10.100.12.2 via ge-0/0/0.0
to 10.100.14.2 via ge-0/0/1.0
10.100.23.0/24 *[OSPF/10] 00:00:04, metric 2
> to 10.100.12.2 via ge-0/0/0.0
10.100.24.0/24 *[OSPF/10] 00:13:57, metric 2
> to 10.100.12.2 via ge-0/0/0.0
to 10.100.14.2 via ge-0/0/1.0
10.100.34.0/24 *[OSPF/10] 00:00:04, metric 2
> to 10.100.14.2 via ge-0/0/1.0
10.100.100.2/32 *[OSPF/10] 00:13:57, metric 1
> to 10.100.12.2 via ge-0/0/0.0
10.100.100.3/32 *[OSPF/10] 00:00:04, metric 2
to 10.100.12.2 via ge-0/0/0.0
> to 10.100.14.2 via ge-0/0/1.0
10.100.100.4/32 *[OSPF/10] 00:14:12, metric 1
> to 10.100.14.2 via ge-0/0/1.0
224.0.0.5/32 *[OSPF/10] 00:15:03, metric 1
MultiRecv

inet6.0: 1 destinations, 1 routes (1 active, 0 holddown, 0 hidden)

Как мы и предполагали, трафик теперь идет через ge-0/0/0.

Метрика стоимости для интерфейса замыкания на себя по умолчанию равна 0 и 1 для любого канала со скоростью более 100 Мбит/с
Если у вас есть какие-либо мысли или вопросы по этой теме, пожалуйста, не стесняйтесь оставить комментарий или отправить мне сообщение. Я хотел бы продолжить дискуссию и услышать вашу точку зрения.А также вы всегда можете поддержать меня зайдя на сайт и подписаться https://dzen.ru/kalyuzhnyy.ru и найти больше статей на моих ресурсах https://kalyuzhnyy.ru и https://dev.kalyuzhnyy.ru