Skip to content

FRR

Free Range Routing (FRR) is an open-source routing solution that offers a diverse array of routing protocols for seamless integration into computer networks. With this, they can offer diverse routing protocols or data centers, service providers, and enterprises. FRR is known for its comprehensive features, flexibility, and scalability, providing robust routing capabilities customizable to specific network requirements.

Here is a link for basic commands of configuration that might be helpful for the labs:

FFR Command Reference

Some useful example commands:

Command Short Form Explanation
configure conf Enter configuration mode
show running-config show run Show the current configuration
show startup-config show start Show the startup configuration
write write Write/save the configuration (copy running → startup)
no shutdown no shut Enable the interface
exit ex Exit the current mode/layer
end Exit all layers
ip address / ip add Add an IPv4 address to the current interface
ipv6 address / ipv6 add Add an IPv6 address to the current interface
show ip route sh ip route View the IPv4 routing table
show ipv6 route sh ipv6 route View the IPv6 routing table
show interface sh int List interface configurations (can use brief)
show bgp summary sh bgp summ Show information about BGP neighbor connections
clear bgp * restarts all BGP sessions on
show ip ospf sh ip ospf Show information about OSPF routes and calculations
show ip ospf neighbor sh ip ospf nei Show OSPF neighbor information
clear ip route * Clear the IP routing table and force route relearning
bandwidth band Bandwidth in megabits per second

Undoing configuration

If you end up making mistakes, undoing the configuration is as simple as writing no in front of the command you want to undo.

IPv6

*These settings are required to run IPv6 functionality in GNS3 with FRR.

By default, the OSPFv3 process is not being enabled in the current FRR image. There is also an issue that "ipv6 forwarding configuration is not maintained between system resets. Both of these settings must be remediated by altering startup commands in the FRR router while it is turned off. This can be done on each router that is already placed, or by altering the template and placing new instances of the router.

Right click on a router, click configure and edit the "Start commands":

/bin/bash -c "/usr/lib/frr/watchfrr -d zebra ospfd ospf6d bgpd && sysctl -w net.ipv6.conf.all.forwarding=1 && vtysh"

To check if you have the correct startup-commands, look for "ospf6d" and the "net.ipv6.conf.all.forwarding=1" commands:

FRR Startup Commands Picture

OSPF in FRR

FRR Command Explanation
router ospf Enable or disable the OSPF process
network A.B.C.D/M area (0-4294967295) Configure an OSPF network and area
redistribute NAME Redistributes routes learned from other protocols over OSPF
default-information originate always Distribute default routes (0.0.0.0) internally over OSPF, often used when redistributing BGP or other routes in AS

OSPF3 (IPV6) in FRR

FRR Command Explanation
router ospf3 Enable the OSPFv3 process
ospf3 router-id X.X.X.X Set router ID for OSPFv3 route-source identification

BGP in FRR

FRR Command Explanation
router bgp ASN Enable a BGP protocol process with the specified ASN.
bgp router-id X.X.X.X Sets the router's ID, which is used as a source for identifying route source.
neighbor PEER remote-as ASN Creates a new neighbor with the specified remote-AS. PEER can be an IPv4/IPv6 address or an interface.
neighbor PEER update-source lo Used for iBGP, makes BGP peering sourced from the loopback interface, allowing IGP to control internal routing.
redistribute NAME Redistribute routes from other protocols into BGP. Must be defined inside an address-family.
network X.X.X.X/X Network for BGP to share.
neighbor X.X.X.X/X route-reflector-client When route reflectors are configured, these will reflect the routes announced by the peers configured as clients