Running BGP lets your dedicated server act as a router to announce your IP prefixes globally.
Ubuntu or Debian
The Traffic Directors of the Internet: Understanding FRRouting and BGP
Imagine you want a regular computer to act like a powerful traffic cop for internet data. This is where FRRouting, or FRR for short, comes in. FRR is a free, open-source software program that you can install on standard Linux systems to turn them into smart, fully functional routers. Instead of buying expensive, specialized hardware from big tech companies, network engineers can use FRR on everyday computer servers to guide data safely and efficiently. It acts as the brain of the network, holding the map of connections and supporting many different sets of rules called protocols to keep digital traffic moving smoothly.
One of the most important protocols that FRR supports is called BGP, which stands for Border Gateway Protocol. You can think of BGP as the global postal service or the GPS system of the entire internet. When you send an email or load a webpage, your data has to travel through many different, independent networks to reach its destination. BGP is the universal language that routers use to talk to each other and share these directions. It constantly looks at all the possible paths your data could take across the globe and calculates the best, most reliable route to get your information exactly where it needs to go.
When you combine the flexibility of FRRouting with the global reach of BGP, you get a highly powerful tool for managing internet traffic. Companies, internet service providers, and large data centers use this combination to connect their private networks to the rest of the world. Because FRR is free software and BGP is the standard language of the internet, this pairing allows organizations to build strong, custom-made network systems without spending a fortune. Together, they work behind the scenes every second of the day, ensuring that our digital world stays connected and our information flows without interruption.
Prerequisites
- Operating System: A modern Linux distribution. Ubuntu (20.04, 22.04, or 24.04) or Debian (11 or 12) are highly recommended because FRR is available in their default package managers. It also works on RHEL/AlmaLinux/Rocky Linux.
- Hardware: A dedicated server or virtual machine. BGP routing is not very resource-intensive for basic setups; 1 CPU core and 1GB of RAM are generally enough to get started.
- Permissions: Full root or sudo access to the server. You need this to install software, edit system files, and change kernel parameters.
- Network Connection: A stable internet connection with a static IP address assigned to your server.
- Basic Tools: Default system utilities like a package manager (apt for Ubuntu/Debian), a text editor (like nano or vim), and basic networking tools installed.
Prepare the System
sudo apt update && sudo apt upgrade -y
echo "net.ipv4.ip_forward = 1" | sudo tee -a /etc/sysctl.conf
echo "net.ipv6.conf.all.forwarding = 1" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
Install FRRouting (FRR)
sudo apt install frr frr-pythontools -y
Enable the BGP Daemon
sudo sed -i 's/bgpd=no/bgpd=yes/g' /etc/frr/daemons
sudo systemctl restart frr
sudo systemctl enable frr
Configure BGP via VTYSH
vtysh to configure routing. This will feel very familiar if you have used Cisco or Juniper equipment.
sudo vtysh
configure terminal
65000 with your actual ASN)
router bgp 65000
192.0.2.1 with your server's IP)
bgp router-id 192.0.2.1
198.51.100.1 with their IP, and 64512 with their ASN)
neighbor 198.51.100.1 remote-as 64512
YourSecretPassword with the provided key)
neighbor 198.51.100.1 password YourSecretPassword
address-family ipv4 unicast
203.0.113.0/24 with the subnet you own and are authorized to announce)
network 203.0.113.0/24
exit-address-family exit exit write memory
Verify the BGP Session
vtysh shell or enter it again using sudo vtysh.
show ip bgp summary
State/PfxRcd column. If it says Active or Idle, the connection is down or failing. If it shows a number (like 0 , 1 , or 800000), the session is established.
show ip bgp neighbor 198.51.100.1 advertised-routes
exit
Important Note on Dummy Interfaces (Blackhole Routing)
sudo ip route add 203.0.113.0/24 dev lo
CTCservers Recommended Tutorials
Web, Network
Step-by-Step Guide: Install AMD ROCm on Ubuntu with RX 6600 GPU
Learn how to quickly and easily set up AMD ROCm on Ubuntu for your RX 6600 GPU, enabling powerful machine learning, AI workloads, and GPU-accelerated computing right on your system.
Web, Network, Linux, Mysql, Ubuntu
LAMP Setup Guide 2026: Ubuntu & Debian | CTCservers
Install a secure LAMP stack on Debian or Ubuntu. Follow our step-by-step guide to configure Linux, Apache, MySQL, and PHP for your web server.
Web, Network, Ubuntu
Deploy Phi-3 with Ollama on Ubuntu GPU | CTCservers
Learn how to easily deploy the Phi-3 LLM on an Ubuntu 24.04 GPU server using Ollama and WebUI. Follow our step-by-step tutorial for seamless AI hosting.
Discover CTCservers Dedicated Server Locations
CTCservers servers are available around the world, providing diverse options for hosting websites. Each region offers unique advantages, making it easier to choose a location that best suits your specific hosting needs.