CCNP training : FRRouting (FRR)

4 1 1 1 1 1 Rating 4.00 (1 Vote)

What is FRRouting ?

FRRouting (FRR) is an IP routing protocol suite for Linux which has it's roots in the Quagga / Zebra projects. which includes protocol daemons for BGP, IS-IS, LDP, OSPF, EIGRP PIM, and RIP. I's linux integration makes it usable to connect physical hosts, virtual machines, and containers to the network.

It's Cisco-like command line interface (CLI) with many commands similar to the Cisco IOS commands makes FRR easy to configure and a good candidate for building a lightweight routing lab environment for Cisco CCNP enterprise training.

 

Getting started with FRRouting ?

Installing FRRouting

The FRRouting project publishes packages for Red Hat, Centos, Debian and Ubuntu on the GitHub releases page. It can also be installed from Github source or deployed using the frrouting/frr Docker container based on Alpine Linux available on Docker Hub.

When using the official frrouting/frr docker image, don't forget to build a custom image including the required network tools (telnet, tcpdump, ...) and exposing all the network ports needed by routing protocols for peering. TCP port 179 has to be exposed by the container and mapped on the Docker host when using bgpd to allow BGP peering outside of the Docker network.

# Sample Dockerfile exposing TCP port 179
FROM frrouting/frr

EXPOSE 179

Build the custom Docker image and run it using Docker commands:

docker build -t packettracernetwork/frr .

docker run -d --name=frr3 --privileged=1 -p179:179 packettracernetwork/frr:latest

Configuring FRRouting routing protocols daemons

Before starting FRRouting, edit the /etc/frr/daemons file to enable each routing daemon required for the target environment. For example, to enable BGP, set bgpd to yes. The zebra daemon is enabled by default and does not have to be enables in deamons file anymore. Please note that all of the routing protocol daemons are dependent and started by the main zebra deamon.

bgpd=yes
ospfd=no
ospf6d=no
ripd=no
ripngd=no
isisd=no
fabricd=no
pimd=no
ldpd=no
nhrpd=no
eigrpd=no
babeld=no
sharpd=no
pbrd=no
vrrpd=no
...

All the network configuration is stored in /etc/frr/frr.conf and can be edited using the vtysh command line interface (CLI).

switch# write memory
Building Configuration...
Integrated configuration saved to /etc/frr/frr.conf
[OK]
switch# exit

FRRouting logo