The [Route] section accepts the following keys. Specify several
[Route] sections to configure several routes.
Gateway=
Takes the gateway address or the special values "_dhcp4" and
"_ipv6ra". If "_dhcp4" or "_ipv6ra" is set, then the gateway
address provided by DHCPv4 or IPv6 RA is used.
GatewayOnLink=
Takes a boolean. If set to true, the kernel does not have to
check if the gateway is reachable directly by the current
machine (i.e., attached to the local network), so that we can
insert the route in the kernel table without it being
complained about. Defaults to "no".
Destination=
The destination prefix of the route. Possibly followed by a
slash and the prefix length. If omitted, a full-length host
route is assumed.
Source=
The source prefix of the route. Possibly followed by a slash
and the prefix length. If omitted, a full-length host route
is assumed.
Metric=
The metric of the route. Takes an unsigned integer in the
range 0...4294967295. Defaults to unset, and the kernel's
default will be used.
IPv6Preference=
Specifies the route preference as defined in RFC 4191
[15] for
Router Discovery messages. Which can be one of "low" the
route has a lowest priority, "medium" the route has a default
priority or "high" the route has a highest priority.
Scope=
The scope of the IPv4 route, which can be "global", "site",
"link", "host", or "nowhere":
• "global" means the route can reach hosts more than one
hop away.
• "site" means an interior route in the local autonomous
system.
• "link" means the route can only reach hosts on the local
network (one hop away).
• "host" means the route will not leave the local machine
(used for internal addresses like 127.0.0.1).
• "nowhere" means the destination doesn't exist.
For IPv4 route, defaults to "host" if Type= is "local" or
"nat", and "link" if Type= is "broadcast", "multicast", or
"anycast". In other cases, defaults to "global". The value is
not used for IPv6.
PreferredSource=
The preferred source address of the route. The address must
be in the format described in inet_pton(3).
Table=
The table identifier for the route. Takes one of predefined
names "default", "main", and "local", and names defined in
RouteTable= in networkd.conf(5), or a number between 1 and
4294967295. The table can be retrieved using ip route show
table
num. If unset and Type= is "local", "broadcast",
"anycast", or "nat", then "local" is used. In other cases,
defaults to "main".
Protocol=
The protocol identifier for the route. Takes a number between
0 and 255 or the special values "kernel", "boot", "static",
"ra" and "dhcp". Defaults to "static".
Type=
Specifies the type for the route. Takes one of "unicast",
"local", "broadcast", "anycast", "multicast", "blackhole",
"unreachable", "prohibit", "throw", "nat", and "xresolve". If
"unicast", a regular route is defined, i.e. a route
indicating the path to take to a destination network address.
If "blackhole", packets to the defined route are discarded
silently. If "unreachable", packets to the defined route are
discarded and the ICMP message "Host Unreachable" is
generated. If "prohibit", packets to the defined route are
discarded and the ICMP message "Communication
Administratively Prohibited" is generated. If "throw", route
lookup in the current routing table will fail and the route
selection process will return to Routing Policy Database
(RPDB). Defaults to "unicast".
InitialCongestionWindow=
The TCP initial congestion window is used during the start of
a TCP connection. During the start of a TCP session, when a
client requests a resource, the server's initial congestion
window determines how many packets will be sent during the
initial burst of data without waiting for acknowledgement.
Takes a number between 1 and 1023. Note that 100 is
considered an extremely large value for this option. When
unset, the kernel's default (typically 10) will be used.
InitialAdvertisedReceiveWindow=
The TCP initial advertised receive window is the amount of
receive data (in bytes) that can initially be buffered at one
time on a connection. The sending host can send only that
amount of data before waiting for an acknowledgment and
window update from the receiving host. Takes a number between
1 and 1023. Note that 100 is considered an extremely large
value for this option. When unset, the kernel's default will
be used.
QuickAck=
Takes a boolean. When true enables TCP quick ack mode for the
route. When unset, the kernel's default will be used.
FastOpenNoCookie=
Takes a boolean. When true enables TCP fastopen without a
cookie on a per-route basis. When unset, the kernel's default
will be used.
TTLPropagate=
Takes a boolean. When true enables TTL propagation at Label
Switched Path (LSP) egress. When unset, the kernel's default
will be used.
MTUBytes=
The maximum transmission unit in bytes to set for the route.
The usual suffixes K, M, G, are supported and are understood
to the base of 1024.
Note that if IPv6 is enabled on the interface, and the MTU is
chosen below 1280 (the minimum MTU for IPv6) it will
automatically be increased to this value.
IPServiceType=
Takes string; "CS6" or "CS4". Used to set IP service type to
CS6 (network control) or CS4 (Realtime). Defaults to CS6.
TCPAdvertisedMaximumSegmentSize=
Specifies the Path MSS (in bytes) hints given on TCP layer.
The usual suffixes K, M, G, are supported and are understood
to the base of 1024. An unsigned integer in the range
1–4294967294. When unset, the kernel's default will be used.
MultiPathRoute=address[@name] [weight]
Configures multipath route. Multipath routing is the
technique of using multiple alternative paths through a
network. Takes gateway address. Optionally, takes a network
interface name or index separated with "@", and a weight in
1..256 for this multipath route separated with whitespace.
This setting can be specified multiple times. If an empty
string is assigned, then the all previous assignments are
cleared.
NextHop=
Specifies the nexthop id. Takes an unsigned integer in the
range 1...4294967295. If set, the corresponding [NextHop]
section must be configured. Defaults to unset.