Молодогвардейцев 454015 Россия, Челябинская область, город Челябинск 89085842764
MindHalls logo

Установка и настройка Quagga

Всем привет! Я очень мало интересуюсь темой сетевого взаимодействия. Меня не прет от проектирования и построения различных сетей, но совсем недавно пришлось второй раз в жизни устанавливать себе на Linux программу Quagga. И снова я гуглил, много. Поэтому решил раз и навсегда закрепить инструкцию в быстром доступе. А учитывая то, что в интернете я не нашел ни одного мануала на русском языке, эта статья рискует стать кому нибудь полезной. Итак, для начала поймем, кто такая Quagga, и для чего она нужна, поехали!

Что такое Quagga

Это такой пакет программ, который позволяет компьютеру поддерживать протоколы динамической маршрутизации. К сожалению, а может быть и к счастью, quagga может быть установлена только на UNIX-подобные операционные системы. Грубо говоря — машина с настроенной quagga может играть роль маршрутизатора в сети.

Поддерживаемые протоколы: Static, OSPF, BGP, RIP.

Лично мне эта программа дважды понадобилась на лабораторных работах по сетям. У нас есть три маршрутизатора Cisco, а когда нужно четыре и больше, спасают линукс и квага. В общем, полезная это штука. Давайте перейдем к настройке.

Установка и настройка Quagga

sudo apt-get install quagga

Неожиданно, правда? Настройка поинтереснее, но тоже ничего сложного.

Шаг первый

Для начала нужно определиться, какие протоколы маршрутизации нужны, и включить соответствующие демоны. Включаются они в файле /etc/quagga/daemons. Открываем его от имени суперпользователя.

sudo nano /etc/quagga/daemons

И пишем туда такие настройки.

Слева от знака равно название демона, справа его статус. В данном примере мы включили статическую маршрутизацию и OSPF, статика называется zebra в честь программы-предшественника.

Чтобы изменения вступили в силу следует перезапустить quagga командой.

sudo /etc/init.d/quagga restart

Все, теперь наши демоны висят в памяти, и наша железка поддерживает протокол OSPF. Чтобы убедиться в этом, можно поискать в списке процессов вхождения «quagga».

ps -ef | grep quagga

Шаг второй

Демоны запущены, но не настроены, и сейчас мы это исправим. Конфигурационные файлы находятся в каталоге /etc/quagga/ и имеют расширение .conf. На каждого демона приходится один одноименный файл. Самый простой вариант — это скопировать начальную конфигурацию из примеров. Примеры конфигурации находятся в /usr/share/doc/quagga/examples/. Копируем файлы, которые нам нужны командой.

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

И так для каждого демона.

И последний момент настройки, нам нужно сделать квагу владельцем своих файлов, чтобы она могла спокойно ими распоряжаться. Сделать это можно двумя простыми командами.

chown quagga.quaggavty /etc/quagga/*.conf
chmod 640 /etc/quagga/*.conf

Не забываем перезапустить квагу.

etc/init.d/quagga restart

Шаг третий

Настройка завершена, осталось научиться подключаться к демонам кваги, чтобы попасть в терминал нашего «роутера». Для этого используется протокол telnet, подключаться будем к локалхосту, а за выбор демона отвечает порт.

Например, команда для того, чтобы подключиться к демону OSPF и настроить протокол.

telnet 127.0.0.1 2604

Внимание! Подключение происходит по локальному адресу, поэтому для соединения с демоном OSPFv3 следует пользоваться командой.

telnet ::1 2606

Пароль в начальной конфигурации: zebra. Мы попали в консоль, практические ничем не отличающуюся от консоли обычного роутера.

Как сохранить настройку

Чуть не забыл самое важное! Для того, чтобы сохранить текущую настройку, необходимо в режиме enable прописать команду write, и демон нам сообщит о том, что сохранил свою конфигурацию в файл. Слава богу, всегда есть способ вернуться к начальной конфигурации, скопировав ее из /usr/share/doc/quagga/examples/.

Заключение

Сети это весело, но я не фанат. Все время забываю, как настраивать протоколы, и как они работают. Поэтому писать про них даже не буду, не думаю, что свяжу свою жизнь с ними. Хотя как знать…

А на сегодня, пожалуй, хватит, спасибо за внимание!