# 8) OSPF

![Схема сети](https://1953625668-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MFMJhMiVjTLWfbfC-S4%2F-MSUzjnq5yaYgAHlUCnw%2F-MSV8NpznVtYvnLm0-jo%2Fschema.png?alt=media\&token=d267f78b-35a9-4ed4-aa55-2e83335ee894)

## Пример настройки OSPF на RT.MSK.M9

{% code title="RT.MSK.M9" %}

```
# edit protocols ospf
# set area 1 interface ae0.0 hello-interval 2 dead-interval 10 interface-type p2p
# set area 1 interface ae1.0 hello-interval 2 dead-interval 10 interface-type p2p
# set area 0 interface ae2.0 hello-interval 2 dead-interval 10 interface-type p2p
# set area 0 interface ae3.0 hello-interval 2 dead-interval 10 interface-type p2p
# set area 1 interface lo0.0 passive
# set reference-bandwidth 1g
```

{% endcode %}

В данном примере RT.MSK.M9 является пограничным маршрутизатором между зонами 0 и 1 (Area Border Router, ABR). Во 2 - 5 строках мы указываем интерфейсы с которых необходимо анонсировать сети и устанавливать соседство. Для более быстрого обнаружения падения линков мы ставим период пересылки Hello-пакетов (hello-interval) 2 секунды (Стандартно 10) и период при котором отсутствие получения Hello-пакетов на интерфейсе будет означать, что маршрут не доступен 10 секунд (dead-interval по умолчанию равен 40). Аргумент interface-type p2p позволяет пропустить лишние шаги (в нашем случае) по выбору DR и BDR, так как в текущей сети единственный тип соединения - точка-точка. В пункте 7 мы указываем пропускную способность наших линков (OSPF делает рассчёт метрики разделяя reference-bandwidth на пропускную способность линка). Если оставить reference-bandwidth по-умолчанию, то выйдет так, что стоимость прохождения по GigabitEthernet и FastEthernet будет равна.

В пункте 6 мы также анонсируем адрес Loopback интерфейса. Так как за Loopback-интерфейсом ничего нет, то и смысла устанавливать соседство на нём нет, поэтому добавляем к команде аргумент "passive", который позволет отключить передачу OSPF-трафика через этот интерфейс.

Итог правильной настройки (трассировка маршрута до Loopback адреса с RT.VVK.NOV до RT.MSK.M34):

![](https://1953625668-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MFMJhMiVjTLWfbfC-S4%2F-MSZwmF5vyAFNkKVD_Hx%2F-MS_02io2_PaeOiDzHpn%2F%D0%B8%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5.png?alt=media\&token=314ef9ca-fa16-4b90-a77b-070faaa67dda)

Теперь можно посмотреть как выглядит таблица маршрутов на RT.VVK.NOV:

![](https://1953625668-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MFMJhMiVjTLWfbfC-S4%2F-MS_08o9hy0iZH6xc11h%2F-MS_UQDNrQR1QqmF7Q1p%2F%D0%B8%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5.png?alt=media\&token=eae67edb-62d4-4805-909c-61e015f9b853)

Тут мы видим, что Intra - это маршруты внутри области, а Inter - маршруты за её пределами. Также видно тип маршрута. Area BR - путь к роутеру на границе областей (Его RID), Router - путь роутера внутри области (Опять же его RID) и Network - путь до определённой сети. Более подробная информация [тут](https://www.juniper.net/documentation/en_US/junos/topics/reference/command-summary/show-ospf-ospf3-route.html).

У каждой AS должен быть выход в интернет, поэтому нам необходимо добавить маршрут по умолчанию и распространить его по OSPF. Добавим адрес на интерфейс RT.SPB.MIR и передадим его остальным маршрутизаторам как default route:

{% code title="RT.SPB.MIR" %}

```
# set interfaces ge-0/0/8 unit 0 family inet address 192.168.88.100/24
# set routing-options static route 0.0.0.0/0 next-hop 192.168.88.88 active
# edit policy-options policy-statement DEFAULT_GATEWAY
# set from protocol static
# set from route-filter exact 0.0.0.0/0
# set then accept
# top
# set protocols ospf export DEFAULT_GATEWAY
```

{% endcode %}

Теперь видно, что в таблице появился Area/AS BR и маршрут Ext2:

![](https://1953625668-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MFMJhMiVjTLWfbfC-S4%2F-MSaGrUHBtmT1E2IFyH9%2F-MSaI4bMdXkC3Dw7l7hj%2F%D0%B8%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5.png?alt=media\&token=0a40199e-8375-4b96-93cb-63a7d6f89065)
