2017-12-08 17:47:49 +01:00
|
|
|
Fedora 24
|
2019-03-22 17:19:22 +01:00
|
|
|
=========
|
2017-02-16 10:40:09 +01:00
|
|
|
|
2019-03-21 22:08:52 +01:00
|
|
|
This document describes installation from source. If you want to build an RPM,
|
|
|
|
see :ref:`packaging-redhat`.
|
2017-07-12 03:30:04 +02:00
|
|
|
|
2019-03-22 17:19:22 +01:00
|
|
|
Installing Dependencies
|
|
|
|
-----------------------
|
2017-02-16 10:40:09 +01:00
|
|
|
|
2019-03-22 17:19:22 +01:00
|
|
|
.. code-block:: console
|
2017-12-08 17:47:49 +01:00
|
|
|
|
2019-03-22 17:19:22 +01:00
|
|
|
sudo dnf install git autoconf automake libtool make gawk \
|
|
|
|
readline-devel texinfo net-snmp-devel groff pkgconfig json-c-devel \
|
|
|
|
pam-devel pytest bison flex c-ares-devel python3-devel python3-sphinx
|
2017-02-16 10:40:09 +01:00
|
|
|
|
2018-10-16 03:00:12 +02:00
|
|
|
.. include:: building-libyang.rst
|
|
|
|
|
2019-03-22 17:19:22 +01:00
|
|
|
Building & Installing FRR
|
|
|
|
-------------------------
|
2017-02-16 10:40:09 +01:00
|
|
|
|
2019-03-22 17:19:22 +01:00
|
|
|
Compilation
|
|
|
|
^^^^^^^^^^^
|
|
|
|
|
|
|
|
Clone the FRR git repo and use the included ``configure`` script to configure
|
|
|
|
FRR's build time options to your liking. The full option listing can be
|
|
|
|
obtained by running ``./configure -h``. The options shown below are examples.
|
|
|
|
|
|
|
|
.. code-block:: console
|
|
|
|
|
|
|
|
git clone https://github.com/frrouting/frr.git frr
|
|
|
|
cd frr
|
|
|
|
./bootstrap.sh
|
|
|
|
./configure \
|
|
|
|
--bindir=/usr/bin \
|
|
|
|
--sbindir=/usr/lib/frr \
|
|
|
|
--sysconfdir=/etc/frr \
|
|
|
|
--libdir=/usr/lib/frr \
|
|
|
|
--libexecdir=/usr/lib/frr \
|
|
|
|
--localstatedir=/var/run/frr \
|
|
|
|
--with-moduledir=/usr/lib/frr/modules \
|
|
|
|
--enable-snmp=agentx \
|
|
|
|
--enable-multipath=64 \
|
|
|
|
--enable-user=frr \
|
|
|
|
--enable-group=frr \
|
|
|
|
--enable-vty-group=frrvty \
|
|
|
|
--disable-exampledir \
|
|
|
|
--enable-fpm \
|
|
|
|
--with-pkg-git-version \
|
|
|
|
--with-pkg-extra-version=-MyOwnFRRVersion
|
|
|
|
make
|
|
|
|
sudo make install
|
|
|
|
|
|
|
|
Add FRR groups and user
|
2018-04-09 19:10:20 +02:00
|
|
|
^^^^^^^^^^^^^^^^^^^^^^^
|
2017-12-08 17:47:49 +01:00
|
|
|
|
2019-03-22 17:19:22 +01:00
|
|
|
.. code-block:: console
|
|
|
|
|
|
|
|
sudo groupadd -g 92 frr
|
|
|
|
sudo groupadd -r -g 85 frrvty
|
|
|
|
sudo useradd -u 92 -g 92 -M -r -G frrvty -s /sbin/nologin \
|
|
|
|
-c "FRR FRRouting suite" -d /var/run/frr frr
|
|
|
|
|
2017-02-16 10:40:09 +01:00
|
|
|
|
2017-12-08 17:47:49 +01:00
|
|
|
Create empty FRR configuration files
|
2018-04-09 19:10:20 +02:00
|
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
2017-12-08 17:47:49 +01:00
|
|
|
|
2019-03-22 17:19:22 +01:00
|
|
|
.. code-block:: console
|
|
|
|
|
|
|
|
sudo mkdir /var/log/frr
|
|
|
|
sudo mkdir /etc/frr
|
|
|
|
sudo touch /etc/frr/zebra.conf
|
|
|
|
sudo touch /etc/frr/bgpd.conf
|
|
|
|
sudo touch /etc/frr/ospfd.conf
|
|
|
|
sudo touch /etc/frr/ospf6d.conf
|
|
|
|
sudo touch /etc/frr/isisd.conf
|
|
|
|
sudo touch /etc/frr/ripd.conf
|
|
|
|
sudo touch /etc/frr/ripngd.conf
|
|
|
|
sudo touch /etc/frr/pimd.conf
|
|
|
|
sudo touch /etc/frr/ldpd.conf
|
|
|
|
sudo touch /etc/frr/nhrpd.conf
|
|
|
|
sudo touch /etc/frr/eigrpd.conf
|
|
|
|
sudo touch /etc/frr/babeld.conf
|
|
|
|
sudo chown -R frr:frr /etc/frr/
|
|
|
|
sudo touch /etc/frr/vtysh.conf
|
|
|
|
sudo chown frr:frrvty /etc/frr/vtysh.conf
|
|
|
|
sudo chmod 640 /etc/frr/*.conf
|
2017-02-16 10:40:09 +01:00
|
|
|
|
2017-12-08 17:47:49 +01:00
|
|
|
Install daemon config file
|
2018-04-09 19:10:20 +02:00
|
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
2017-12-08 17:47:49 +01:00
|
|
|
|
2019-03-22 17:19:22 +01:00
|
|
|
.. code-block:: console
|
2017-12-08 17:47:49 +01:00
|
|
|
|
2019-03-22 17:19:22 +01:00
|
|
|
sudo install -p -m 644 redhat/daemons /etc/frr/
|
|
|
|
sudo chown frr:frr /etc/frr/daemons
|
2017-07-12 03:30:04 +02:00
|
|
|
|
2019-03-22 17:19:22 +01:00
|
|
|
Edit /etc/frr/daemons
|
|
|
|
^^^^^^^^^^^^^^^^^^^^^
|
2017-07-12 03:30:04 +02:00
|
|
|
|
2017-12-08 17:47:49 +01:00
|
|
|
Look for the section with ``watchfrr_enable=...`` and ``zebra=...`` etc.
|
2019-03-22 17:19:22 +01:00
|
|
|
Enable the daemons as required by changing the value to ``yes``.
|
2017-07-12 03:30:04 +02:00
|
|
|
|
2017-12-08 17:47:49 +01:00
|
|
|
Enable IP & IPv6 forwarding (and MPLS)
|
2018-04-09 19:10:20 +02:00
|
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
2017-02-16 10:40:09 +01:00
|
|
|
|
2019-03-22 17:19:22 +01:00
|
|
|
Create a new file ``/etc/sysctl.d/90-routing-sysctl.conf`` with the following
|
|
|
|
content (please make sure to list all interfaces with required MPLS similar to
|
|
|
|
``net.mpls.conf.eth0.input=1``):
|
2017-12-08 17:47:49 +01:00
|
|
|
|
2019-03-22 17:19:22 +01:00
|
|
|
.. code-block:: console
|
2017-02-16 10:40:09 +01:00
|
|
|
|
2019-03-22 17:19:22 +01:00
|
|
|
# Sysctl for routing
|
|
|
|
#
|
|
|
|
# Routing: We need to forward packets
|
|
|
|
net.ipv4.conf.all.forwarding=1
|
|
|
|
net.ipv6.conf.all.forwarding=1
|
|
|
|
#
|
|
|
|
# Enable MPLS Label processing on all interfaces
|
|
|
|
net.mpls.conf.eth0.input=1
|
|
|
|
net.mpls.conf.eth1.input=1
|
|
|
|
net.mpls.conf.eth2.input=1
|
|
|
|
net.mpls.platform_labels=100000
|
2017-02-16 10:40:09 +01:00
|
|
|
|
2019-03-20 20:08:33 +01:00
|
|
|
Load the modified sysctl's on the system:
|
2017-07-12 03:30:04 +02:00
|
|
|
|
2019-03-22 17:19:22 +01:00
|
|
|
.. code-block:: console
|
2017-12-08 17:47:49 +01:00
|
|
|
|
2019-03-22 17:19:22 +01:00
|
|
|
sudo sysctl -p /etc/sysctl.d/90-routing-sysctl.conf
|
2017-07-12 03:30:04 +02:00
|
|
|
|
2017-12-08 17:47:49 +01:00
|
|
|
Create a new file ``/etc/modules-load.d/mpls.conf`` with the following
|
|
|
|
content:
|
|
|
|
|
2019-03-22 17:19:22 +01:00
|
|
|
.. code-block:: console
|
2017-02-16 10:40:09 +01:00
|
|
|
|
2019-03-22 17:19:22 +01:00
|
|
|
# Load MPLS Kernel Modules
|
|
|
|
mpls-router
|
|
|
|
mpls-iptunnel
|
2017-02-16 10:40:09 +01:00
|
|
|
|
2017-07-12 03:30:04 +02:00
|
|
|
And load the kernel modules on the running system:
|
|
|
|
|
2019-03-22 17:19:22 +01:00
|
|
|
.. code-block:: console
|
2017-12-08 17:47:49 +01:00
|
|
|
|
2019-03-22 17:19:22 +01:00
|
|
|
sudo modprobe mpls-router mpls-iptunnel
|
2017-07-12 03:30:04 +02:00
|
|
|
|
2019-03-22 17:19:22 +01:00
|
|
|
Install system service files
|
|
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
2017-12-08 17:47:49 +01:00
|
|
|
|
2019-03-22 17:19:22 +01:00
|
|
|
.. code-block:: console
|
2017-12-08 17:47:49 +01:00
|
|
|
|
2019-03-22 17:19:22 +01:00
|
|
|
sudo install -p -m 644 redhat/frr.service /usr/lib/systemd/system/frr.service
|
|
|
|
sudo install -p -m 755 redhat/frr.init /usr/lib/frr/frr
|
|
|
|
sudo systemctl enable frr
|
2017-07-12 03:30:04 +02:00
|
|
|
|
2019-03-22 17:19:22 +01:00
|
|
|
Start FRR
|
|
|
|
^^^^^^^^^
|
2017-12-08 17:47:49 +01:00
|
|
|
|
2019-03-22 17:19:22 +01:00
|
|
|
.. code-block:: frr
|
2017-12-08 17:47:49 +01:00
|
|
|
|
2019-03-22 17:19:22 +01:00
|
|
|
sudo systemctl start frr
|