It’s been a while since I last shared anything! Recently, I have been learning about BGP knowledge and testing. Previously, I used Bird1 to broadcast BGP, but when I tried to peer with my friend, we couldn’t establish a connection (it was strange, but I could connect with IX). So I uninstalled Bird1 and installed FRRouting instead.

FRRouting is a routing suite that comes from Quagga Fork, and its functionality is also very powerful (its commands are similar to Cisco or Quagga).

User Guide (English): https://docs.frrouting.org/en/latest/
GitHub project: https://github.com/FRRouting/frr/releases

First, we need to install FRRouting.

Update packages

sudo apt update -y
sudo apt upgrade -y

# Install network packages and GPG packages
sudo apt install -y curl gnupg2 traceroute

Install FRRouting

# Import GPG
curl -s https://deb.frrouting.org/frr/keys.asc | sudo apt-key add -
FRRVER="frr-stable"

# Write software sources
echo deb https://deb.frrouting.org/frr $(lsb_release -s -c) $FRRVER | sudo tee -a /etc/apt/sources.list.d/frr.list

# Install FRRouting
sudo apt update -y && sudo apt install -y frr frr-pythontools

Enable IP forwarding

echo "
net.ipv4.conf.all.forwarding = 1
net.ipv6.conf.all.disable_ipv6 = 0
net.ipv6.conf.default.disable_ipv6 = 0
net.ipv6.conf.lo.disable_ipv6 = 0
net.ipv6.conf.default.forwarding = 1
net.ipv6.conf.all.forwarding = 1
net.ipv6.conf.all.proxy_ndp = 1
net.ipv6.conf.all.accept_ra = 2
" | sudo tee -a /etc/sysctl.conf

sudo sysctl -p

Activate all functions of FRRouting

sudo sed -i "s/=no/=yes/g" /etc/frr/daemons
sudo service frr restart

Enter FRRouting interactive CLI

sudo vtysh

After entering the interactive CLI, you can start configuring by typing “config”.