2020-02-05 18:18:57 +00:00
|
|
|
|
# FRRouting
|
|
|
|
|
|
|
|
|
|
## Overview
|
|
|
|
|
|
2023-03-29 05:47:27 +01:00
|
|
|
|
FRRouting is a routing software package that provides TCP/IP based routing services with routing protocols support such
|
|
|
|
|
as BGP, RIP, OSPF, IS-IS and more. FRR also supports special BGP Route Reflector and Route Server behavior. In addition
|
|
|
|
|
to traditional IPv4 routing protocols, FRR also supports IPv6 routing protocols. With an SNMP daemon that supports the
|
|
|
|
|
AgentX protocol, FRR provides routing protocol MIB read-only access (SNMP Support).
|
2020-02-05 18:18:57 +00:00
|
|
|
|
|
|
|
|
|
FRR (as of v7.2) currently supports the following protocols:
|
2023-03-29 05:47:27 +01:00
|
|
|
|
|
2020-02-05 18:18:57 +00:00
|
|
|
|
* BGPv4
|
|
|
|
|
* OSPFv2
|
|
|
|
|
* OSPFv3
|
|
|
|
|
* RIPv1/v2/ng
|
|
|
|
|
* IS-IS
|
|
|
|
|
* PIM-SM/MSDP/BSM(AutoRP)
|
|
|
|
|
* LDP
|
|
|
|
|
* BFD
|
|
|
|
|
* Babel
|
|
|
|
|
* PBR
|
|
|
|
|
* OpenFabric
|
|
|
|
|
* VRRPv2/v3
|
|
|
|
|
* EIGRP (alpha)
|
|
|
|
|
* NHRP (alpha)
|
|
|
|
|
|
|
|
|
|
## FRRouting Package Install
|
|
|
|
|
|
|
|
|
|
Ubuntu 19.10 and later
|
2023-03-29 05:47:27 +01:00
|
|
|
|
|
2020-02-05 18:18:57 +00:00
|
|
|
|
```shell
|
|
|
|
|
sudo apt update && sudo apt install frr
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
Ubuntu 16.04 and Ubuntu 18.04
|
2023-03-29 05:47:27 +01:00
|
|
|
|
|
2020-02-05 18:18:57 +00:00
|
|
|
|
```shell
|
|
|
|
|
sudo apt install curl
|
|
|
|
|
curl -s https://deb.frrouting.org/frr/keys.asc | sudo apt-key add -
|
|
|
|
|
FRRVER="frr-stable"
|
|
|
|
|
echo deb https://deb.frrouting.org/frr $(lsb_release -s -c) $FRRVER | sudo tee -a /etc/apt/sources.list.d/frr.list
|
|
|
|
|
sudo apt update && sudo apt install frr frr-pythontools
|
|
|
|
|
```
|
2023-03-29 05:47:27 +01:00
|
|
|
|
|
2020-02-05 18:18:57 +00:00
|
|
|
|
Fedora 31
|
2023-03-29 05:47:27 +01:00
|
|
|
|
|
2020-02-05 18:18:57 +00:00
|
|
|
|
```shell
|
|
|
|
|
sudo dnf update && sudo dnf install frr
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## FRRouting Source Code Install
|
|
|
|
|
|
2023-03-29 05:47:27 +01:00
|
|
|
|
Building FRR from source is the best way to ensure you have the latest features and bug fixes. Details for each
|
|
|
|
|
supported platform, including dependency package listings, permissions, and other gotchas, are in the developer’s
|
|
|
|
|
documentation.
|
2020-02-05 18:18:57 +00:00
|
|
|
|
|
|
|
|
|
FRR’s source is available on the project [GitHub page](https://github.com/FRRouting/frr).
|
2023-03-29 05:47:27 +01:00
|
|
|
|
|
2020-02-05 18:18:57 +00:00
|
|
|
|
```shell
|
|
|
|
|
git clone https://github.com/FRRouting/frr.git
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
Change into your FRR source directory and issue:
|
2023-03-29 05:47:27 +01:00
|
|
|
|
|
2020-02-05 18:18:57 +00:00
|
|
|
|
```shell
|
|
|
|
|
./bootstrap.sh
|
|
|
|
|
```
|
2023-03-29 05:47:27 +01:00
|
|
|
|
|
|
|
|
|
Then, choose the configuration options that you wish to use for the installation. You can find these options on
|
|
|
|
|
FRR's [official webpage](http://docs.frrouting.org/en/latest/installation.html). Once you have chosen your configure
|
|
|
|
|
options, run the configure script and pass the options you chose:
|
|
|
|
|
|
2020-02-05 18:18:57 +00:00
|
|
|
|
```shell
|
|
|
|
|
./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 \
|
|
|
|
|
...
|
|
|
|
|
```
|
2023-03-29 05:47:27 +01:00
|
|
|
|
|
2020-02-05 18:18:57 +00:00
|
|
|
|
After configuring the software, you are ready to build and install it in your system.
|
2023-03-29 05:47:27 +01:00
|
|
|
|
|
2020-02-05 18:18:57 +00:00
|
|
|
|
```shell
|
|
|
|
|
make && sudo make install
|
|
|
|
|
```
|
2023-03-29 05:47:27 +01:00
|
|
|
|
|
2020-02-05 18:18:57 +00:00
|
|
|
|
If everything finishes successfully, FRR should be installed.
|