Настройка динамической маршрутизации при помощи Quagga

Динамическая маршрутизация настраивается при помощи пакета Quagga из консоли ОС (linux bash).

1.    Примените патч (подходит для всех классов СКЗИ), подготавливающий Quagga к работе. Патч можно скачать по ссылке https://cloud.s-terra.com/index.php/s/g5rq36mMq6miZs6.

1.1.     Перенесите архив quagga_preparation.tar в /root и распакуйте его:

root@GW1:~# tar -xvf quagga_preparation.tar

1.2.     Перейдите в директорию quagga_preparation:

root@GW1:~# cd quagga_preparation/

1.3.     Выполните сначала скрипт preparation.bash, а потом install.bash:

root@GW1:~/quagga_preparation# ./preparation.bash

INFO: Backup "/etc/quagga/daemons" successfully completed!

INFO: log files successfully created!

INFO: "/etc/quagga/zebra.conf" successfully created!

INFO: "/etc/quagga/ospfd.conf" successfully created!

INFO: "/etc/quagga/bgpd.conf" successfully created!

INFO: "/etc/quagga/ripd.conf" successfully created!

INFO: "/etc/quagga/zebra.conf" successfully configured!

INFO: "/etc/quagga/ospfd.conf" successfully configured!

INFO: "/etc/quagga/bgpd.conf" successfully configured!

INFO: "/etc/quagga/ripd.conf" successfully configured!

Starting periodic command scheduler: cron.

update-rc.d: using dependency based boot sequencing

Stopping Quagga monitor daemon: (watchquagga).

Stopping Quagga daemons (prio:0): (bgpd) (ripd) (ospfd) (zebra) (ripngd) (ospf6d) (isisd).

Removing all routes made by zebra.

Loading capability module if not yet done.

Starting Quagga daemons (prio:10): zebra bgpd ripd ospfd.

Starting Quagga monitor daemon: watchquagga.

root@GW1:~/quagga_preparation# ./install.bash

Creating backup for old "/etc/init.d/quagga" file... "/etc/init.d/quagga.old".

Creating backup for old "/etc/quagga/debian.conf" file... "/etc/quagga/debian.conf.old".

patching file /etc/init.d/quagga

patching file /etc/quagga/debian.conf

INFO: Patch is successfully applied!

2.    Отредактируйте файл /etc/quagga/ripd.conf следующим образом:

root@GW1:~# vi /etc/quagga/ripd.conf

hostname GW1

password csp

log file /var/log/quagga/rip.log debugging

!

router rip

version 2

redistribute kernel

network eth0

distribute-list acl-in in

distribute-list acl-out out

!

access-list acl-in deny any

access-list acl-out permit 192.168.2.0/24

access-list acl-out deny any

line vty

·         Параметр network определяет в какой сегмент сети будут отправляться RIP-пакеты.

·         Параметры distribute-list acl-in in и distribute-list acl-out out определяют фильтрацию на входящие и исходящие RIP-оповещения.

Важно! Шлюз не должен получать маршруты от других устройств, единственной задачей RIP является передача маршрутов об удаленной подсети маршрутизатору Router1.

Также для настройки Quagga можно воспользоваться командой vtysh:

rootGW1:~# vtysh

Hello, this is Quagga (version 1.0.20160315).

Copyright 1996-2005 Kunihiro Ishiguro, et al.

GW1# terminal length 0

GW1# show ip rip

3.    Перезапустите Quagga:

root@GW1:~# service quagga restart

Stopping Quagga monitor daemon: watchquagga.

Stopping Quagga daemons (prio:0): bgpd ripd ospfd zebra (ripngd) (ospf6d) (isisd).

Removing all routes made by zebra.

Loading capability module if not yet done.

Starting Quagga daemons (prio:10): zebra bgpd ripd ospfd.

Starting Quagga monitor daemon: watchquagga.

4.    Чтобы при перезагрузке демон стартовал автоматически, выполните команду:

root@GW1:~# update-rc.d quagga enable

update-rc.d: using dependency based boot sequencing

В приложении представлен текст ripd.conf для шлюза GW1.