Топология сети

Рисунок 1. Общая топология сети

Пойдем по-порядку:

Стартовая настройка оборудования в соответствии с приведенной топологией:

  • Определите необходимое количество оборудования для лабораторной работы
  • Определите сетевые интерфейсы для организации подключений между маршрутизаторами, в случае необходимости, используйте VLAN
  • Настройте IP-адресацию между устройствами и удостоверьтесь, что соседи пингуются между собой

Здесь можно пойти топорным способом и наштамповать в лабе 11 маршрутизаторов, но с целью экономии ресурсов на сервере я возьму 3 роутера и на них подниму дополнительные routing-instance, которые и сыграют роль роутеров, но только виртуальных, которые по функционалу в данном случае не будут отличаться от реальных.

Физическая топология будет выглядеть следующим образом:

Рисунок 2. Физическая топология сети

Логически это можно представить так:

Рисунок 3. Топология сети на виртуальных роутерах

Внутри устройств 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.”

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.