HOW TO INSTALL QUAGGA ON ORACLE LINUX 8 FROM SOURCE CODE
ROUTER FOR LINUX - QUAGGA
First some background... Quagga is an add on to the original Zebra router developed many moons ago. Quagga supports many dynamic routing protocols, and a number of vendors who make mods to the base. In general on some linux distributions (Debian, Ubuntu, Centos7) it is supported by simply typing apt-get install quagga with a base directory configuration of /etc/quagga/ but if compiling from source it would default to /usr/local/etc/quagga.... if you dont add the switches below.
QUAGGA IS COMPATIBLE AND INTEROPERATES WITH CISCO, ADTRAN, AND JUNIPER BGP STACKS WHICH IS VERY IMPORTANT. IT MAKES EVERY HOST A ROUTER FOR FREE AND USUALLY INSIDE 100MB OF RAM...VERSUS CISCO CSR's WHICH REQUIRE 2GB OF MEMORY AND 4 CORES. BUT ONLY FOR BASIC SERVICES AND ROUTING PROTOCOLS, CISCO AND JUNIPER SUPPORT 10S OF THOUSANDS OF FEATURES WHICH QUAGGA DOESNT. BUT IF YOU NEED TO ROUTE A SINGLE PREFIX OR TWO ITS A VERY GOOD CHOICE. WE WOULD CALL IT A BIT BEYOND EXPERIMENTAL AND IS NOW IN MAINLINE UNIX DISTRIBUTIONS LIKE UBUNTU MEANING THEY SUPPORT IT NOW.
Quagga to start can be started by typing the commands in Step 7 below. Again on some distributions the daemon file includes all of the subservices and you simply type service start quagga and everything loads. But on Debian Linux you have to load each process seperately (systemctl enable zebra, systemctl enable bgpd, systemctl enable ospfd, etc)....then service start bgpd, service start zebra, etc...
But on Oracle Linux 8 none of this works... the Oracle Linux 8 repos do not include Quagga or Zebra and it must be added from source. Furthermore the SNAP install doesnt work on Oracle 8 as it compiles libraries to non-working directories. Thus Quagga source.
BEFORE YOU START - YOU NEED TO BE A SYSADMIN TO RUN THIS SCRIPT
/etc/sudoers must include your username or you have to be logged in as root user.
STEP1 - DOWNLOAD SOURCE
mkdir /opt/quagga
cd /opt/quagga
dnf install git
git clone https://github.com/Quagga/quagga.git /opt/quagga
cd /opt/quagga
STEP2 - MAKE SURE AUTOMAKE IS INSTALLED AND PREQS
sudo dnf install automake cmake gcc
sudo dnf install readline-devel
sudo dnf install c-ares-devel
sudo dnf install texinfo
sudo dnf install groff
sudo dnf install pam-devel
sudo dnf intall libcap-devel
STEP3 - DOWNLOAD REQUIRED FILES FROM GITHUB
WELL YOU CAN USE OUR STEPS BELOW... BUT WE RECOMMEND FOLLOWING THESE
git clone https://github.com/Quagga/quagga.git
next download the gz from the github site as follows
The instructions for building the source are
in quagga/redhat/README.rpm_build.md
****STEP3 ALT - COMPILE (OUR STEPS ARE MUCH LESS COMPLICATED BUT HAVE SOME CHALLENGES)
***./bootstrap.sh ***** (Runs automake (creates configure))
****./configure **** from /opt/quagga
****OR MORE SPECIFIC OPTIONS
*****./configure --prefix=prefix --sysconfdir=/etc/quagga --localstatedir=dir OR ALTERNATIVE PATH0
*****make
*****make install
****SEE REFERENCE HERE
****Quagga (http://www.quagga.net): The Configure script and its options
STEP4 CREATE BASELINE FILES FOR VTYSH
#####pico /etc/quagga/daemons
pico /etc/quaggq/zebra.conf
STEP 5 - CREATE DYNAMIC ROUTING CONFIG FILES AS NECESSARY
pico /etc/quagga/bgpd.conf
pico /etc/quagga/isis.conf
pico /etc/quagga/ripd.conf
STEP6 - INSTALL RPMS
go to /opt/quagga/rpmbuild/RPMS directory
sudo rpm -ivh *.rpm
STEP7 - ENABLE AND START SERVICES
systemctl enable zebra
//PICK ONE OR MORE DYNAMIC ROUTING PROTOCOLS IF YOU DONT KNOW PICK RIPD WHICH IS SUPPORT ON NEARLY EVERY ROUTER IN THE UNIVERSE
systemctl enable bgpd
systemctl enable isisd
systemctl enable ripd ** THIS WILL WORK EVEN WITH CHEAP HOME ROUTERS.
systemctl enable ospfd
service start quagga (will start any service enabled in daemons file)
SAMPLE DAEMONS FILE
/usr/local/etc/quagga/daemons or /etc/quagga/daemons
zebra=yes
bgpd=no
ospfd=yes
ospf6d=no
ripd=no
ripngd=no
Comments
Post a Comment