Дек 14 2008

Настраиваем 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)    │ │
├─└────────────────────────────────────────────────────────────────┘─┤
│                       [  OK  ]       Cancel                        │
└────────────────────────────────────────────────────────────────────┘

По окончании установки, приступим к настройке, вообще настроить 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.

Добавить в закладки:

google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru
  • By allo, 07.03.2010 @ 11:57

    Спасибо! Действительно пригодилось.
    Респект тебе и Уважуха!
    Для предотвращения доступа на открытые демонами порты
    имеет смысл добавить в настройки демонов, в конце конфигов,
    доступ только с локалхоста

    !
    access-list localhost-in-only permit 127.0.0.1/32
    !
    line vty
    access-class localhost-in-only
    !

  • By egor, 31.05.2010 @ 16:34

    Спасибо большое. Поднял первую сессию. Добавлю что из режима конфигурирования можно выходить командой exit. Пойду искать как поменять дефолтный пароль

Other Links to this Post


Украинская Баннерная Сеть