Настраиваем OSPF в quagga.

OSPF – протокол динамической маршрутизации для локальных сетей. Динамическая маршрутизация – такая интересная штука, что ее необходимость часто понимаешь только тогда, когда сеть достигла критической величины, и кидаешься ее настраивать когда выхода просто нет, что бы завести дополнительный блок адресов(дополнительную подсеть), необходимо изменить настройки статической маршрутизации в десятке мест. Рассказывать, что лучше раньше чем, ситуация стала критичной, и лучше заранее настроить динамическую маршрутизацию я не буду. Просто покажу на маленьком примере, как настроить ospf.

Пусть у нас есть маленькая сеть, состоящая из трех подсетей, 3 маршрутизаторов и одного выхода в интернет. Из них, одна центральная (backbone) 192.168.0.0/24, сеть объединяющая маршрутизаторы. Сети 192.168.10.0.24 и 192.168.20.0/24 – клиентския сети, взаимную маршрутизацию которых мы и переводим на динамику.
Схема сети такова:

network3

Установим quagga на всех маршрутизаторах:

cd /usr/ports/net/quagga/
make install clean

Перед сборкой появится диалог настройки сборки, для ospf рекомендую не устанавливать дополнительные настройки:

---------------------------------------------------------------------¬
¦                   Options for quagga 0.99.10_3                     ¦
¦ -----------------------------------------------------------------¬ ¦
¦ ¦  [ ] ISISD            Enable experimental ISIS daemon          ¦ ¦
¦ ¦  [ ] PAM              PAM authentication for vtysh             ¦ ¦
¦ ¦  [ ] OSPF_NSSA        NSSA support (RFC1587)                   ¦ ¦
¦ ¦  [ ] OSPF_OPAQUE_LSA  OSPF Opaque-LSA support (RFC2370)        ¦ ¦
¦ ¦  [ ] RTADV            IPv6 Router Advertisements               ¦ ¦
¦ ¦  [ ] SNMP             SNMP support                             ¦ ¦
¦ ¦  [ ] TCPSOCKETS       Use TCP/IP sockets for protocol daemons  ¦ ¦
¦ ¦  [ ] TCPMD5           Use experimental MD5 patch for BGP       ¦ ¦
¦ ¦  [ ] DLMALLOC         Use dlmalloc (makes bgpd much faster)    ¦ ¦
+-L------------------------------------------------------------------+
¦                       [  OK  ]       Cancel                        ¦
L---------------------------------------------------------------------

По окончании установки, приступим к настройке, вообще настроить quagga можно двумя способами создать все файлы настроек или подключиться telnet к консоли quagga, которая эмулирует CLI Cisco и настраивать из коммандной строки(я всегда настраиваю именно через telnet):
1. Сначала скопируем дефалтовые файлы настройки, это мы делаем на всех трех маршрутизаторах.

cp /usr/local/share/examples/quagga/zebra.conf.sample /usr/local/etc/quagga/zebra.conf
cp /usr/local/share/examples/quagga/ospf.conf.sample /usr/local/etc/quagga/ospfd.conf

2. Теперь в /etc/rc.conf включим автозагрузку quagga, это тоже делаем на всех трех маррутизаторах

echo "quagga_enable=YES">>/etc/rc.conf

и запустить quagga

/usr/local/etc/rc.d/quagga start

3.Теперь можно приступать к непосредственной настройке, начнем с первого маршрутизатора Router1:
Подключимся к консоле:

telnet 127.0.0.1 ospfd

Пароль по умолчанию zebra
После того, как мы подключились к консоле вы полняем такую последовательность команд:

enable
configure terminal
router ospf
router-id 192.168.0.1
network 192.168.0.0/24 area 0
neighbor 192.168.0.2
neighbor 192.168.0.3
default-information originate
write memory

Описание команд:
enable – переход в режим администратора
configure terminal – переход в режим настройки
router ospf – указываем, что настраивать будем ospf
Теперь команды непосредственно настройки ospf:
router-id – идентификатор маршрутизатора, должен быть уникальным
network 192.168.0.0/24 area 0 – описывает сеть на основе которой мы строим ospf и указываем area 0 для нашей сети.
neighbor 192.168.0.2 – указываем что у нас в сети есть еще один маршрутизатор, то же мы указываем соотвественно и для третьего маршрутизатора.
default-information originate – указывает, что мы с этого маршрутизатора анонсируем маршрут по умолчанию, то есть дефолт шлюз в интернет.
write memory – сохраняем конфигурационный файл

Теперь переходим ко второму маршрутизатору, здесь последовательность команд будет такая:

enable
configure terminal
router ospf
router-id 192.168.0.2
network 192.168.0.0/24 area 0
neighbor 192.168.0.1
neighbor 192.168.0.3
redistribute connected
write memory

Здесь настройки немного изменились, мы установили router-id 192.168.0.2, указали neighbor 192.168.0.1 и заменили команду default-information originate на redistribute connected.
redistribute connected – эта настройка ospf указывает, что необходимо все сети подключенные к интерфейсам анонсировать по ospf своим партнерам.

Настройки третьего маршрутизатора отличаются от настроек второго, только router-id 192.168.0.3 и neighbor 192.168.0.2 будет вместо neighbor 192.168.0.3.
То есть такая последовательность команд:

enable
configure terminal
router ospf
router-id 192.168.0.3
network 192.168.0.0/24 area 0
neighbor 192.168.0.1
neighbor 192.168.0.2
redistribute connected
write memory

На этом настройка закончена. Выйти из режима настройки можно используя комбинацию клавиш Ctrl+z.
Проверить работоспособность можно в консоли quagga с помощью команд:

show ip ospf neighbor

Эта команда выведет список активных «соседних» маршрутизаторов
И команда:

show ip ospf route

выведет список маршрутов, которые были получены по протоколу ospf.


Источник статьи