Топология сети
Пойдем по-порядку:
Стартовая настройка оборудования в соответствии с приведенной топологией:
- Определите необходимое количество оборудования для лабораторной работы
- Определите сетевые интерфейсы для организации подключений между маршрутизаторами, в случае необходимости, используйте VLAN
- Настройте IP-адресацию между устройствами и удостоверьтесь, что соседи пингуются между собой
Здесь можно пойти топорным способом и наштамповать в лабе 11 маршрутизаторов, но с целью экономии ресурсов на сервере я возьму 3 роутера и на них подниму дополнительные routing-instance, которые и сыграют роль роутеров, но только виртуальных, которые по функционалу в данном случае не будут отличаться от реальных.
Физическая топология будет выглядеть следующим образом:
Логически это можно представить так:
Внутри устройств VR-Device создаются virtual-instance с именами R1, R2, …, R11. Соединения между ними осуществляются посредством VLAN через общие физические линки.
Допустим, между VR-Device-2 и VR-Device-3 у нас линк организован через интерфейсы ge-0/0/4. Получается, что на рисунке 3 между вторым и третьим VR-Device есть 3 линка: R6 — R10, R2 — R3 и R7 — R8, но фактически они идут через один физический линк.
Чтобы разделить трафик между собой организуем связь на интерфейсе ge-0/0/4 через VLAN. Номером VLAN будет являться комбинация номеров роутеров XY. Где X — меньший номер, Y — больший номер. Аналогично с IP-адресацией.
Рассмотрим пример:
Между R2 и R3 будет организована связь во VLAN 23 (X = 2, Y = 3), IP-адресация 172.20.23.0/30. Старший IP-адрес будет назначен интерфейсу на VR-Device-2. Разницы принципиальной нет, просто мне так удобнее.
В случае, когда оба роутера фактически будут находиться на одном VR-Device, первый (младший) адрес будет назначаться устройству, ближайшему к нулевой OSPF-области.
Также на рисунке 2 есть коммутатор, в который от каждого VR-Device идет по 2 физических линка. Это сделано для того, чтобы соединить между собой виртуальные маршрутизаторы, находящиеся на одном VR-Device. Поскольку eve-ng не умеет делать петли, пришлось петлю создать программно на коммутаторе. То есть фактически, мы на каждом VR-Device взяли и соединили между собой интерфейсы ge-0/0/4 и ge-0/0/5.
Аналогично примеру выше для R2 и R3 рассмотрим пример для R1 и R4: X = 1, Y = 14, следовательно VLAN 14 и IP-адресация 172.20.14.0/30. Подключены они между собой через порт ge-0/0/5 на R1 и ge-0/0/6 на R4 (можно и наоборот, опять же, разницы никакой). И все это будет бегать в 14 VLAN.
VLAN и IP-адреса для всех остальных интерфейсов назначаются по аналогии, разве что связность с R10 и R11 будет несколько иная:
R6 — R10, VLAN 106, IP 172.20.106.0/30
R10 — R11, VLAN 1011, IP 172.20.11.0/30
Сделано это в виду того, что один октет IP-адреса ограничен числом от 0 до 255, а числа 610 (комбинация R6 и R10) и 1011/1110 (комбинация R10 и R11) несколько выходят за рамки октета.
Схема с подписанными интерфейсами будет выглядеть так:
Теперь дело за настройкой IP-адресов и VLAN’ов. Подробно на этом останавливаться не буду. Просто прикреплю конфиги. В случае, если надо разъяснить более подробно, напишите в комментариях, сделаю отдельный пост на эту тему.
VR-Device-1
set system host-name VR-Device-1
set interfaces ge-0/0/3 vlan-tagging
set interfaces ge-0/0/3 unit 12 vlan-id 12
set interfaces ge-0/0/3 unit 12 family inet address 172.20.12.1/30
set interfaces ge-0/0/3 unit 15 vlan-id 15
set interfaces ge-0/0/3 unit 15 family inet address 172.20.15.1/30
set interfaces ge-0/0/3 unit 24 vlan-id 24
set interfaces ge-0/0/3 unit 24 family inet address 172.20.24.1/30
set interfaces ge-0/0/3 unit 89 vlan-id 89
set interfaces ge-0/0/3 unit 89 family inet address 172.20.89.1/30
set interfaces ge-0/0/3 unit 1011 vlan-id 1011
set interfaces ge-0/0/3 unit 1011 family inet address 172.20.11.1/30
set interfaces ge-0/0/5 vlan-tagging
set interfaces ge-0/0/5 unit 14 vlan-id 14
set interfaces ge-0/0/5 unit 14 family inet address 172.20.14.1/30
set interfaces ge-0/0/5 unit 19 vlan-id 19
set interfaces ge-0/0/5 unit 19 family inet address 172.20.19.1/30
set interfaces ge-0/0/6 vlan-tagging
set interfaces ge-0/0/6 unit 14 vlan-id 14
set interfaces ge-0/0/6 unit 14 family inet address 172.20.14.2/30
set interfaces ge-0/0/6 unit 19 vlan-id 19
set interfaces ge-0/0/6 unit 19 family inet address 172.20.19.2/30
set interfaces lo0 unit 1 family inet address 192.168.100.1/32
set interfaces lo0 unit 4 family inet address 192.168.100.4/32
set interfaces lo0 unit 9 family inet address 192.168.100.9/32
set interfaces lo0 unit 11 family inet address 192.168.100.11/32
set routing-instances R1 instance-type virtual-router
set routing-instances R1 interface ge-0/0/3.12
set routing-instances R1 interface ge-0/0/3.15
set routing-instances R1 interface ge-0/0/5.14
set routing-instances R1 interface ge-0/0/5.19
set routing-instances R1 interface lo0.1
set routing-instances R1 routing-options router-id 192.168.100.1
set routing-instances R11 instance-type virtual-router
set routing-instances R11 interface ge-0/0/3.1011
set routing-instances R11 interface lo0.11
set routing-instances R11 routing-options router-id 192.168.100.11
set routing-instances R4 instance-type virtual-router
set routing-instances R4 interface ge-0/0/3.24
set routing-instances R4 interface ge-0/0/6.14
set routing-instances R4 interface lo0.4
set routing-instances R4 routing-options router-id 192.168.100.4
set routing-instances R9 instance-type virtual-router
set routing-instances R9 interface ge-0/0/3.89
set routing-instances R9 interface ge-0/0/6.19
set routing-instances R9 interface lo0.9
set routing-instances R9 routing-options router-id 192.168.100.9
VR-Device-2
set system host-name VR-Device-2
set interfaces ge-0/0/3 vlan-tagging
set interfaces ge-0/0/3 unit 12 vlan-id 12
set interfaces ge-0/0/3 unit 12 family inet address 172.20.12.2/30
set interfaces ge-0/0/3 unit 15 vlan-id 15
set interfaces ge-0/0/3 unit 15 family inet address 172.20.15.2/30
set interfaces ge-0/0/3 unit 24 vlan-id 24
set interfaces ge-0/0/3 unit 24 family inet address 172.20.24.2/30
set interfaces ge-0/0/3 unit 89 vlan-id 89
set interfaces ge-0/0/3 unit 89 family inet address 172.20.89.2/30
set interfaces ge-0/0/3 unit 1011 vlan-id 1011
set interfaces ge-0/0/3 unit 1011 family inet address 172.20.11.2/30
set interfaces ge-0/0/4 vlan-tagging
set interfaces ge-0/0/4 unit 23 vlan-id 23
set interfaces ge-0/0/4 unit 23 family inet address 172.20.23.2/30
set interfaces ge-0/0/4 unit 78 vlan-id 78
set interfaces ge-0/0/4 unit 78 family inet address 172.20.78.2/30
set interfaces ge-0/0/4 unit 106 vlan-id 106
set interfaces ge-0/0/4 unit 106 family inet address 172.20.106.2/30
set interfaces ge-0/0/5 vlan-tagging
set interfaces ge-0/0/5 unit 25 vlan-id 25
set interfaces ge-0/0/5 unit 25 family inet address 172.20.25.1/30
set interfaces ge-0/0/6 vlan-tagging
set interfaces ge-0/0/6 unit 25 vlan-id 25
set interfaces ge-0/0/6 unit 25 family inet address 172.20.25.2/30
set interfaces lo0 unit 2 family inet address 192.168.100.2/32
set interfaces lo0 unit 5 family inet address 192.168.100.5/32
set interfaces lo0 unit 8 family inet address 192.168.100.8/32
set interfaces lo0 unit 10 family inet address 192.168.100.10/32
set routing-instances R10 instance-type virtual-router
set routing-instances R10 interface ge-0/0/3.1011
set routing-instances R10 interface ge-0/0/4.106
set routing-instances R10 interface lo0.10
set routing-instances R10 routing-options router-id 192.168.100.10
set routing-instances R2 instance-type virtual-router
set routing-instances R2 interface ge-0/0/3.12
set routing-instances R2 interface ge-0/0/3.24
set routing-instances R2 interface ge-0/0/4.23
set routing-instances R2 interface ge-0/0/5.25
set routing-instances R2 interface lo0.2
set routing-instances R2 routing-options router-id 192.168.100.2
set routing-instances R5 instance-type virtual-router
set routing-instances R5 interface ge-0/0/3.15
set routing-instances R5 interface ge-0/0/6.25
set routing-instances R5 interface lo0.5
set routing-instances R5 routing-options router-id 192.168.100.5
set routing-instances R8 instance-type virtual-router
set routing-instances R8 interface ge-0/0/3.89
set routing-instances R8 interface ge-0/0/4.78
set routing-instances R8 interface lo0.8
set routing-instances R8 routing-options router-id 192.168.100.8
VR-Device-3
set system host-name VR-Device-3
set interfaces ge-0/0/4 vlan-tagging
set interfaces ge-0/0/4 unit 23 vlan-id 23
set interfaces ge-0/0/4 unit 23 family inet address 172.20.23.1/30
set interfaces ge-0/0/4 unit 78 vlan-id 78
set interfaces ge-0/0/4 unit 78 family inet address 172.20.78.1/30
set interfaces ge-0/0/4 unit 106 vlan-id 106
set interfaces ge-0/0/4 unit 106 family inet address 172.20.106.1/30
set interfaces ge-0/0/5 vlan-tagging
set interfaces ge-0/0/5 unit 36 vlan-id 36
set interfaces ge-0/0/5 unit 36 family inet address 172.20.36.1/30
set interfaces ge-0/0/5 unit 37 vlan-id 37
set interfaces ge-0/0/5 unit 37 family inet address 172.20.37.1/30
set interfaces ge-0/0/6 vlan-tagging
set interfaces ge-0/0/6 unit 36 vlan-id 36
set interfaces ge-0/0/6 unit 36 family inet address 172.20.36.2/30
set interfaces ge-0/0/6 unit 37 vlan-id 37
set interfaces ge-0/0/6 unit 37 family inet address 172.20.37.2/30
set interfaces lo0 unit 3 family inet address 192.168.100.3/32
set interfaces lo0 unit 6 family inet address 192.168.100.6/32
set interfaces lo0 unit 7 family inet address 192.168.100.7/32
set routing-instances R3 instance-type virtual-router
set routing-instances R3 interface ge-0/0/4.23
set routing-instances R3 interface ge-0/0/5.36
set routing-instances R3 interface ge-0/0/5.37
set routing-instances R3 interface lo0.3
set routing-instances R3 routing-options router-id 192.168.100.3
set routing-instances R6 instance-type virtual-router
set routing-instances R6 interface ge-0/0/4.106
set routing-instances R6 interface ge-0/0/6.36
set routing-instances R6 interface lo0.6
set routing-instances R6 routing-options router-id 192.168.100.6
set routing-instances R7 instance-type virtual-router
set routing-instances R7 interface ge-0/0/4.78
set routing-instances R7 interface ge-0/0/6.37
set routing-instances R7 interface lo0.7
set routing-instances R7 routing-options router-id 192.168.100.7
Switch
vlan 1-4094
!
interface Ethernet0/0
switchport trunk encapsulation dot1q
switchport mode trunk
!
interface Ethernet0/1
switchport trunk encapsulation dot1q
switchport mode trunk
!
interface Ethernet0/2
switchport trunk encapsulation dot1q
switchport mode trunk
!
interface Ethernet0/3
switchport trunk encapsulation dot1q
switchport mode trunk
!
interface Ethernet1/0
switchport trunk encapsulation dot1q
switchport mode trunk
!
interface Ethernet1/1
switchport trunk encapsulation dot1q
switchport mode trunk
!
interface Ethernet1/2
switchport trunk encapsulation dot1q
switchport mode trunk
!
interface Ethernet1/3
switchport trunk encapsulation dot1q
switchport mode trunk
Проверим настройки VR-Device-1
root@VR-Device-1> show interfaces terse | match inet
ge-0/0/3.12 up up inet 172.20.12.1/30
ge-0/0/3.15 up up inet 172.20.15.1/30
ge-0/0/3.24 up up inet 172.20.24.1/30
ge-0/0/3.89 up up inet 172.20.89.1/30
ge-0/0/3.1011 up up inet 172.20.11.1/30
ge-0/0/5.14 up up inet 172.20.14.1/30
ge-0/0/5.19 up up inet 172.20.19.1/30
ge-0/0/6.14 up up inet 172.20.14.2/30
ge-0/0/6.19 up up inet 172.20.19.2/30
lo0.1 up up inet 192.168.100.1 --> 0/0
lo0.4 up up inet 192.168.100.4 --> 0/0
lo0.9 up up inet 192.168.100.9 --> 0/0
lo0.11 up up inet 192.168.100.11 --> 0/0
root@VR-Device-1> show route
R1.inet.0: 9 destinations, 9 routes (9 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
172.20.12.0/30 *[Direct/0] 00:42:46
> via ge-0/0/3.12
172.20.12.1/32 *[Local/0] 00:42:47
Local via ge-0/0/3.12
172.20.14.0/30 *[Direct/0] 00:42:45
> via ge-0/0/5.14
172.20.14.1/32 *[Local/0] 00:42:47
Local via ge-0/0/5.14
172.20.15.0/30 *[Direct/0] 00:42:46
> via ge-0/0/3.15
172.20.15.1/32 *[Local/0] 00:42:47
Local via ge-0/0/3.15
172.20.19.0/30 *[Direct/0] 00:42:45
> via ge-0/0/5.19
172.20.19.1/32 *[Local/0] 00:42:47
Local via ge-0/0/5.19
192.168.100.1/32 *[Direct/0] 00:43:18
> via lo0.1
R11.inet.0: 3 destinations, 3 routes (3 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
172.20.11.0/30 *[Direct/0] 00:42:46
> via ge-0/0/3.1011
172.20.11.1/32 *[Local/0] 00:42:47
Local via ge-0/0/3.1011
192.168.100.11/32 *[Direct/0] 00:43:18
> via lo0.11
R4.inet.0: 5 destinations, 5 routes (5 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
172.20.14.0/30 *[Direct/0] 00:42:45
> via ge-0/0/6.14
172.20.14.2/32 *[Local/0] 00:42:47
Local via ge-0/0/6.14
172.20.24.0/30 *[Direct/0] 00:42:46
> via ge-0/0/3.24
172.20.24.1/32 *[Local/0] 00:42:47
Local via ge-0/0/3.24
192.168.100.4/32 *[Direct/0] 00:43:18
> via lo0.4
R9.inet.0: 5 destinations, 5 routes (5 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
172.20.19.0/30 *[Direct/0] 00:42:45
> via ge-0/0/6.19
172.20.19.2/32 *[Local/0] 00:42:47
Local via ge-0/0/6.19
172.20.89.0/30 *[Direct/0] 00:42:46
> via ge-0/0/3.89
172.20.89.1/32 *[Local/0] 00:42:47
Local via ge-0/0/3.89
192.168.100.9/32 *[Direct/0] 00:43:18
> via lo0.9
VR-Device-2:
root@VR-Device-2> show interfaces terse | match inet
ge-0/0/3.12 up up inet 172.20.12.2/30
ge-0/0/3.15 up up inet 172.20.15.2/30
ge-0/0/3.24 up up inet 172.20.24.2/30
ge-0/0/3.89 up up inet 172.20.89.2/30
ge-0/0/3.1011 up up inet 172.20.11.2/30
ge-0/0/4.23 up up inet 172.20.23.2/30
ge-0/0/4.78 up up inet 172.20.78.2/30
ge-0/0/4.106 up up inet 172.20.106.2/30
ge-0/0/5.25 up up inet 172.20.25.1/30
ge-0/0/6.25 up up inet 172.20.25.2/30
lo0.2 up up inet 192.168.100.2 --> 0/0
lo0.5 up up inet 192.168.100.5 --> 0/0
lo0.8 up up inet 192.168.100.8 --> 0/0
lo0.10 up up inet 192.168.100.10 --> 0/0
root@VR-Device-2> show route
R10.inet.0: 5 destinations, 5 routes (5 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
172.20.11.0/30 *[Direct/0] 00:46:20
> via ge-0/0/3.1011
172.20.11.2/32 *[Local/0] 00:46:21
Local via ge-0/0/3.1011
172.20.106.0/30 *[Direct/0] 00:46:19
> via ge-0/0/4.106
172.20.106.2/32 *[Local/0] 00:46:21
Local via ge-0/0/4.106
192.168.100.10/32 *[Direct/0] 00:46:54
> via lo0.10
R2.inet.0: 9 destinations, 9 routes (9 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
172.20.12.0/30 *[Direct/0] 00:46:20
> via ge-0/0/3.12
172.20.12.2/32 *[Local/0] 00:46:21
Local via ge-0/0/3.12
172.20.23.0/30 *[Direct/0] 00:46:19
> via ge-0/0/4.23
172.20.23.2/32 *[Local/0] 00:46:21
Local via ge-0/0/4.23
172.20.24.0/30 *[Direct/0] 00:46:20
> via ge-0/0/3.24
172.20.24.2/32 *[Local/0] 00:46:21
Local via ge-0/0/3.24
172.20.25.0/30 *[Direct/0] 00:46:19
> via ge-0/0/5.25
172.20.25.1/32 *[Local/0] 00:46:21
Local via ge-0/0/5.25
192.168.100.2/32 *[Direct/0] 00:46:54
> via lo0.2
R5.inet.0: 5 destinations, 5 routes (5 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
172.20.15.0/30 *[Direct/0] 00:46:20
> via ge-0/0/3.15
172.20.15.2/32 *[Local/0] 00:46:21
Local via ge-0/0/3.15
172.20.25.0/30 *[Direct/0] 00:46:19
> via ge-0/0/6.25
172.20.25.2/32 *[Local/0] 00:46:21
Local via ge-0/0/6.25
192.168.100.5/32 *[Direct/0] 00:46:54
> via lo0.5
R8.inet.0: 5 destinations, 5 routes (5 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
172.20.78.0/30 *[Direct/0] 00:46:19
> via ge-0/0/4.78
172.20.78.2/32 *[Local/0] 00:46:21
Local via ge-0/0/4.78
172.20.89.0/30 *[Direct/0] 00:46:20
> via ge-0/0/3.89
172.20.89.2/32 *[Local/0] 00:46:21
Local via ge-0/0/3.89
192.168.100.8/32 *[Direct/0] 00:46:54
> via lo0.8
VR-Device-3:
root@VR-Device-3> show interfaces terse | match inet
ge-0/0/4.23 up up inet 172.20.23.1/30
ge-0/0/4.78 up up inet 172.20.78.1/30
ge-0/0/4.106 up up inet 172.20.106.1/30
ge-0/0/5.36 up up inet 172.20.36.1/30
ge-0/0/5.37 up up inet 172.20.37.1/30
ge-0/0/6.36 up up inet 172.20.36.2/30
ge-0/0/6.37 up up inet 172.20.37.2/30
lo0.3 up up inet 192.168.100.3 --> 0/0
lo0.6 up up inet 192.168.100.6 --> 0/0
lo0.7 up up inet 192.168.100.7 --> 0/0
root@VR-Device-3> show route
R3.inet.0: 7 destinations, 7 routes (7 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
172.20.23.0/30 *[Direct/0] 00:47:44
> via ge-0/0/4.23
172.20.23.1/32 *[Local/0] 00:47:45
Local via ge-0/0/4.23
172.20.36.0/30 *[Direct/0] 00:47:44
> via ge-0/0/5.36
172.20.36.1/32 *[Local/0] 00:47:45
Local via ge-0/0/5.36
172.20.37.0/30 *[Direct/0] 00:47:44
> via ge-0/0/5.37
172.20.37.1/32 *[Local/0] 00:47:45
Local via ge-0/0/5.37
192.168.100.3/32 *[Direct/0] 00:48:21
> via lo0.3
R6.inet.0: 5 destinations, 5 routes (5 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
172.20.36.0/30 *[Direct/0] 00:47:43
> via ge-0/0/6.36
172.20.36.2/32 *[Local/0] 00:47:45
Local via ge-0/0/6.36
172.20.106.0/30 *[Direct/0] 00:47:44
> via ge-0/0/4.106
172.20.106.1/32 *[Local/0] 00:47:45
Local via ge-0/0/4.106
192.168.100.6/32 *[Direct/0] 00:48:21
> via lo0.6
R7.inet.0: 5 destinations, 5 routes (5 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
172.20.37.0/30 *[Direct/0] 00:47:43
> via ge-0/0/6.37
172.20.37.2/32 *[Local/0] 00:47:45
Local via ge-0/0/6.37
172.20.78.0/30 *[Direct/0] 00:47:44
> via ge-0/0/4.78
172.20.78.1/32 *[Local/0] 00:47:45
Local via ge-0/0/4.78
192.168.100.7/32 *[Direct/0] 00:48:21
> via lo0.7
В приведенной выше информации видно, что на каждом из VR-Device есть несколько таблиц маршрутизации, каждая соответствует своему виртуальному роутеру. Например таблица R6.inet.0 содержит маршруты, находящиеся на роутере R6. Аналогично с другими устройствами.
Связность между всеми устройствами проверять не будем, сделаем рандомные проверки на парах R1 — R5, R7 — R8 и R2 — R3:
R1 — R5:
root@VR-Device-1> ping 172.20.15.2
PING 172.20.15.2 (172.20.15.2): 56 data bytes
ping: sendto: Can't assign requested address
ping: sendto: Can't assign requested address
^C
--- 172.20.15.2 ping statistics ---
2 packets transmitted, 0 packets received, 100% packet loss
Нет связности… Причина в том, что сеть 172.20.15.0/30 находится в routing-instance R1, а по дефолту icmp-запросы отправляются из дефолтного инстанса. Повторим тест, указав нужный routing-instance:
R7 — R8:
R2 — R3:
Отлично, все работает. Можно переходить к непосредственной настройке OSPF:
- Настройте магистральную (нулевую) OSPF-область, проанонсируйте loopback-интерфейсы в эту область
- Установите hello и dead-интервалы в значения 3 и 12 секунд соответственно
- Убедитесь, что OSPF-соседства установлены в состояние full и в таблице маршрутизации присутствуют анонсируемые сети
- Настройте оставшиеся ненулевые OSPF-области, таймеры настройте в значения 5 и 20
- Проверьте корректность работы оборудования после настройки
Начнем с общего синтаксиса. На Juniper настройка OSPF производится в контексте protocols ospf, чтобы войти в него, нужно выполнить команду:
после чего консоль покажет контекст, в котором мы находимся:
для того, чтобы объявить интерфейс в OSPF, нужно выполнить следующую команду:
где <AREA_ID> — номер OSPF области,
<INTERFACE_NAME> — имя интерфейса, который мы хотим добавить в OSPF
Если необходимо настроить OSPF-таймеры, делается это следующими командами:
где <HELLO_INTERVAL> — интервал отправки роутером hello-пакетов,
<DEAD_INTERVAL> — интервал, после истечения которого OSPF-соседство разваливается, если в течении <DEAD_INTERVAL> секунд не получено ни одного hello-пакета. Как правило, <DEAD_INTERVAL> равен четырем <HELLO_INTERVAL>
Теперь можно перейти непосредственно к настройке нулевой области:
VR-Device-1:
Здесь у нас в нулевой области находится только R1, зайдем в контекст настройки OSPF, но не в дефолтном контексте, а в контексте routing-instance R1, поскольку OSPF у нас будет настраиваться на виртуальном маршрутизаторе. Входим в контекст OSPF виртуального роутера R1:
добавляем в OSPF loopback интерфейс R1:
добавляем интерфейс ge-0/0/3.12 и сразу настраиваем таймеры:
здесь я разбил это на 3 команды, но можно было все ввести и в одну строку:
при выполнении этой команды роутер автоматически бы добавил интерфейс ge-0/0/3.12 в OSPF-процесс и настроил таймеры. Я же буду стараться разбивать команды на более мелкие для лучшего понимания.
Теперь глянем итоговую настройку OSPF:
Все отлично, сохраняем конфиг и выходим:
Комментарии при коммитах желательно не забывать писать, чтобы через N-ое количество времени не забыть, что было сделано в том или ином коммите (в лабах это делать необязательно, но в реальной жизни настоятельно рекомендуется)
Идем настраивать VR-Device-2 по аналогии с первым:
Заходим в контекст OSPF routing-instance R2:
Объявляем интерфейсы и настраиваем таймеры:
Смотрим на получившийся результат и сохраняем конфиг:
И теперь настраиваем VR-Device-3:
Итак, нулевую область настроили, проверим установившиеся соседства на VR-Device-2 (он находится между двумя другими роутерами, поэтому достаточно будет увидеть, что у R2 есть 2 активных OSPF-соседа):
И снова незадача, Juniper заявляет, что OSPF не активирован. И это вполне логично, поскольку мы запускали OSPF в виртуальных роутерах, дополним нашу команду:
Отлично, на R2 есть 2 активных OSPF-соседа. Также можно глянуть все виртуальные роутеры, заменив в команде R2 на all:
Особо ничего не поменялось, поскольку пока что только у R2 есть OSPF соседи.
Проверим на R1, R2 и R3 маршруты, полученные по протоколу OSPF:
R1:
Здесь мы видим loopback-адреса R2 и R3, а также p2p-сеть 172.20.23.0/30 между R2 и R3. Выполним icmp-запрос до loopback-адресов R2 и R3:
Все прекрасно работает. Аналогичные действия для других роутеров:
Если посмотреть на маршруты, полученные по OSPF на R2, будет видно, что в таблице маршрутизации нет p2p-сетей (172.20.12.0/30 и 172.20.23.0/30). Но если просто посмотреть таблицу маршрутизации R2, то эти сети там будут:
Это связано с тем, что эти сети подключены непосредственно к R2 и имеют более высокий приоритет, чем маршруты, полученные по OSPF.
Отлично, маршруты в таблице маршрутизации есть, связность тоже есть.
Глянем базу данных состояния каналов на R1:
R2:
Как видим, каждое из устройств в нулевой OSPF-области имеет идентичную базу данных состояния каналов (LSDB).
Идем дальше, теперь настроим area 30. На схеме видно, что ей принадлежат роутеры R1, R8 и R9. Настройка аналогична нулевой области, только <AREA_ID> в нашем случае будет 30:
Loopback-интерфейс R1 анонсировать в area 30 нет необходимости, поскольку мы его уже объявили в нулевую область.
Сохраняем настройки и посмотрим LSDB и таблицу маршрутизации на R1:
Отлично, все на месте. Теперь произведем настройку оставшихся областей.
Area 20:
Area 10:
И остается area 40:
Готово. Проведем некоторые проверки, дабы убедиться в корректности настройки
Проверим наличие всех loopback-адресов в таблице маршрутизации рандомного узла:
Префиксы есть. Проверим наличие всех необходимых OSPF-соседств:
Судя по наличию всех ожидаемых соседств, OSPF настроен корректно. Переходим к следующей части — настройка аутентификации
- В OSPF-области 40 настройте md5-аутентификацию, выставив пароль password_one в промежутке времени с 00:00 по 07:00 и пароль password_two — для остального времени суток
- Между R8 и R9 установите пароль типа simple, в качестве пароля используйте слово password
- убедитесь, что соседства установлены, выясните разницу между настроенными типами паролей
Аутентификация настраивается в режиме конфигурации OSPF в контексте интерфейса, на котором будет настраиваться соседство с использованием пароля. Общий вид задания типа аутентификации выглядит так:
где <AUTH_TYPE> — md5 или simple-password. При выборе типа md5 по сети передается не пароль, а его md5-хеш, при simple-password пароль передается по сети в открытом виде.
Настройка md5 в общем виде выглядит так:
где <KEY_ID> — идентификатор ключа (от 0 до 255), <KEY> — сам пароль, после start-time задается время, когда начинает использоваться данный пароль.
Перейдем к настройке пароля в area 40:
Важно указывать разные <KEY_ID>, в противном случае один просто заменит другой. Закоммитим настройки и проверим OSPF-соседей на R3:
Как видно выше, OSPF-соседство между R3 и R6 разрушилось, поскольку на R3 мы настроили аутентификацию, а на R6 нет. Исправим:
Проверим OSPF-соседей на R6:
Как и ожидалось, соседство с R3 восстановилось, но с R10 пропало, поскольку до настройки R10 мы еще не добрались. Попробуем при настройке R10 поменять местами идентификаторы ключей:
Проверим OSPF-соседства на R6:
Соседство между R6 и R10 по-прежнему не установилась. Глянем более детально в OSPF-интерфейсы между этими узлами:
В выводе видно, что все параметры совпадают, кроме Active key ID. Исправим на R10:
Глянем на соседей R10:
Отсюда можно сделать вывод, что важно, чтобы идентификаторы ключей совпадали.
Теперь настроим простой пароль между R8 и R9:
OSPF работает, наличие пароля можем проверить, глянув в OSPF-интерфейс:
На этом первая часть окончена. В течении недели постараюсь оформить и выложить продолжение. Если есть какие-то вопросы/пожелания/предложения — пишите в комментариях.
One thought on “Juniper. Лабораторная работа по OSPF уровня professional. Пошаговое решение. Часть 1.”