Wheelhouse docs

Add a static route#

You will end up with a route in the router's forwarding table, and a page that shows you whether the kernel agrees with your configuration.

Before you start#

  • The operator role and a licence.
  • The prefix, and a next hop that is reachable on a directly connected interface.

Step 1 — Add it#

Network → Static routes → + Add route.

set protocols static route 198.51.100.0/24 next-hop 192.0.2.254
set protocols static route 198.51.100.0/24 next-hop 192.0.2.254 distance 20
set protocols static route 198.51.100.0/24 description 'to the lab'

The bare set on the next hop is what creates the route. Distance and description are optional, and the description hangs off the route rather than off the next hop.

Distance decides who wins when more than one source has a route for the same prefix. Lower wins. That is also how a default route becomes an uplink's rank — A second uplink with health-checked failover.

Step 2 — Commit and look at both columns#

The Static routes page shows the kernel forwarding table beside the routes the configuration declares, and flags any route that is declared but not installed. That flag is the whole value of the page:

Configuration saysKernel saysMeans
presentpresentIt worked
presentabsentThe next hop is not reachable on a connected interface, or another source has a better route
absentpresentSomething else installed it: a routing protocol, a DHCP client, the failover daemon

Check it worked#

bash
show ip route 198.51.100.0/24
ping -c 3 198.51.100.1

A route that is in the configuration and not in the table almost always means the next hop is not on a subnet this router has an interface in. Check the Interfaces page for the address that should cover it.

What is not here#

Undoing it#

delete protocols static route 198.51.100.0/24

The page's row has a delete that stages exactly that.

See also#


Checked against ui/src/pages/Routes.tsx · agent/main.go · agent/parse.go

Updated 2026-09-02 routing static