Static routes#
Network → Static routes, at /routes. Every static route the router is configured
with, IPv4 and IPv6, and the forwarding tables the router builds from them. A route is
added, changed and deleted here; the changes join the pending changes and are applied
from the Commit Bar.
The four tiles#
| Tile | Value | Beneath it |
|---|---|---|
| Static routes | how many static routes are configured, both families | how many are not installed, or All installed |
| IPv4 routes | rows in the IPv4 forwarding table | how many are installed |
| IPv6 routes | rows in the IPv6 forwarding table | how many are installed |
| Default route | where 0.0.0.0/0 goes: a gateway, or Discarded or Rejected | the interface it leaves by |
A tile whose read failed shows — and Not read, never a zero.
The static route table#
One row per configured route.
| Column | Shows |
|---|---|
| Destination | the network, with the route's description beneath it |
| Family | IPv4 or IPv6 |
| Next hops | each gateway or interface; DHCP on eth1 for a gateway learned by DHCP; Discard or Reject; (disabled) after one that is switched off |
| Distance | the distance of each next hop; an unset distance is the router's default, 1 |
| Status | Installed when the router's forwarding table has a static route to that destination in use; Not installed otherwise |
Not installed usually means a gateway is not on any network this router has an interface in, an interface is down, or another source has a better route to the same destination. The status compares destinations only: which of a route's next hops the router chose is in the forwarding table below.
Selecting a row opens the route's editor. So does following a static route from the search palette (⌘K).
Adding and editing a route#
Add static route opens an empty form; a row opens the same form filled in.
| Field | What it takes |
|---|---|
| Address family | IPv4 or IPv6, for a new route. An existing route keeps its family |
| Destination | the network, with its prefix length: 198.51.100.0/24, 2001:db8:100::/48. 0.0.0.0/0 or ::/0 is a default route |
| Description | anything, up to 255 characters |
| Next hops | one or more, each with the fields below |
Each next hop has a Type:
| Type | Sends traffic | Its other fields |
|---|---|---|
| Gateway | to a router's address | Gateway (the address), Interface (optional: Any, or the one the gateway is on) |
| Interface | out of an interface, with no gateway | Interface |
| Gateway from DHCP | to the gateway a DHCP lease on that interface supplies (IPv4 only) | Interface |
| Discard | nowhere, silently | — |
| Reject | nowhere, answering with an ICMP unreachable | — |
Every type but Gateway from DHCP takes a Distance, 1 to 255; lower is preferred. Two next hops at different distances are how a backup path is written: the router uses the lower one while it can, and the other when it cannot. A gateway or an interface can be switched off with Disabled without removing it. Add next hop adds another; Remove next hop takes one away.
The form refuses, under the field concerned, what the router would refuse:
- a destination that is not a network address —
10.77.3.1/16is answered with Use the network address, 10.77.0.0/16; - a destination another route already has;
- a gateway that is not an address of the route's family;
- a link-local IPv6 gateway (
fe80::…) with no interface, which the router cannot reach without knowing which link it is on; - a distance outside 1 to 255;
- the same gateway or interface twice, and both Discard and Reject.
Save changes (or Add route) adds the difference to the pending changes: a new gateway, a changed distance, a description. Changing the destination replaces the route with one to the new destination.
Delete route, pressed twice, removes the route and every next hop in it.
The forwarding table#
Below the static routes, the router's forwarding table for the family chosen with IPv4 or IPv6: every route it knows, from every source, filterable by any column.
| Column | Shows |
|---|---|
| Destination | the network |
| Source | Connected, Local, Static, Kernel, OSPF, BGP, and FRR's other sources |
| Next hop | the gateway; Directly connected; or Discarded, Rejected or Prohibited for a route that drops its traffic |
| Interface | the interface the route leaves by |
| Distance / metric | the route's distance and metric |
| Status | Installed when the kernel is using the route; Not installed for one that lost to a better route to the same destination, such as a backup |
| Age | how long the route has existed |
A row opens the route in full, including whether it is the preferred route to its destination. Routes through the router's internal interfaces — the loopback's link-local network, a container bridge — are not listed.
A route installed by the uplink failover daemon appears with source Kernel at distance 0; see Uplinks. A static route to a single address through an uplink may be one of that uplink's health-check targets, which the Uplinks page adds and removes with the check; see Target routes.
When a read fails#
The page makes three reads: the IPv4 forwarding table, the IPv6 forwarding table and the static route configuration. If the IPv4 table cannot be read, the page says so and shows nothing else. If the configuration cannot be read, the static route table is replaced with Could not read the static routes and Add static route is unavailable — a form compared against a configuration that was not read would stage the wrong changes. If the IPv6 table cannot be read, its tile says Not read and the IPv6 view of the table says why.
Advanced mode#
With Advanced mode on (Account → Preferences), the header shows the configuration path,
protocols static, a CLI view shows the routes as the router's own commands, and a
forwarding-table route's panel shows the line FRR printed for it.
What this page does not do#
- Routes in a VRF are on the VRF page, with the same form.
- Policy-routing tables (
protocols static table) belong to Uplinks, which writes them. - Routes learned by BGP or OSPF are in the forwarding table and are changed where they come from: BGP / OSPF.
- Static ARP entries, multicast routes and BFD on a next hop are not offered. A route that has them keeps them when it is edited here.
Worked example: reach a lab network behind a second router#
10.77.3.1 is a router on the LAN, and 172.20.0.0/16 is behind it.
- Network → Static routes → Add static route.
- Address family IPv4, destination
172.20.0.0/16, descriptionLab. - Next hop 1: type Gateway, gateway
10.77.3.1. - Add route, then Apply changes in the Commit Bar. The pending change reads Add static route 172.20.0.0/16 — Via 10.77.3.1, description “Lab”.
The row shows Installed, and the forwarding table has 172.20.0.0/16 from Static
via 10.77.3.1. If it shows Not installed, no interface has an address in the
gateway's network; check Interfaces.
To add a backup path, open the route, Add next hop, give it gateway 10.77.3.2 and
distance 20, and Save changes.
App integrations#
The page shows any integration an installed app offers for it, between the header and the tiles. See Apps.
See also#
- Interfaces — where the connected routes come from.
- Addressing — the distances a DHCP or PPPoE client gives its own default route.
- Uplinks (multi-WAN) — the default route, ranked and health-checked.
- BGP / OSPF — the dynamic sources of the routes in the table.
- VRF — separate routing tables, with their own static routes.
- Diagnostics → Tools — traceroute from the router.