https://github.com/FRRouting/frr/wiki/Building-FRR-on-Ubuntu-1404
Install Required Packages
ADD Packages:
Apt-get install git autoconf automake libtool make gawk libreadline-dev texinfo dejagnu pkg-config libpam0g-dev libjso N-c-dev Bison Flex python-pytest Libc-ares-dev Python3-dev
ADD FRR groups and user
sudo groupadd-g frrsudo groupadd-r-G frrvtysudo adduser--system--ingroup frr--home/var/run/frr/ --gecos " FRR Suite "--shell/sbin/nologin Frrsudo usermod-a-G frrvty FRR
Download Source, configure and compile it
Prefer different options on configure statement. These is just an example.)
git clone https://github.com/frrouting/frr.git frrcd frr./bootstrap.sh./configure --prefix=/usr -- enable-exampledir=/usr/share/doc/frr/examples/ --LOCALSTATEDIR=/VAR/RUN/FRR --SBINDIR=/USR/LIB/FRR --sysconfdir=/etc/frr --enable-pimd --enable-watchfrr --enable-ospfclient=yes -- Enable-ospfapi=yes --enable-multipath=64 --enable-user=frr --enable-group=frr -- Enable-vty-group=frrvty --enable-configfile-mask=0640 --enable-logfile-mask=0640 --enable-rtadv --enable-fpm --enable-ldpd --with-pkg-git-version --with-pkg-extra-version=- Myownfrrversionmakemake Checksudo make Install
[Email protected]:~/share/frr$ autoreconf-i
. Ibtoolize:error:AC_CONFIG_MACRO_DIRS ([M4]) conflicts with Aclocal_amflags=-i M4
Autoreconf:libtoolize failed with exit Status:1
In the root directory of the project, add the following. gitattributes file to
*.sh -CRLF*.ac -CRLF*.am -crlf
Create Empty FRR configuration files
sudo install-m 755-o frr-g frr-d/var/log/frrsudo install-m 775-o frr-g frrvty-d/etc/frrsudo install-m 640-o fr R-g frr/dev/null/etc/frr/zebra.confsudo install-m 640-o frr-g frr/dev/null/etc/frr/bgpd.confsudo install-m 640-o Frr-g frr/dev/null/etc/frr/ospfd.confsudo install-m 640-o frr-g frr/dev/null/etc/frr/ospf6d.confsudo install-m 6 40-o frr-g frr/dev/null/etc/frr/isisd.confsudo install-m 640-o frr-g Frr/dev/null/etc/frr/ripd.confsudo Install- M 640-o frr-g frr/dev/null/etc/frr/ripngd.confsudo install-m 640-o frr-g frr/dev/null/etc/frr/pimd.confsudo Insta Ll-m 640-o frr-g frr/dev/null/etc/frr/ldpd.confsudo install-m 640-o frr-g Frr/dev/null/etc/frr/nhrpd.confsudo in Stall-m 640-o frr-g frrvty/dev/null/etc/frr/vtysh.conf
Nable IP & IPV6 Forwarding
Edit and /etc/sysctl.conf
uncomment the following values (ignore the other settings)
# Uncomment the next line to enable packet forwarding for ipv4net.ipv4.ip_forward=1# uncomment the next line to enable PAC Ket forwarding for ipv6# Enabling this option disables stateless Address autoconfiguration# based on Router advert Isements for this hostnet.ipv6.conf.all.forwarding=1
Reboot or use to sysctl -p
apply the same config to the running system # # Install the INIT.D service
sudo install-m 755 tools/frr/etc/init.d/frrsudo install-m 644 Tools/etc/frr/daemons/etc/frr/daemonssudo install-m 644 Tools/etc/frr/daemons.conf/etc/frr/daemons.confsudo install-m 644-o frr-g frr tools/etc/frr/vtysh.conf/etc/frr/vtys H.conf
Enable Daemonsedit
/etc/frr/daemons
The value from ' no ' to ' yes ' for those daemons your want to ' start by SYSTEMD. For example.
Zebra=yesbgpd=yesospfd=yesospf6d=yesripd=yesripngd=yesisisd=yes
Start the INIT.D service
- SUDO/ETC/INIT.D/FRR start
- Use to check the its
/etc/init.d/frr status
status.
Vtysh
[Email protected]:~$ sudo vtysh[sudo] password forDerek:hello, This isFrrouting (version3.1-dev-myownfrrversion-gff9eb72). Copyright1996-2005Kunihiro Ishiguro, et al. this isA git build of frr-3.1-dev-699-g4ff9eb72associated Branch (es): Local:master GitHub/frrouting/frr.git/masterkbox# Show Versionfrrouting3.1-dev-myownfrrversion-gff9eb72 (Kbox). Copyright1996-2005Kunihiro Ishiguro, et al. this isA git build of frr-3.1-dev-699-g4ff9eb72associated Branch (es): Local:master GitHub/frrouting/frr.git/masterconfigured with:'--prefix=/usr' '--enable-exampledir=/usr/share/doc/frr/examples/' '--LOCALSTATEDIR=/VAR/RUN/FRR' '--SBINDIR=/USR/LIB/FRR' ...
Build FRR on Ubuntu