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
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