A BGP session#
You will end up with a BGP process holding one session with one neighbour. FRR does the routing; Wheelhouse drives it through the router's configuration tree, which means the session is a diff you review and a commit you can roll back.
Before you start#
- The operator role and a licence.
- Your local AS number and the neighbour's, agreed with whoever is on the other end.
- The neighbour's address, reachable on a connected interface or through a static route.
- A router-id. Conventionally a loopback address — a dummy interface is the tidy way to have one that never goes down.
Step 1 — Configure it#
Network → BGP / OSPF → Configure BGP.
set protocols bgp system-as 65001
set protocols bgp parameters router-id 192.0.2.1
set protocols bgp neighbor 192.0.2.2 remote-as 65002The panel writes the router-id only when you give one, and the neighbour only when both it and its remote AS are filled in.
Step 2 — Add what the session actually needs#
A neighbour with only a remote AS establishes a session and exchanges nothing useful on most designs. What comes next depends entirely on the peering, and it is not in the panel:
set protocols bgp address-family ipv4-unicast network 198.51.100.0/24
set protocols bgp neighbor 192.0.2.2 address-family ipv4-unicast soft-reconfiguration inbound
set protocols bgp neighbor 192.0.2.2 password 'the agreed secret'
set protocols bgp neighbor 192.0.2.2 description 'transit'Step 3 — Let the session through the firewall#
BGP is TCP 179 to the router itself, so it needs an input rule.
set firewall ipv4 input filter rule 90 action accept
set firewall ipv4 input filter rule 90 description 'bgp from the peer'
set firewall ipv4 input filter rule 90 protocol tcp
set firewall ipv4 input filter rule 90 destination port 179
set firewall ipv4 input filter rule 90 source address 192.0.2.2Scope it to the peer's address. A default-drop ruleset.
Check it worked#
The session is established. From the console:
show ip bgp summary
show ip bgp neighbors 192.0.2.2The routes arrived, and were installed.
show ip bgp
show ip route bgpA prefix in show ip bgp and not in show ip route is a prefix that lost to something
with a better distance. The Static routes page shows the same
distinction for the kernel table.
The page reads it back. The BGP / OSPF page reports whether FRR is configured and renders the configuration as commands, which is the fastest way to check that what is on the router is what you meant to put there.
Undoing it#
delete protocols bgpThe page's delete stages exactly that for the whole protocol. To drop one neighbour:
delete protocols bgp neighbor 192.0.2.2See also#
- An OSPF area
- Add a static route
- BGP / OSPF
- Working from the console — for everything the panel does not write
Checked against ui/src/pages/Routing.tsx ·
agent/main.go ·
ui/src/pages/Firewall.tsx