Настройка OSPF в Quagga

Настройка OSPF в Quagga

https://t.me/i_odmin

Приведу простой пример настройки OSPF в Quagga, для теста буду использовать Hyper-V c виртуальным коммутатором и виртуальными машинами под управлением Ubuntu Server 18.04.

Если сервер используется как маршрутизатор или для NAT, то разрешим трафику ходить между сетевыми интерфейсами, включим proxy_arp если необходимо и отключим rp_filter:


nano /etc/sysctl.conf

net.ipv4.conf.all.forwarding=1

net.ipv4.conf.all.proxy_arp=1

net.ipv4.conf.default.rp_filter=0

net.ipv4.conf.all.rp_filter=0

sysctl -p


ПЕРВЫЙ СЕРВЕР

Я создал по два сетевых интерфейса на обеих тестовых серверах, первый внешний получает IP адрес по DHCP с интернетом, второй интерфейс внутренний и подключен к виртуальному локальному коммутатору. Назначим вручную IP адрес локальному сетевому интерфейсу:


ip a

cd /etc/netplan/

ls

nano 50-cloud-init.yaml


network:

    ethernets:

      eth0:

        dhcp4: true

      eth1:

       addresses:

        - 192.168.55.1/24

    version: 2


netplan try


Посмотрим текущие маршруты:


ip route

Установим Quagga на всех машинах, инструкцию по установке я оставил в конце статьи.

Пример конфигурации /etc/quagga/zebra.conf на первой машине:

hostname TEST1

password ixnfo.com

enable password ixnfo.com

log file /var/log/quagga/zebra.log

!

line vty

!


Пример /etc/quagga/ospfd.conf на первой машине:


log file /var/log/quagga/ospfd.log

router ospf

!идентификатор маршрутизатора, должен быть уникален для каждого маршрутизатора (получен по DHCP на внешнем интерфейсе)

 ospf router-id 192.168.24.73

 log-adjacency-changes

!Анонсировать маршруты поднятые автоматически

 redistribute kernel

!Анонсировать маршруты до подключенных сетей

 redistribute connected

!Анонсировать статические маршруты

 redistribute static

!Сеть и номер зоны с соседними маршрутизаторами

 network 192.168.24.0/24 area 1

!

!сеть которая будет анонсироваться, на примере 192.168.55.0/24

access-list 20 permit 192.168.55.0 0.0.0.255

access-list 20 deny any

!

line vty

!


ВТОРОЙ СЕРВЕР

network:

    ethernets:

      eth0:

        dhcp4: true

      eth1:

       addresses:

        - 192.168.55.2/24

    version: 2


Пример /etc/quagga/zebra.conf на второй машине:

hostname TEST2

password ixnfo.com

enable password ixnfo.com

log file /var/log/quagga/zebra.log

!

line vty

!


Пример /etc/quagga/ospfd.conf на второй машине:

log file /var/log/quagga/ospfd.log

router ospf

 ospf router-id 192.168.24.78

 log-adjacency-changes

 redistribute kernel

 redistribute connected

 redistribute static

 network 192.168.24.0/24 area 1

!

access-list 20 permit 192.168.55.0 0.0.0.255

access-list 20 deny any

!

line vty

!


Укажем правильного владельца и группу на созданные файлы конфигурации, а также запустим zebra и ospfd:

sudo chown quagga:quagga /etc/quagga/*.conf

mkdir /var/log/quagga/

chown quagga:quagga /var/log/quagga/

sudo service zebra status

sudo service zebra restart

sudo service ospfd status

sudo service ospfd restart


Проверим:

tcpdump -nvi any proto ospf


У меня отобразилось:

tcpdump: listening on any, link-type LINUX_SLL (Linux cooked), capture size 262144 bytes

07:31:26.898583 IP (tos 0xc0, ttl 1, id 4243, offset 0, flags [none], proto OSPF (89), length 68)

    192.168.24.78 > 224.0.0.5: OSPFv2, Hello, length 48

        Router-ID 192.168.24.78, Area 0.0.0.1, Authentication Type: none (0)

        Options [External]

          Hello Timer 10s, Dead Timer 40s, Mask 255.255.255.0, Priority

          Designated Router 192.168.24.73, Backup Designated Router 192.168.24.78

          Neighbor List:

            192.168.24.73

Для теста на втором сервере добавим маршрут и убедимся что маршрут автоматически добавился на первом сервере:

ip route add 192.168.5.3 dev eth1

ip route

route -n


Приведу примеры просмотра списка маршрутов, соседей и прочей информации:

telnet localhost 2601

show ip route

show ip route connected

show ip route static

show ip route kernel

show ip route ospf

show ip route summary

exit

 

vtysh

show ip ospf

show ip ospf neighbor

show ip ospf neighbor detail

show ip ospf interface

show ip ospf border-routers

show ip ospf database

show ip access-list

show ip route

show ip route ospf

exit




Report Page