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

Приведу простой пример настройки 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 1
          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

Смотрите также мои статьи:
Настройка Netplan
Настройка OSPF в BIRD
Установка Quagga в Ubuntu Server 18
Настройка маскарадинга (NAT) в Ubuntu
Настройка сети в Linux

Оставьте комментарий

Добавить комментарий