<spoiler title="Схема сети (открывайте картинку в новом окне)">

<img src="https://habrastorage.org/files/346/d03/a99/346d03a991584bbab5c0fdba8d6e03bc.png"/>

</spoiler>



Разобьем нашу лабораторную работу на следующие пункты:

1. Настройка BGP между R1,R2,R3

2. Настройка OSPF между R2,R4,R5,R6



<h1> I. Настройка BGP </h1>



<b>Немножко wikipedia:</b>

<b>BGP</b> (англ. Border Gateway Protocol, протокол граничного шлюза) — динамический протокол маршрутизации. Относится к классу протоколов маршрутизации внешнего шлюза.

Основные реализации (клиенты): Cisco IOS, Juniper JunOS, Bird, OpenBGPD, Quagga, Huawei VRP, Mikrotik RouterOS.



Вот тут как раз отступление. Поскольку мы нищеброды - настраивать мы будем не на cisco\juniper\..., а используем софтовые решения: quagga, bird.



На текущий момент BGP является основным протоколом динамической маршрутизации в сети Интернет. Протокол BGP предназначен для обмена информацией о достижимости подсетей между автономными системами (АС, англ. AS — autonomous system), то есть группами маршрутизаторов под единым техническим и административным управлением, использующими протокол внутридоменной маршрутизации для определения маршрутов внутри себя и протокол междоменной маршрутизации для определения маршрутов доставки пакетов в другие АС. Передаваемая информация включает в себя список АС, к которым имеется доступ через данную систему. Выбор наилучших маршрутов осуществляется исходя из правил, принятых в сети.



BGP поддерживает бесклассовую адресацию и использует суммирование маршрутов для уменьшения таблиц маршрутизации. С 1994 года действует четвёртая версия протокола, все предыдущие версии являются устаревшими. BGP, наряду с DNS, является одним из главных механизмов, обеспечивающих функционирование Интернета.



Начнем с установки нужного ПО, настроим R1:

<source lang="bash">apt install quagga</source>

Что умеет делать quagga? согласно документации вот список ее демонов:



<code>zebra: Interface declaration and static routing

bgpd: BGP routing protocol

ospfd: OSPF routing protocol

ospf6d: OSPF IPv6 routing protocol

ripd: RIP v2 routing protocol

ripngd: RIP Ipv6 routing protocol </code>



Одна из интересных особенностей - она может быть настроена через "vtysh" с cisco-like синтаксисом. Соответственно это очень удобно наличием тонн документации и примеров не только по самому демону, но и от монстра сетевой промышленности - cisco.



После установки нужно скопировать шаблоны конфигов в нужную директорию:

<source lang="bash">cp /usr/share/doc/quagga/examples/bgpd.conf.sample /etc/quagga/bgpd.conf

cp /usr/share/doc/quagga/examples/zebra.conf.sample /etc/quagga/zebra.conf

cp /usr/share/doc/quagga/examples/vtysh.conf.sample /etc/quagga/vtysh.conf</source>