OSPF – протокол динамической маршрутизации для локальных сетей. Динамическая маршрутизация – такая интересная штука, что ее необходимость часто понимаешь только тогда, когда сеть достигла критической величины, и кидаешься ее настраивать когда выхода просто нет, что бы завести дополнительный блок адресов(дополнительную подсеть), необходимо изменить настройки статической маршрутизации в десятке мест. Рассказывать, что лучше раньше чем, ситуация стала критичной, и лучше заранее настроить динамическую маршрутизацию я не буду. Просто покажу на маленьком примере, как настроить ospf.
Пусть у нас есть маленькая сеть, состоящая из трех подсетей, 3 маршрутизаторов и одного выхода в интернет. Из них, одна центральная (backbone) 192.168.0.0/24, сеть объединяющая маршрутизаторы. Сети 192.168.10.0.24 и 192.168.20.0/24 – клиентския сети, взаимную маршрутизацию которых мы и переводим на динамику.
Схема сети такова:
Установим 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.
Источник статьи