Mailing List Archive

Installing Quagga for source code on CentOS 7 – problem with updating routing table
Hi all,



I have problem with configuring Quagga v. 1.2.1 to correctly work on CentOS
7 (kernel version: 3.10.0-514.el7.x86_64) when I install Quagga using
source code. I can successfully build, configure and start Quagga daemons
(for example, zebra and ripd), and also, I can see that RIP daemon is
exchanging message with other RIP daemons in the network, but zebra do not
update FIB in kernel, or in other words, daemon communication does not
affect routing table.



I saw a lot of tutorials for installing and configuring Quagga, but without
source code:



https://linuxacademy.com/community/posts/show/topic/4631-notes-on-quagga-and-centos-7



I follow these steps as much as I could, but didn’t help.



Below are all steps used in building and configuration process:



input: wget
http://download.savannah.gnu.org/releases/quagga/quagga-1.2.1.tar.gz

input:tar xf quagga-1.2.1.tar.gz

input:cd quagga-1.2.1/

input:./configure --enable-user=hasan

input:make

input: sudo make install

input: sudo groupadd quagga

input: sudo usermod -a -G quagga hasan

input: sudo cp /usr/local/etc/zebra.conf.sample /usr/local/etc/zebra.conf

input: sudo cp /usr/local/etc/ripd.conf.sample /usr/local/etc/ripd.conf

input: sudo chown hasan:quagga /usr/local/etc/zebra.conf

input: sudo chown hasan:quagga /usr/local/etc/ripd.conf

input: sudo chmod 777 /var/run/



input: cat /usr/local/etc/ripd.conf

output:



! -*- rip -*-

!

! RIPd sample configuration file

!

! $Id: ripd.conf.sample,v 1.1 2002/12/13 20:15:30 paul Exp $

!

hostname ripd

password zebra

!

! debug rip events

! debug rip packet

!

router rip

network 10.0.0.0/24

network 10.0.1.0/24

! route 10.0.0.0/8

! distribute-list private-only in eth0

!

!access-list private-only permit 10.0.0.0/8

!access-list private-only deny any

!

!log file ripd.log

!

log stdout



input: Router# show running-config



output:

Current configuration:

!

hostname Router

password zebra

enable password zebra

log stdout

!

interface ens33

!

interface ens38

!

interface ens39

!

interface lo

!

interface virbr0

!

interface virbr0-nic

!

ip forwarding

!

!

line vty

!

end



input: cat /etc/sysconfig/network-scripts/ifcfg-ens38



output:

TYPE=Ethernet

BOOTPROTO=none

ONBOOT=yes

NAME=ens38

DEVICE=ens38

PREFIX=24

IPADDR=10.0.0.10



input: cat /etc/sysconfig/network-scripts/ifcfg-ens39

ouput:

TYPE=Ethernet

BOOTPROTO=none

ONBOOT=yes

NAME=ens39

DEVICE=ens39

PREFIX=24

IPADDR=10.0.1.10



input: cat /etc/sysctl.conf

ouput:

# sysctl settings are defined through files in

# /usr/lib/sysctl.d/, /run/sysctl.d/, and /etc/sysctl.d/.

#

# Vendors settings live in /usr/lib/sysctl.d/.

# To override a whole file, create a new file with the same in

# /etc/sysctl.d/ and put new settings there. To override

# only specific settings, add a file with a lexically later

# name in /etc/sysctl.d/ and put new settings there.

#

# For more information, see sysctl.conf(5) and sysctl.d(5).

net.ipv4.ip_forward = 1



input: cat /etc/sysconfig/selinux



# This file controls the state of SELinux on the system.

# SELINUX= can take one of these three values:

# enforcing - SELinux security policy is enforced.

# permissive - SELinux prints warnings instead of enforcing.

# disabled - No SELinux policy is loaded.

SELINUX=disabled

# SELINUXTYPE= can take one of three two values:

# targeted - Targeted processes are protected,

# minimum - Modification of targeted policy. Only selected processes
are protected.

# mls - Multi Level Security protection.
SELINUXTYPE=targeted