diff --git a/man/systemd.network.xml b/man/systemd.network.xml
index bcf6b36eed..d4f0342746 100644
--- a/man/systemd.network.xml
+++ b/man/systemd.network.xml
@@ -28,8 +28,8 @@
Description
- A plain ini-style text file that encodes network configuration for matching network interfaces,
- used by
+ A plain ini-style text file that encodes network configuration for matching network
+ interfaces, used by
systemd-networkd8.
See systemd.syntax7
for a general description of the syntax.
@@ -41,13 +41,14 @@
directories /usr/lib/systemd/network and
/usr/local/lib/systemd/network, the volatile runtime network directory
/run/systemd/network and the local administration network directory
- /etc/systemd/network. All configuration files are collectively sorted and processed
- in lexical order, regardless of the directories in which they live. However, files with identical
- filenames replace each other. Files in /etc/ have the highest priority, files in
- /run/ take precedence over files with the same name under
- /usr/. This can be used to override a system-supplied configuration file with a local
- file if needed. As a special case, an empty file (file size 0) or symlink with the same name pointing to
- /dev/null disables the configuration file entirely (it is "masked").
+ /etc/systemd/network. All configuration files are collectively sorted and
+ processed in lexical order, regardless of the directories in which they live. However, files with
+ identical filenames replace each other. Files in /etc/ have the highest
+ priority, files in /run/ take precedence over files with the same name under
+ /usr/. This can be used to override a system-supplied configuration file with
+ a local file if needed. As a special case, an empty file (file size 0) or symlink with the same
+ name pointing to /dev/null disables the configuration file entirely (it is
+ "masked").
Along with the network file foo.network, a "drop-in" directory
foo.network.d/ may exist. All files with the suffix
@@ -67,74 +68,71 @@
[Match] Section Options
- The network file contains a [Match] section, which determines if a given network file may be
- applied to a given device; and a [Network] section specifying how the device should be configured. The
- first (in lexical order) of the network files that matches a given device is applied, all later files
- are ignored, even if they match as well.
+ The network file contains a [Match] section, which determines if a given network file may
+ be applied to a given device; and a [Network] section specifying how the device should be
+ configured. The first (in lexical order) of the network files that matches a given device is
+ applied, all later files are ignored, even if they match as well.
- A network file is said to match a network interface if all matches specified by the [Match]
- section are satisfied. When a network file does not contain valid settings in [Match] section, then the
- file will match all interfaces and systemd-networkd warns about that. Hint: to avoid
- the warning and to make it clear that all interfaces shall be matched, add the following:
- Name=* The following keys are accepted:
+ A network file is said to match a network interface if all matches specified by the [Match]
+ section are satisfied. When a network file does not contain valid settings in [Match] section, then
+ the file will match all interfaces and systemd-networkd warns about that. Hint:
+ to avoid the warning and to make it clear that all interfaces shall be matched, add the following:
+ Name=* The following keys are accepted:
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
- Name=
-
- A whitespace-separated list of shell-style globs matching the device name, as exposed
- by the udev property INTERFACE, or device's alternative names. If the
- list is prefixed with a "!", the test is inverted.
-
-
+
+ Name=
+
+ A whitespace-separated list of shell-style globs matching the device name, as exposed
+ by the udev property INTERFACE, or device's alternative names. If the
+ list is prefixed with a "!", the test is inverted.
+
+
-
- WLANInterfaceType=
-
- A whitespace-separated list of wireless network type. Supported values are
- ad-hoc, station, ap,
- ap-vlan, wds, monitor,
- mesh-point, p2p-client, p2p-go,
- p2p-device, ocb, and nan. If the
- list is prefixed with a "!", the test is inverted.
-
-
-
+
+ WLANInterfaceType=
+
+ A whitespace-separated list of wireless network type. Supported values are
+ ad-hoc, station, ap,
+ ap-vlan, wds, monitor,
+ mesh-point, p2p-client, p2p-go,
+ p2p-device, ocb, and nan. If the
+ list is prefixed with a "!", the test is inverted.
+
+
-
- SSID=
-
- A whitespace-separated list of shell-style globs matching the SSID of the currently
- connected wireless LAN. If the list is prefixed with a "!", the test is inverted.
-
-
-
+
+ SSID=
+
+ A whitespace-separated list of shell-style globs matching the SSID of the currently
+ connected wireless LAN. If the list is prefixed with a "!", the test is inverted.
+
+
-
- BSSID=
-
- A whitespace-separated list of hardware address of the currently connected wireless
- LAN. Use full colon-, hyphen- or dot-delimited hexadecimal. See the example in
- MACAddress=. This option may appear more than once, in which case the
- lists are merged. If the empty string is assigned to this option, the list is reset.
-
-
-
-
-
-
-
-
-
-
+
+ BSSID=
+
+ A whitespace-separated list of hardware address of the currently connected wireless
+ LAN. Use full colon-, hyphen- or dot-delimited hexadecimal. See the example in
+ MACAddress=. This option may appear more than once, in which case the
+ lists are merged. If the empty string is assigned to this option, the list is reset.
+
+
+
+
+
+
+
+
+
@@ -149,16 +147,17 @@
The hardware address to set for the device.
+
MTUBytes=
- The maximum transmission unit in bytes to set for the
- device. 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.
+ The maximum transmission unit in bytes to set for the device. 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.
+
ARP=
@@ -170,118 +169,131 @@
the network otherwise. Defaults to unset.
+
Multicast=
- Takes a boolean. If set to true, the multicast flag on the device is enabled. Defaults to unset.
+ Takes a boolean. If set to true, the multicast flag on the device is enabled. Defaults
+ to unset.
+
AllMulticast=
- Takes a boolean. If set to true, the driver retrieves all multicast packets from the network.
- This happens when multicast routing is enabled. Defaults to unset.
+ Takes a boolean. If set to true, the driver retrieves all multicast packets from the
+ network. This happens when multicast routing is enabled. Defaults to unset.
+
Promiscuous=
- Takes a boolean. If set to true, promiscuous mode of the interface is enabled.
- Defaults to unset.
- If this is set to false for the underlying link of a passthru mode MACVLAN/MACVTAP,
- the virtual interface will be created with the nopromisc flag set.
+ Takes a boolean. If set to true, promiscuous mode of the interface is enabled. Defaults
+ to unset.
+ If this is set to false for the underlying link of a passthru mode
+ MACVLAN/MACVTAP, the virtual interface will be created with the nopromisc
+ flag set.
+
Unmanaged=
- Takes a boolean. When yes, no attempts are
- made to bring up or configure matching links, equivalent to
- when there are no matching network files. Defaults to
+ Takes a boolean. When yes, no attempts are made to bring up or
+ configure matching links, equivalent to when there are no matching network files. Defaults to
no.
- This is useful for preventing later matching network
- files from interfering with certain interfaces that are fully
- controlled by other applications.
+ This is useful for preventing later matching network files from interfering with
+ certain interfaces that are fully controlled by other applications.
+
Group=
- Link groups are similar to port ranges found in managed switches. When network interfaces
- are added to a numbered group, operations on all the interfaces from that group can be
- performed at once. Takes an unsigned integer in the range 0…2147483647. Defaults to unset.
-
+ Link groups are similar to port ranges found in managed switches. When network
+ interfaces are added to a numbered group, operations on all the interfaces from that group
+ can be performed at once. Takes an unsigned integer in the range 0…2147483647. Defaults to
+ unset.
+
RequiredForOnline=
- Takes a boolean or a minimum operational state and an optional maximum operational state.
- Please see networkctl1
- for possible operational states. When yes, the network is deemed required when
- determining whether the system is online (including when running
- systemd-networkd-wait-online). When no, the network is ignored
- when determining the online state. When a minimum operational state and an optional maximum operational
- state are set, yes is implied, and this controls the minimum and maximum
- operational state required for the network interface to be considered online.
+ Takes a boolean or a minimum operational state and an optional maximum operational
+ state. Please see
+ networkctl1
+ for possible operational states. When yes, the network is deemed required
+ when determining whether the system is online (including when running
+ systemd-networkd-wait-online). When no, the network is
+ ignored when determining the online state. When a minimum operational state and an optional
+ maximum operational state are set, yes is implied, and this controls the
+ minimum and maximum operational state required for the network interface to be considered
+ online.
- Defaults to yes when ActivationPolicy= is not set,
- or set to up, always-up, or bound.
- Defaults to no when ActivationPolicy= is set to
- manual or down. This is forced to no
- when ActivationPolicy= is set to always-down.
+ Defaults to yes when ActivationPolicy= is not
+ set, or set to up, always-up, or
+ bound. Defaults to no when
+ ActivationPolicy= is set to manual or
+ down. This is forced to no when
+ ActivationPolicy= is set to always-down.
- The network will be brought up normally (as configured by ActivationPolicy=),
- but in the event that there is no address being assigned by DHCP or the
- cable is not plugged in, the link will simply remain offline and be
- skipped automatically by systemd-networkd-wait-online
- if RequiredForOnline=no.
+ The network will be brought up normally (as configured by
+ ActivationPolicy=), but in the event that there is no address being
+ assigned by DHCP or the cable is not plugged in, the link will simply remain offline and be
+ skipped automatically by systemd-networkd-wait-online if
+ RequiredForOnline=no.
+
RequiredFamilyForOnline=
- Takes an address family. When specified, an IP address in the given family is deemed required
- when determining whether the link is online (including when running
+ Takes an address family. When specified, an IP address in the given family is deemed
+ required when determining whether the link is online (including when running
systemd-networkd-wait-online). Takes one of ipv4,
ipv6, both, or any. Defaults to
any. Note that this option has no effect if
- RequiredForOnline=no, or if RequiredForOnline= specifies a
- minimum operational state below degraded.
+ RequiredForOnline=no, or if RequiredForOnline=
+ specifies a minimum operational state below degraded.
+
ActivationPolicy=Specifies the policy for systemd-networkd managing the link
administrative state. Specifically, this controls how systemd-networkd
changes the network device's IFF_UP flag, which is sometimes
- controlled by system administrators by running e.g., ip link set dev eth0 up
- or ip link set dev eth0 down, and can also be changed with
- networkctl up eth0 or networkctl down eth0.
+ controlled by system administrators by running e.g.,
+ ip link set dev eth0 up or ip link set dev eth0 down,
+ and can also be changed with networkctl up eth0 or
+ networkctl down eth0.
Takes one of up, always-up,
manual, always-down, down,
- or bound. When manual, systemd-networkd
- will not change the link's admin state automatically; the system administrator must bring the
- interface up or down manually, as desired. When up (the default) or
- always-up, or down or always-down,
- systemd-networkd will set the link up or down, respectively,
- when the interface is (re)configured. When always-up or
- always-down, systemd-networkd will set the link up
- or down, respectively, any time systemd-networkd detects a change in
- the administrative state. When BindCarrier= is also set, this is
- automatically set to bound and any other value is ignored.
+ or bound. When manual,
+ systemd-networkd will not change the link's admin state automatically;
+ the system administrator must bring the interface up or down manually, as desired. When
+ up (the default) or always-up, or
+ down or always-down,
+ systemd-networkd will set the link up or down, respectively, when the
+ interface is (re)configured. When always-up or
+ always-down, systemd-networkd will set the link up or
+ down, respectively, any time systemd-networkd detects a change in the
+ administrative state. When BindCarrier= is also set, this is automatically
+ set to bound and any other value is ignored.
- When the policy is set to down or manual,
- the default value of RequiredForOnline= is no.
- When the policy is set to always-down, the value of
+ When the policy is set to down or manual, the
+ default value of RequiredForOnline= is no. When the
+ policy is set to always-down, the value of
RequiredForOnline= forced to no.The administrative state is not the same as the carrier state, so using
- always-up does not mean the link will never lose carrier. The link
- carrier depends on both the administrative state as well as the network device's physical
- connection. However, to avoid reconfiguration failures, when using always-up,
+ always-up does not mean the link will never lose carrier. The link carrier
+ depends on both the administrative state as well as the network device's physical connection.
+ However, to avoid reconfiguration failures, when using always-up,
IgnoreCarrierLoss= is forced to true.
@@ -289,668 +301,707 @@
- [SR-IOV] Section Options
- The [SR-IOV] section accepts the following keys. Specify several [SR-IOV] sections to configure
- several SR-IOVs. SR-IOV provides the ability to partition a single physical PCI resource into virtual
- PCI functions which can then be injected into a VM. In the case of network VFs, SR-IOV improves
- north-south network performance (that is, traffic with endpoints outside the host machine) by allowing
- traffic to bypass the host machine’s network stack.
+ [SR-IOV] Section Options
+ The [SR-IOV] section accepts the following keys. Specify several [SR-IOV] sections to
+ configure several SR-IOVs. SR-IOV provides the ability to partition a single physical PCI resource
+ into virtual PCI functions which can then be injected into a VM. In the case of network VFs, SR-IOV
+ improves north-south network performance (that is, traffic with endpoints outside the host machine)
+ by allowing traffic to bypass the host machine’s network stack.
-
-
- VirtualFunction=
-
- Specifies a Virtual Function (VF), lightweight PCIe function designed solely to move data
- in and out. Takes an unsigned integer in the range 0…2147483646. This option is compulsory.
-
-
+
+
+ VirtualFunction=
+
+ Specifies a Virtual Function (VF), lightweight PCIe function designed solely to move
+ data in and out. Takes an integer in the range 0…2147483646. This option is compulsory.
+
+
+
-
- VLANId=
-
- Specifies VLAN ID of the virtual function. Takes an unsigned integer in the range 1…4095.
-
-
+
+ VLANId=
+
+ Specifies VLAN ID of the virtual function. Takes an integer in the range 1…4095.
+
+
-
- QualityOfService=
-
- Specifies quality of service of the virtual function. Takes an unsigned integer in the range 1…4294967294.
-
-
+
+ QualityOfService=
+
+ Specifies quality of service of the virtual function. Takes an integer in the range
+ 1…4294967294.
+
+
-
- VLANProtocol=
-
- Specifies VLAN protocol of the virtual function. Takes 802.1Q or
- 802.1ad.
-
-
+
+ VLANProtocol=
+
+ Specifies VLAN protocol of the virtual function. Takes 802.1Q or
+ 802.1ad.
+
+
-
- MACSpoofCheck=
-
- Takes a boolean. Controls the MAC spoof checking. When unset, the kernel's default will be used.
-
-
+
+ MACSpoofCheck=
+
+ Takes a boolean. Controls the MAC spoof checking. When unset, the kernel's default will
+ be used.
+
+
-
- QueryReceiveSideScaling=
-
- Takes a boolean. Toggle the ability of querying the receive side scaling (RSS)
- configuration of the virtual function (VF). The VF RSS information like RSS hash key may be
- considered sensitive on some devices where this information is shared between VF and the
- physical function (PF). When unset, the kernel's default will be used.
-
-
+
+ QueryReceiveSideScaling=
+
+ Takes a boolean. Toggle the ability of querying the receive side scaling (RSS)
+ configuration of the virtual function (VF). The VF RSS information like RSS hash key may be
+ considered sensitive on some devices where this information is shared between VF and the
+ physical function (PF). When unset, the kernel's default will be used.
+
+
-
- Trust=
-
- Takes a boolean. Allows to set trust mode of the virtual function (VF). When set, VF
- users can set a specific feature which may impact security and/or performance. When unset,
- the kernel's default will be used.
-
-
+
+ Trust=
+
+ Takes a boolean. Allows to set trust mode of the virtual function (VF). When set, VF
+ users can set a specific feature which may impact security and/or performance. When unset,
+ the kernel's default will be used.
+
+
-
- LinkState=
-
- Allows to set the link state of the virtual function (VF). Takes a boolean or a
- special value auto. Setting to auto means a
- reflection of the physical function (PF) link state, yes lets the VF to
- communicate with other VFs on this host even if the PF link state is down,
- no causes the hardware to drop any packets sent by the VF. When unset,
- the kernel's default will be used.
-
-
+
+ LinkState=
+
+ Allows to set the link state of the virtual function (VF). Takes a boolean or a
+ special value auto. Setting to auto means a
+ reflection of the physical function (PF) link state, yes lets the VF to
+ communicate with other VFs on this host even if the PF link state is down,
+ no causes the hardware to drop any packets sent by the VF. When unset,
+ the kernel's default will be used.
+
+
-
- MACAddress=
-
- Specifies the MAC address for the virtual function.
-
-
-
+
+ MACAddress=
+
+ Specifies the MAC address for the virtual function.
+
+
+ [Network] Section Options
- The [Network] section accepts the following keys:
+ The [Network] section accepts the following keys:
-
-
- Description=
-
- A description of the device. This is only used for
- presentation purposes.
-
-
-
- DHCP=
-
- Enables DHCPv4 and/or DHCPv6 client support. Accepts
- yes, no,
- ipv4, or ipv6. Defaults
- to no.
+
+
+ Description=
+
+ A description of the device. This is only used for presentation purposes.
+
+
- Note that DHCPv6 will by default be triggered by Router
- Advertisement, if that is enabled, regardless of this parameter.
- By enabling DHCPv6 support explicitly, the DHCPv6 client will
- be started regardless of the presence of routers on the link,
- or what flags the routers pass. See
- IPv6AcceptRA=.
-
- Furthermore, note that by default the domain name
- specified through DHCP is not used for name resolution.
- See option below.
-
- See the [DHCPv4] or [DHCPv6] sections below for further configuration options for the DHCP
- client support.
-
-
-
- DHCPServer=
-
- Takes a boolean. If set to yes, DHCPv4 server will be started. Defaults
- to no. Further settings for the DHCP server may be set in the [DHCPServer]
- section described below.
-
-
-
- LinkLocalAddressing=
-
- Enables link-local address autoconfiguration. Accepts ,
- , , and . An IPv6 link-local address
- is configured when or . An IPv4 link-local address is
- configured when or and when DHCPv4 autoconfiguration
- has been unsuccessful for some time. (IPv4 link-local address autoconfiguration will usually
- happen in parallel with repeated attempts to acquire a DHCPv4 lease).
-
- Defaults to when KeepMaster= or
- Bridge= is set or when the specified
- MACVLAN=/MACVTAP= has Mode=passthru, or
- otherwise.
-
-
-
- IPv6LinkLocalAddressGenerationMode=
-
- Specifies how IPv6 link local address is generated. Takes one of
- eui64, none, stable-privacy and
- random. When unset, stable-privacy is used if
- IPv6StableSecretAddress= is specified, and if not,
- eui64 is used. Note that if LinkLocalAddressing= is
- no or ipv4, then
- IPv6LinkLocalAddressGenerationMode= will be ignored. Also, even if
- LinkLocalAddressing= is yes or
- ipv6, setting IPv6LinkLocalAddressGenerationMode=none
- disables to configure an IPv6 link-local address.
-
-
-
- IPv6StableSecretAddress=
-
- Takes an IPv6 address. The specified address will be used as a stable secret for
- generating IPv6 link-local address. If this setting is specified, and
- IPv6LinkLocalAddressGenerationMode= is unset, then
- IPv6LinkLocalAddressGenerationMode=stable-privacy is implied.
- If this setting is not specified, and stable-privacy is set to
- IPv6LinkLocalAddressGenerationMode=,
- then a stable secret address will be generated from the local machine ID and the interface
- name.
-
-
-
- IPv4LLRoute=
-
- Takes a boolean. If set to true, sets up the route needed for
- non-IPv4LL hosts to communicate with IPv4LL-only hosts. Defaults
- to false.
-
-
-
-
- DefaultRouteOnDevice=
-
- Takes a boolean. If set to true, sets up the default route bound to the interface.
- Defaults to false. This is useful when creating routes on point-to-point interfaces.
- This is equivalent to e.g. the following,
- ip route add default dev veth99
- or,
- [Route]
-Gateway=0.0.0.0
- Currently, there are no way to specify e.g., the table for the route configured by
- this setting. To configure the default route with such an additional property, please use
- the following instead:
- [Route]
-Gateway=0.0.0.0
-Table=1234
-
-
-
- LLMNR=
-
- Takes a boolean or resolve. When true,
- enables Link-Local
- Multicast Name Resolution on the link. When set to
- resolve, only resolution is enabled,
- but not host registration and announcement. Defaults to
- true. This setting is read by
- systemd-resolved.service8.
-
-
-
- MulticastDNS=
-
- Takes a boolean or resolve. When true,
- enables Multicast
- DNS support on the link. When set to
- resolve, only resolution is enabled,
- but not host or service registration and
- announcement. Defaults to false. This setting is read by
- systemd-resolved.service8.
-
-
-
- DNSOverTLS=
-
- Takes a boolean or opportunistic. When true, enables
- DNS-over-TLS support on the link.
- When set to opportunistic, compatibility with non-DNS-over-TLS servers
- is increased, by automatically turning off DNS-over-TLS servers in this case. This option
- defines a per-interface setting for
- resolved.conf5's
- global DNSOverTLS= option. Defaults to unset, and the global setting
- will be used. This setting is read by
- systemd-resolved.service8.
-
-
-
- DNSSEC=
-
- Takes a boolean or allow-downgrade. When true, enables
- DNSSEC DNS validation support on
- the link. When set to allow-downgrade, compatibility with non-DNSSEC
- capable networks is increased, by automatically turning off DNSSEC in this case. This
- option defines a per-interface setting for
- resolved.conf5's
- global DNSSEC= option. Defaults to unset, and the global setting will be
- used. This setting is read by
- systemd-resolved.service8.
-
-
-
-
- DNSSECNegativeTrustAnchors=
- A space-separated list of DNSSEC negative
- trust anchor domains. If specified and DNSSEC is enabled,
- look-ups done via the interface's DNS server will be subject
- to the list of negative trust anchors, and not require
- authentication for the specified domains, or anything below
- it. Use this to disable DNSSEC authentication for specific
- private domains, that cannot be proven valid using the
- Internet DNS hierarchy. Defaults to the empty list. This
- setting is read by
- systemd-resolved.service8.
-
-
-
- LLDP=
-
- Controls support for Ethernet LLDP packet reception. LLDP is a link-layer protocol commonly
- implemented on professional routers and bridges which announces which physical port a system is connected
- to, as well as other related data. Accepts a boolean or the special value
- routers-only. When true, incoming LLDP packets are accepted and a database of all LLDP
- neighbors maintained. If routers-only is set only LLDP data of various types of routers
- is collected and LLDP data about other types of devices ignored (such as stations, telephones and
- others). If false, LLDP reception is disabled. Defaults to routers-only. Use
- networkctl1 to query the
- collected neighbor data. LLDP is only available on Ethernet links. See EmitLLDP= below
- for enabling LLDP packet emission from the local system.
-
-
-
-
- EmitLLDP=
-
- Controls support for Ethernet LLDP packet emission. Accepts a boolean parameter or the special values
- nearest-bridge, non-tpmr-bridge and
- customer-bridge. Defaults to false, which turns off LLDP packet emission. If not false,
- a short LLDP packet with information about the local system is sent out in regular intervals on the
- link. The LLDP packet will contain information about the local hostname, the local machine ID (as stored
- in machine-id5) and the
- local interface name, as well as the pretty hostname of the system (as set in
- machine-info5). LLDP
- emission is only available on Ethernet links. Note that this setting passes data suitable for
- identification of host to the network and should thus not be enabled on untrusted networks, where such
- identification data should not be made available. Use this option to permit other systems to identify on
- which interfaces they are connected to this system. The three special values control propagation of the
- LLDP packets. The nearest-bridge setting permits propagation only to the nearest
- connected bridge, non-tpmr-bridge permits propagation across Two-Port MAC Relays, but
- not any other bridges, and customer-bridge permits propagation until a customer bridge
- is reached. For details about these concepts, see IEEE 802.1AB-2016. Note that
- configuring this setting to true is equivalent to nearest-bridge, the recommended and
- most restricted level of propagation. See LLDP= above for an option to enable LLDP
- reception.
-
-
-
-
- BindCarrier=
-
- A link name or a list of link names. When set, controls the behavior of the current
- link. When all links in the list are in an operational down state, the current link is brought
- down. When at least one link has carrier, the current interface is brought up.
-
- This forces ActivationPolicy= to be set to bound.
-
-
-
- Address=
-
- A static IPv4 or IPv6 address and its prefix length,
- separated by a / character. Specify
- this key more than once to configure several addresses.
- The format of the address must be as described in
- inet_pton3.
- This is a short-hand for an [Address] section only
- containing an Address key (see below). This option may be
- specified more than once.
-
-
- If the specified address is 0.0.0.0 (for IPv4) or ::
- (for IPv6), a new address range of the requested size is automatically allocated from a
- system-wide pool of unused ranges. Note that the prefix length must be equal or larger than 8 for
- IPv4, and 64 for IPv6. The allocated range is checked against all current network interfaces and
- all known network configuration files to avoid address range conflicts. The default system-wide
- pool consists of 192.168.0.0/16, 172.16.0.0/12 and 10.0.0.0/8 for IPv4, and fd00::/8 for IPv6.
- This functionality is useful to manage a large number of dynamically created network interfaces
- with the same network configuration and automatic address range assignment.
-
-
-
-
- Gateway=
-
- The gateway address, which must be in the format
- described in
- inet_pton3.
- This is a short-hand for a [Route] section only containing
- a Gateway key. This option may be specified more than
- once.
-
-
-
- DNS=
-
- A DNS server address, which must be in the format described in
- inet_pton3.
- This option may be specified more than once. Each address can optionally take a port number
- separated with :, a network interface name or index separated with
- %, and a Server Name Indication (SNI) separated with #.
- When IPv6 address is specified with a port number, then the address must be in the square
- brackets. That is, the acceptable full formats are
- 111.222.333.444:9953%ifname#example.com for IPv4 and
- [1111:2222::3333]:9953%ifname#example.com for IPv6. If an empty string is
- assigned, then the all previous assignments are cleared. This setting is read by
- systemd-resolved.service8.
-
-
-
- Domains=
-
- A whitespace-separated list of domains which should be resolved using the DNS servers on
- this link. Each item in the list should be a domain name, optionally prefixed with a tilde
- (~). The domains with the prefix are called "routing-only domains". The
- domains without the prefix are called "search domains" and are first used as search suffixes for
- extending single-label hostnames (hostnames containing no dots) to become fully qualified
- domain names (FQDNs). If a single-label hostname is resolved on this interface, each of the
- specified search domains are appended to it in turn, converting it into a fully qualified domain
- name, until one of them may be successfully resolved.
-
- Both "search" and "routing-only" domains are used for routing of DNS queries: look-ups for hostnames
- ending in those domains (hence also single label names, if any "search domains" are listed), are routed to
- the DNS servers configured for this interface. The domain routing logic is particularly useful on
- multi-homed hosts with DNS servers serving particular private DNS zones on each interface.
-
- The "routing-only" domain ~. (the tilde indicating definition of a routing domain,
- the dot referring to the DNS root domain which is the implied suffix of all valid DNS names) has special
- effect. It causes all DNS traffic which does not match another configured domain routing entry to be routed
- to DNS servers specified for this interface. This setting is useful to prefer a certain set of DNS servers
- if a link on which they are connected is available.
-
- This setting is read by
- systemd-resolved.service8.
- "Search domains" correspond to the domain and search entries in
- resolv.conf5.
- Domain name routing has no equivalent in the traditional glibc API, which has no concept of domain
- name servers limited to a specific link.
-
-
-
- DNSDefaultRoute=
-
- Takes a boolean argument. If true, this link's configured DNS servers are used for resolving domain
- names that do not match any link's configured Domains= setting. If false, this link's
- configured DNS servers are never used for such domains, and are exclusively used for resolving names that
- match at least one of the domains configured on this link. If not specified defaults to an automatic mode:
- queries not matching any link's configured domains will be routed to this link if it has no routing-only
- domains configured.
-
-
-
- NTP=
-
- An NTP server address (either an IP address, or a hostname). This option may be specified more than once. This setting is read by
- systemd-timesyncd.service8.
-
-
-
- IPForward=
- Configures IP packet forwarding for the
- system. If enabled, incoming packets on any network
- interface will be forwarded to any other interfaces
- according to the routing table. Takes a boolean,
- or the values ipv4 or
- ipv6, which only enable IP packet
- forwarding for the specified address family. This controls
- the net.ipv4.ip_forward and
- net.ipv6.conf.all.forwarding sysctl
- options of the network interface (see ip-sysctl.txt
- for details about sysctl options). Defaults to
+
+ DHCP=
+
+ Enables DHCPv4 and/or DHCPv6 client support. Accepts yes,
+ no, ipv4, or ipv6. Defaults to
no.
- Note: this setting controls a global kernel option,
- and does so one way only: if a network that has this setting
- enabled is set up the global setting is turned on. However,
- it is never turned off again, even after all networks with
- this setting enabled are shut down again.
+ Note that DHCPv6 will by default be triggered by Router Advertisement, if that is
+ enabled, regardless of this parameter. By enabling DHCPv6 support explicitly, the DHCPv6
+ client will be started regardless of the presence of routers on the link, or what flags the
+ routers pass. See IPv6AcceptRA=.
- To allow IP packet forwarding only between specific
- network interfaces use a firewall.
-
-
-
- IPMasquerade=
- Configures IP masquerading for the network interface. If enabled, packets
- forwarded from the network interface will be appear as coming from the local host. Takes one
- of ipv4, ipv6, both, or
+ Furthermore, note that by default the domain name specified through DHCP is not used
+ for name resolution. See option below.
+
+ See the [DHCPv4] or [DHCPv6] sections below for further configuration options for the
+ DHCP client support.
+
+
+
+
+ DHCPServer=
+
+ Takes a boolean. If set to yes, DHCPv4 server will be started.
+ Defaults to no. Further settings for the DHCP server may be set in the
+ [DHCPServer] section described below.
+
+
+
+
+ LinkLocalAddressing=
+
+ Enables link-local address autoconfiguration. Accepts ,
+ , , and . An IPv6 link-local
+ address is configured when or . An IPv4 link-local
+ address is configured when or and when DHCPv4
+ autoconfiguration has been unsuccessful for some time. (IPv4 link-local address
+ autoconfiguration will usually happen in parallel with repeated attempts to acquire a DHCPv4
+ lease).
+
+ Defaults to when KeepMaster= or
+ Bridge= is set or when the specified
+ MACVLAN=/MACVTAP= has Mode=passthru,
+ or otherwise.
+
+
+
+
+ IPv6LinkLocalAddressGenerationMode=
+
+ Specifies how IPv6 link local address is generated. Takes one of
+ eui64, none, stable-privacy and
+ random. When unset, stable-privacy is used if
+ IPv6StableSecretAddress= is specified, and if not,
+ eui64 is used. Note that if LinkLocalAddressing= is
+ no or ipv4, then
+ IPv6LinkLocalAddressGenerationMode= will be ignored. Also, even if
+ LinkLocalAddressing= is yes or ipv6,
+ setting IPv6LinkLocalAddressGenerationMode=none
+ disables to configure an IPv6 link-local address.
+
+
+
+
+ IPv6StableSecretAddress=
+
+ Takes an IPv6 address. The specified address will be used as a stable secret for
+ generating IPv6 link-local address. If this setting is specified, and
+ IPv6LinkLocalAddressGenerationMode= is unset, then
+ IPv6LinkLocalAddressGenerationMode=stable-privacy is implied.
+ If this setting is not specified, and stable-privacy is set to
+ IPv6LinkLocalAddressGenerationMode=,
+ then a stable secret address will be generated from the local machine ID and the interface
+ name.
+
+
+
+
+ IPv4LLRoute=
+
+ Takes a boolean. If set to true, sets up the route needed for non-IPv4LL hosts to
+ communicate with IPv4LL-only hosts. Defaults to false.
+
+
+
+
+ DefaultRouteOnDevice=
+
+ Takes a boolean. If set to true, sets up the default route bound to the interface.
+ Defaults to false. This is useful when creating routes on point-to-point interfaces. This is
+ equivalent to e.g. the following,
+ ip route add default dev veth99
+ or,
+ [Route]
+Gateway=0.0.0.0
+ Currently, there are no way to specify e.g., the table for the route configured by this
+ setting. To configure the default route with such an additional property, please use the
+ following instead:
+ [Route]
+Gateway=0.0.0.0
+Table=1234
+
+
+
+
+ LLMNR=
+
+ Takes a boolean or resolve. When true, enables
+ Link-Local Multicast Name Resolution
+ on the link. When set to resolve, only resolution is enabled, but not host
+ registration and announcement. Defaults to true. This setting is read by
+ systemd-resolved.service8.
+
+
+
+
+
+ MulticastDNS=
+
+ Takes a boolean or resolve. When true, enables
+ Multicast DNS support on the link.
+ When set to resolve, only resolution is enabled, but not host or service
+ registration and announcement. Defaults to false. This setting is read by
+ systemd-resolved.service8.
+
+
+
+
+
+ DNSOverTLS=
+
+ Takes a boolean or opportunistic. When true, enables
+ DNS-over-TLS support on the link.
+ When set to opportunistic, compatibility with non-DNS-over-TLS servers is
+ increased, by automatically turning off DNS-over-TLS servers in this case. This option
+ defines a per-interface setting for
+ resolved.conf5's
+ global DNSOverTLS= option. Defaults to unset, and the global setting will
+ be used. This setting is read by
+ systemd-resolved.service8.
+
+
+
+
+
+ DNSSEC=
+
+ Takes a boolean or allow-downgrade. When true, enables
+ DNSSEC DNS validation support on the
+ link. When set to allow-downgrade, compatibility with non-DNSSEC capable
+ networks is increased, by automatically turning off DNSSEC in this case. This option defines
+ a per-interface setting for
+ resolved.conf5's
+ global DNSSEC= option. Defaults to unset, and the global setting will be
+ used. This setting is read by
+ systemd-resolved.service8.
+
+
+
+
+
+ DNSSECNegativeTrustAnchors=
+
+ A space-separated list of DNSSEC negative trust anchor domains. If specified and DNSSEC
+ is enabled, look-ups done via the interface's DNS server will be subject to the list of
+ negative trust anchors, and not require authentication for the specified domains, or anything
+ below it. Use this to disable DNSSEC authentication for specific private domains, that cannot
+ be proven valid using the Internet DNS hierarchy. Defaults to the empty list. This setting is
+ read by
+ systemd-resolved.service8.
+
+
+
+
+
+ LLDP=
+
+ Controls support for Ethernet LLDP packet reception. LLDP is a link-layer protocol
+ commonly implemented on professional routers and bridges which announces which physical port
+ a system is connected to, as well as other related data. Accepts a boolean or the special
+ value routers-only. When true, incoming LLDP packets are accepted and a
+ database of all LLDP neighbors maintained. If routers-only is set only
+ LLDP data of various types of routers is collected and LLDP data about other types of devices
+ ignored (such as stations, telephones and others). If false, LLDP reception is disabled.
+ Defaults to routers-only. Use
+ networkctl1
+ to query the collected neighbor data. LLDP is only available on Ethernet links. See
+ EmitLLDP= below for enabling LLDP packet emission from the local system.
+
+
+
+
+
+ EmitLLDP=
+
+ Controls support for Ethernet LLDP packet emission. Accepts a boolean parameter or the
+ special values nearest-bridge, non-tpmr-bridge and
+ customer-bridge. Defaults to false, which turns off LLDP packet emission.
+ If not false, a short LLDP packet with information about the local system is sent out in
+ regular intervals on the link. The LLDP packet will contain information about the local
+ hostname, the local machine ID (as stored in
+ machine-id5)
+ and the local interface name, as well as the pretty hostname of the system (as set in
+ machine-info5).
+ LLDP emission is only available on Ethernet links. Note that this setting passes data
+ suitable for identification of host to the network and should thus not be enabled on
+ untrusted networks, where such identification data should not be made available. Use this
+ option to permit other systems to identify on which interfaces they are connected to this
+ system. The three special values control propagation of the LLDP packets. The
+ nearest-bridge setting permits propagation only to the nearest connected
+ bridge, non-tpmr-bridge permits propagation across Two-Port MAC Relays,
+ but not any other bridges, and customer-bridge permits propagation until
+ a customer bridge is reached. For details about these concepts, see
+ IEEE 802.1AB-2016.
+ Note that configuring this setting to true is equivalent to
+ nearest-bridge, the recommended and most restricted level of propagation.
+ See LLDP= above for an option to enable LLDP reception.
+
+
+
+
+ BindCarrier=
+
+ A link name or a list of link names. When set, controls the behavior of the current
+ link. When all links in the list are in an operational down state, the current link is
+ brought down. When at least one link has carrier, the current interface is brought up.
+
+ This forces ActivationPolicy= to be set to bound.
+
+
+
+
+
+ Address=
+
+ A static IPv4 or IPv6 address and its prefix length, separated by a
+ / character. Specify this key more than once to configure several
+ addresses. The format of the address must be as described in
+ inet_pton3.
+ This is a short-hand for an [Address] section only containing an Address key (see below).
+ This option may be specified more than once.
+
+ If the specified address is 0.0.0.0 (for IPv4) or
+ :: (for IPv6), a new address range of the requested size is automatically
+ allocated from a system-wide pool of unused ranges. Note that the prefix length must be equal
+ or larger than 8 for IPv4, and 64 for IPv6. The allocated range is checked against all
+ current network interfaces and all known network configuration files to avoid address range
+ conflicts. The default system-wide pool consists of 192.168.0.0/16, 172.16.0.0/12 and
+ 10.0.0.0/8 for IPv4, and fd00::/8 for IPv6. This functionality is useful to manage a large
+ number of dynamically created network interfaces with the same network configuration and
+ automatic address range assignment.
+
+
+
+
+ Gateway=
+
+ The gateway address, which must be in the format described in
+ inet_pton3.
+ This is a short-hand for a [Route] section only containing a Gateway= key.
+ This option may be specified more than once.
+
+
+
+
+ DNS=
+
+ A DNS server address, which must be in the format described in
+ inet_pton3.
+ This option may be specified more than once. Each address can optionally take a port number
+ separated with :, a network interface name or index separated with
+ %, and a Server Name Indication (SNI) separated with #.
+ When IPv6 address is specified with a port number, then the address must be in the square
+ brackets. That is, the acceptable full formats are
+ 111.222.333.444:9953%ifname#example.com for IPv4 and
+ [1111:2222::3333]:9953%ifname#example.com for IPv6. If an empty string is
+ assigned, then the all previous assignments are cleared. This setting is read by
+ systemd-resolved.service8.
+
+
+
+
+
+ Domains=
+
+ A whitespace-separated list of domains which should be resolved using the DNS servers
+ on this link. Each item in the list should be a domain name, optionally prefixed with a tilde
+ (~). The domains with the prefix are called "routing-only domains". The
+ domains without the prefix are called "search domains" and are first used as search suffixes
+ for extending single-label hostnames (hostnames containing no dots) to become fully qualified
+ domain names (FQDNs). If a single-label hostname is resolved on this interface, each of the
+ specified search domains are appended to it in turn, converting it into a fully qualified
+ domain name, until one of them may be successfully resolved.
+
+ Both "search" and "routing-only" domains are used for routing of DNS queries: look-ups
+ for hostnames ending in those domains (hence also single label names, if any "search domains"
+ are listed), are routed to the DNS servers configured for this interface. The domain routing
+ logic is particularly useful on multi-homed hosts with DNS servers serving particular private
+ DNS zones on each interface.
+
+ The "routing-only" domain ~. (the tilde indicating definition of a
+ routing domain, the dot referring to the DNS root domain which is the implied suffix of all
+ valid DNS names) has special effect. It causes all DNS traffic which does not match another
+ configured domain routing entry to be routed to DNS servers specified for this interface.
+ This setting is useful to prefer a certain set of DNS servers if a link on which they are
+ connected is available.
+
+ This setting is read by
+ systemd-resolved.service8.
+ "Search domains" correspond to the domain and search
+ entries in
+ resolv.conf5.
+ Domain name routing has no equivalent in the traditional glibc API, which has no concept of
+ domain name servers limited to a specific link.
+
+
+
+
+ DNSDefaultRoute=
+
+ Takes a boolean argument. If true, this link's configured DNS servers are used for
+ resolving domain names that do not match any link's configured Domains=
+ setting. If false, this link's configured DNS servers are never used for such domains, and
+ are exclusively used for resolving names that match at least one of the domains configured on
+ this link. If not specified defaults to an automatic mode: queries not matching any link's
+ configured domains will be routed to this link if it has no routing-only domains configured.
+
+
+
+
+
+ NTP=
+
+ An NTP server address (either an IP address, or a hostname). This option may be
+ specified more than once. This setting is read by
+ systemd-timesyncd.service8.
+
+
+
+
+
+ IPForward=
+
+ Configures IP packet forwarding for the system. If enabled, incoming packets on any
+ network interface will be forwarded to any other interfaces according to the routing table.
+ Takes a boolean, or the values ipv4 or ipv6, which only
+ enable IP packet forwarding for the specified address family. This controls the
+ net.ipv4.ip_forward and net.ipv6.conf.all.forwarding
+ sysctl options of the network interface (see
+ ip-sysctl.txt
+ for details about sysctl options). Defaults to no.
+
+ Note: this setting controls a global kernel option, and does so one way only: if a
+ network that has this setting enabled is set up the global setting is turned on. However,
+ it is never turned off again, even after all networks with this setting enabled are shut
+ down again.
+
+ To allow IP packet forwarding only between specific network interfaces use a firewall.
+
+
+
+
+
+ IPMasquerade=
+
+ Configures IP masquerading for the network interface. If enabled, packets forwarded
+ from the network interface will be appear as coming from the local host. Takes one of
+ ipv4, ipv6, both, or
no. Defaults to no. If enabled, this automatically sets
IPForward= to one of ipv4, ipv6 or
yes.Note. Any positive boolean values such as yes or
true are now deprecated. Please use one of the values in the above.
-
-
-
- IPv6PrivacyExtensions=
- Configures use of stateless temporary
- addresses that change over time (see RFC 4941,
- Privacy Extensions for Stateless Address Autoconfiguration
- in IPv6). Takes a boolean or the special values
- prefer-public and
- kernel. When true, enables the privacy
- extensions and prefers temporary addresses over public
- addresses. When prefer-public, enables the
- privacy extensions, but prefers public addresses over
- temporary addresses. When false, the privacy extensions
- remain disabled. When kernel, the kernel's
- default setting will be left in place. Defaults to
- no.
-
-
- IPv6AcceptRA=
- Takes a boolean. Controls IPv6 Router Advertisement (RA) reception support for the
- interface. If true, RAs are accepted; if false, RAs are ignored. When RAs are accepted, they may
- trigger the start of the DHCPv6 client if the relevant flags are set in the RA data, or if no
- routers are found on the link. The default is to disable RA reception for bridge devices or when IP
- forwarding is enabled, and to enable it otherwise. Cannot be enabled on bond devices and when link
- local addressing is disabled.
+
+
- Further settings for the IPv6 RA support may be configured in the [IPv6AcceptRA] section, see
- below.
+
+ IPv6PrivacyExtensions=
+
+ Configures use of stateless temporary addresses that change over time (see
+ RFC 4941,
+ Privacy Extensions for Stateless Address Autoconfiguration in IPv6). Takes a boolean or the
+ special values prefer-public and kernel. When true,
+ enables the privacy extensions and prefers temporary addresses over public addresses. When
+ prefer-public, enables the privacy extensions, but prefers public
+ addresses over temporary addresses. When false, the privacy extensions remain disabled. When
+ kernel, the kernel's default setting will be left in place. Defaults to
+ no.
+
+
- Also see ip-sysctl.txt in the kernel
- documentation regarding accept_ra, but note that systemd's setting of
- 1 (i.e. true) corresponds to kernel's setting of 2.
+
+ IPv6AcceptRA=
+
+ Takes a boolean. Controls IPv6 Router Advertisement (RA) reception support for the
+ interface. If true, RAs are accepted; if false, RAs are ignored. When RAs are accepted, they
+ may trigger the start of the DHCPv6 client if the relevant flags are set in the RA data, or
+ if no routers are found on the link. The default is to disable RA reception for bridge
+ devices or when IP forwarding is enabled, and to enable it otherwise. Cannot be enabled on
+ bond devices and when link local addressing is disabled.
+
+ Further settings for the IPv6 RA support may be configured in the [IPv6AcceptRA]
+ section, see below.
+
+ Also see
+ ip-sysctl.txt
+ in the kernel documentation regarding accept_ra, but note that systemd's
+ setting of 1 (i.e. true) corresponds to kernel's setting of
+ 2.Note that kernel's implementation of the IPv6 RA protocol is always disabled,
regardless of this setting. If this option is enabled, a userspace implementation of the IPv6
RA protocol is used, and the kernel's own implementation remains disabled, since
systemd-networkd needs to know all details supplied in the advertisements,
- and these are not available from the kernel if the kernel's own implementation is used.
+ and these are not available from the kernel if the kernel's own implementation is used.
+
-
-
- IPv6DuplicateAddressDetection=
- Configures the amount of IPv6 Duplicate
- Address Detection (DAD) probes to send. When unset, the kernel's default will be used.
-
-
-
- IPv6HopLimit=
- Configures IPv6 Hop Limit. For each router that
- forwards the packet, the hop limit is decremented by 1. When the
- hop limit field reaches zero, the packet is discarded.
- When unset, the kernel's default will be used.
-
-
-
- IPv4AcceptLocal=
- Takes a boolean. Accept packets with local source addresses. In combination
- with suitable routing, this can be used to direct packets between two local interfaces over
- the wire and have them accepted properly. When unset, the kernel's default will be used.
-
-
-
- IPv4RouteLocalnet=
- Takes a boolean. When true, the kernel does not consider loopback addresses as martian source or destination
- while routing. This enables the use of 127.0.0.0/8 for local routing purposes. When unset, the kernel's default will be used.
-
-
-
- IPv4ProxyARP=
- Takes a boolean. Configures proxy ARP for IPv4. Proxy ARP is the technique in which one host,
- usually a router, answers ARP requests intended for another machine. By "faking" its identity,
- the router accepts responsibility for routing packets to the "real" destination. See RFC 1027.
- When unset, the kernel's default will be used.
-
-
-
- IPv6ProxyNDP=
- Takes a boolean. Configures proxy NDP for IPv6. Proxy NDP (Neighbor Discovery
- Protocol) is a technique for IPv6 to allow routing of addresses to a different
- destination when peers expect them to be present on a certain physical link.
- In this case a router answers Neighbour Advertisement messages intended for
- another machine by offering its own MAC address as destination.
- Unlike proxy ARP for IPv4, it is not enabled globally, but will only send Neighbour
- Advertisement messages for addresses in the IPv6 neighbor proxy table,
- which can also be shown by ip -6 neighbour show proxy.
- systemd-networkd will control the per-interface `proxy_ndp` switch for each configured
- interface depending on this option.
- When unset, the kernel's default will be used.
-
-
-
- IPv6ProxyNDPAddress=
- An IPv6 address, for which Neighbour Advertisement messages will be
- proxied. This option may be specified more than once. systemd-networkd will add the
- entries to the kernel's IPv6 neighbor proxy table.
- This option implies but has no effect if
- has been set to false. When unset, the kernel's default will be used.
-
-
-
- IPv6SendRA=
- Whether to enable or disable Router Advertisement sending on a link. Takes a
- boolean value. When enabled, prefixes configured in [IPv6Prefix] sections and routes
- configured in [IPv6RoutePrefix] sections are distributed as defined in the [IPv6SendRA]
- section. If DHCPPrefixDelegation= is enabled, then the delegated prefixes
- are also distributed. See DCHPPrefixDelegation= setting and the
- [IPv6SendRA], [IPv6Prefix], [IPv6RoutePrefix], and [DHCPPrefixDelegation] sections for more
- configuration options.
-
-
- DHCPPrefixDelegation=
- Takes a boolean value. When enabled, requests subnet prefixes acquired by a
- DHCPv6 client, or by a DHCPv4 client through the 6RD option configured on another link. By
- default, an address within each delegated prefix will be assigned, and the prefixes will be
- announced through IPv6 Router Advertisement when IPv6SendRA= is enabled.
- Such default settings can be configured in [DHCPPrefixDelegation] section. Defaults to
- disabled.
-
-
- IPv6MTUBytes=
- Configures IPv6 maximum transmission unit (MTU).
- An integer greater than or equal to 1280 bytes. When unset, the kernel's default will be used.
-
-
-
- KeepMaster=
-
- Takes a boolean value. When enabled, the current master interface index will not be
- changed, and BatmanAdvanced=, Bond=,
- Bridge=, and VRF= settings are ignored. This may be
- useful when a netdev with a master interface is created by another program, e.g.
- systemd-nspawn1.
- Defaults to false.
-
-
-
- BatmanAdvanced=
- Bond=
- Bridge=
- VRF=
-
- The name of the B.A.T.M.A.N. Advanced, bond, bridge, or VRF interface to add the link
- to. See
- systemd.netdev5.
-
-
-
-
- IPoIB=
- IPVLAN=
- IPVTAP=
- L2TP=
- MACsec=
- MACVLAN=
- MACVTAP=
- Tunnel=
- VLAN=
- VXLAN=
- Xfrm=
-
- The name of an IPoIB, IPVLAN, IPVTAP, L2TP, MACsec, MACVLAN, MACVTAP, tunnel, VLAN,
- VXLAN, or Xfrm to be created on the link. See
- systemd.netdev5.
- This option may be specified more than once.
-
-
+
+
+
+ IPv6DuplicateAddressDetection=
+
+ Configures the amount of IPv6 Duplicate Address Detection (DAD) probes to send. When
+ unset, the kernel's default will be used.
+
+
+
+
+ IPv6HopLimit=
+
+ Configures IPv6 Hop Limit. For each router that forwards the packet, the hop limit is
+ decremented by 1. When the hop limit field reaches zero, the packet is discarded. When unset,
+ the kernel's default will be used.
+
+
+
+
+ IPv4AcceptLocal=
+
+ Takes a boolean. Accept packets with local source addresses. In combination with
+ suitable routing, this can be used to direct packets between two local interfaces over the
+ wire and have them accepted properly. When unset, the kernel's default will be used.
+
+
+
+
+ IPv4RouteLocalnet=
+
+ Takes a boolean. When true, the kernel does not consider loopback addresses as martian
+ source or destination while routing. This enables the use of 127.0.0.0/8 for local routing
+ purposes. When unset, the kernel's default will be used.
+
+
+
+
+ IPv4ProxyARP=
+
+ Takes a boolean. Configures proxy ARP for IPv4. Proxy ARP is the technique in which one
+ host, usually a router, answers ARP requests intended for another machine. By "faking" its
+ identity, the router accepts responsibility for routing packets to the "real" destination.
+ See RFC 1027. When unset, the
+ kernel's default will be used.
+
+
+
+
+ IPv6ProxyNDP=
+
+ Takes a boolean. Configures proxy NDP for IPv6. Proxy NDP (Neighbor Discovery Protocol)
+ is a technique for IPv6 to allow routing of addresses to a different destination when peers
+ expect them to be present on a certain physical link. In this case a router answers Neighbour
+ Advertisement messages intended for another machine by offering its own MAC address as
+ destination. Unlike proxy ARP for IPv4, it is not enabled globally, but will only send
+ Neighbour Advertisement messages for addresses in the IPv6 neighbor proxy table, which can
+ also be shown by ip -6 neighbour show proxy. systemd-networkd will control
+ the per-interface `proxy_ndp` switch for each configured interface depending on this option.
+ When unset, the kernel's default will be used.
+
+
+
+
+ IPv6ProxyNDPAddress=
+
+ An IPv6 address, for which Neighbour Advertisement messages will be proxied. This
+ option may be specified more than once. systemd-networkd will add the
+ IPv6ProxyNDPAddress= entries to the kernel's IPv6 neighbor proxy table.
+ This setting implies IPv6ProxyNDP=yes but has no effect if
+ IPv6ProxyNDP= has been set to false. When unset, the kernel's default will
+ be used.
+
+
+
+
+ IPv6SendRA=
+
+ Whether to enable or disable Router Advertisement sending on a link. Takes a boolean
+ value. When enabled, prefixes configured in [IPv6Prefix] sections and routes configured in
+ the [IPv6RoutePrefix] sections are distributed as defined in the [IPv6SendRA] section. If
+ DHCPPrefixDelegation= is enabled, then the delegated prefixes are also
+ distributed. See DCHPPrefixDelegation= setting and the [IPv6SendRA],
+ [IPv6Prefix], [IPv6RoutePrefix], and [DHCPPrefixDelegation] sections for more configuration
+ options.
+
+
+
+
+ DHCPPrefixDelegation=
+
+ Takes a boolean value. When enabled, requests subnet prefixes acquired by a DHCPv6
+ client, or by a DHCPv4 client through the 6RD option configured on another link. By default,
+ an address within each delegated prefix will be assigned, and the prefixes will be announced
+ through IPv6 Router Advertisement when IPv6SendRA= is enabled. Such
+ default settings can be configured in the [DHCPPrefixDelegation] section. Defaults to
+ disabled.
+
+
+
+
+ IPv6MTUBytes=
+
+ Configures IPv6 maximum transmission unit (MTU). An integer greater than or equal to
+ 1280 bytes. When unset, the kernel's default will be used.
+
+
+
+
+ KeepMaster=
+
+ Takes a boolean value. When enabled, the current master interface index will not be
+ changed, and BatmanAdvanced=, Bond=,
+ Bridge=, and VRF= settings are ignored. This may be
+ useful when a netdev with a master interface is created by another program, e.g.
+ systemd-nspawn1.
+ Defaults to false.
+
+
+
+
+ BatmanAdvanced=
+ Bond=
+ Bridge=
+ VRF=
+
+ The name of the B.A.T.M.A.N. Advanced, bond, bridge, or VRF interface to add the link
+ to. See
+ systemd.netdev5.
+
+
+
+
+
+ IPoIB=
+ IPVLAN=
+ IPVTAP=
+ L2TP=
+ MACsec=
+ MACVLAN=
+ MACVTAP=
+ Tunnel=
+ VLAN=
+ VXLAN=
+ Xfrm=
+
+ The name of an IPoIB, IPVLAN, IPVTAP, L2TP, MACsec, MACVLAN, MACVTAP, tunnel, VLAN,
+ VXLAN, or Xfrm to be created on the link. See
+ systemd.netdev5.
+ This option may be specified more than once.
+
+
+
ActiveSlave=Takes a boolean. Specifies the new active slave. The ActiveSlave=
- option is only valid for following modes:
- active-backup,
- balance-alb and
- balance-tlb. Defaults to false.
-
+ option is only valid for following modes: active-backup,
+ balance-alb, and balance-tlb. Defaults to false.
+
PrimarySlave=
- Takes a boolean. Specifies which slave is the primary device. The specified
- device will always be the active slave while it is available. Only when the
- primary is off-line will alternate devices be used. This is useful when
- one slave is preferred over another, e.g. when one slave has higher throughput
- than another. The PrimarySlave= option is only valid for
- following modes:
- active-backup,
- balance-alb and
- balance-tlb. Defaults to false.
-
+ Takes a boolean. Specifies which slave is the primary device. The specified device will
+ always be the active slave while it is available. Only when the primary is off-line will
+ alternate devices be used. This is useful when one slave is preferred over another, e.g.
+ when one slave has higher throughput than another. The PrimarySlave=
+ option is only valid for following modes: active-backup,
+ balance-alb, and balance-tlb. Defaults to false.
+
ConfigureWithoutCarrier=
- Takes a boolean. Allows networkd to configure a specific link even if it has no carrier.
- Defaults to false. If enabled, and the IgnoreCarrierLoss= setting is not
- explicitly set, then it is enabled as well.
-
+ Takes a boolean. Allows networkd to configure a specific link even if it has no
+ carrier. Defaults to false. If enabled, and the IgnoreCarrierLoss= setting
+ is not explicitly set, then it is enabled as well.
+
IgnoreCarrierLoss=
@@ -967,6 +1018,7 @@ Table=1234
+
KeepConfiguration=
@@ -989,1140 +1041,1210 @@ Table=1234
[Address] Section Options
- An [Address] section accepts the following keys. Specify several [Address]
- sections to configure several addresses.
+ An [Address] section accepts the following keys. Specify several [Address] sections to
+ configure several addresses.
-
-
- Address=
-
- As in the [Network] section. This key is mandatory. Each [Address] section can contain one
- Address= setting.
-
-
-
- Peer=
-
- The peer address in a point-to-point connection.
- Accepts the same format as the Address=
- key.
-
-
-
- Broadcast=
-
- Takes an IPv4 address or boolean value. The address must be in the format described in
- inet_pton3.
- If set to true, then the IPv4 broadcast address will be derived from the
- Address= setting. If set to false, then the broadcast address will not
- be set. Defaults to true, except for wireguard interfaces, where it default to false.
-
-
-
-
- Label=
-
- Specifies the label for the IPv4 address. The label must be a 7-bit ASCII string with
- a length of 1…15 characters. Defaults to unset.
-
-
-
- PreferredLifetime=
-
- Allows the default "preferred lifetime" of the address to be overridden. Only three
- settings are accepted: forever, infinity, which is the
- default and means that the address never expires, and 0, which means that the
- address is considered immediately "expired" and will not be used, unless explicitly requested. A
- setting of is useful for addresses which are added to be
- used only by a specific application, which is then configured to use them explicitly.
-
-
-
- Scope=
-
- The scope of the address, which can be
- global (valid everywhere on the network, even through a gateway),
- link (only valid on this device, will not traverse a gateway) or
- host (only valid within the device itself, e.g. 127.0.0.1)
- or an unsigned integer in the range 0…255.
- Defaults to global.
-
-
-
- RouteMetric=
-
- The metric of the prefix route, which is pointing to the subnet of the configured IP
- address, taking the configured prefix length into account. Takes an unsigned integer in the
- range 0…4294967295. When unset or set to 0, the kernel's default value is used. This
- setting will be ignored when AddPrefixRoute= is false.
-
-
-
- HomeAddress=
-
- Takes a boolean. Designates this address the "home address" as defined in
- RFC 6275.
- Supported only on IPv6. Defaults to false.
-
-
-
- DuplicateAddressDetection=
-
- Takes one of ipv4, ipv6,
- both, none. When ipv4,
- performs IPv4 Address Conflict Detection. See
- RFC 5227.
- When ipv6, performs IPv6 Duplicate Address Detection. See
- RFC 4862.
- Defaults to ipv6.
-
-
-
- ManageTemporaryAddress=
-
- Takes a boolean. If true the kernel manage temporary addresses created
- from this one as template on behalf of Privacy Extensions
- RFC 3041. For this to become
- active, the use_tempaddr sysctl setting has to be set to a value greater than zero.
- The given address needs to have a prefix length of 64. This flag allows using privacy
- extensions in a manually configured network, just like if stateless auto-configuration
- was active. Defaults to false.
-
-
-
- AddPrefixRoute=
-
- Takes a boolean. When true, the prefix route for the address is automatically added.
- Defaults to true.
-
-
-
- AutoJoin=
-
- Takes a boolean. Joining multicast group on ethernet level via
- ip maddr command would not work if we have an Ethernet switch that does
- IGMP snooping since the switch would not replicate multicast packets on ports that did not
- have IGMP reports for the multicast addresses. Linux vxlan interfaces created via
- ip link add vxlan or networkd's netdev kind vxlan have the group option
- that enables then to do the required join. By extending ip address command with option
- autojoin we can get similar functionality for openvswitch (OVS) vxlan
- interfaces as well as other tunneling mechanisms that need to receive multicast traffic.
- Defaults to no.
-
-
-
+
+
+ Address=
+
+ As in the [Network] section. This setting is mandatory. Each [Address] section can
+ contain one Address= setting.
+
+
+
+
+ Peer=
+
+ The peer address in a point-to-point connection. Accepts the same format as the
+ Address= setting.
+
+
+
+
+ Broadcast=
+
+ Takes an IPv4 address or boolean value. The address must be in the format described in
+ inet_pton3.
+ If set to true, then the IPv4 broadcast address will be derived from the
+ Address= setting. If set to false, then the broadcast address will not be
+ set. Defaults to true, except for wireguard interfaces, where it default to false.
+
+
+
+
+ Label=
+
+ Specifies the label for the IPv4 address. The label must be a 7-bit ASCII string with
+ a length of 1…15 characters. Defaults to unset.
+
+
+
+
+ PreferredLifetime=
+
+ Allows the default "preferred lifetime" of the address to be overridden. Only three
+ settings are accepted: forever, infinity, which is the
+ default and means that the address never expires, and 0, which means that
+ the address is considered immediately "expired" and will not be used, unless explicitly
+ requested. A setting of is useful for addresses which
+ are added to be used only by a specific application, which is then configured to use them
+ explicitly.
+
+
+
+
+ Scope=
+
+ The scope of the address, which can be global (valid everywhere on
+ the network, even through a gateway), link (only valid on this device,
+ will not traverse a gateway) or host (only valid within the device itself,
+ e.g. 127.0.0.1) or an integer in the range 0…255. Defaults to global.
+
+
+
+
+
+ RouteMetric=
+
+ The metric of the prefix route, which is pointing to the subnet of the configured IP
+ address, taking the configured prefix length into account. Takes an unsigned integer in the
+ range 0…4294967295. When unset or set to 0, the kernel's default value is used. This
+ setting will be ignored when AddPrefixRoute= is false.
+
+
+
+
+ HomeAddress=
+
+ Takes a boolean. Designates this address the "home address" as defined in
+ RFC 6275. Supported only on IPv6.
+ Defaults to false.
+
+
+
+
+ DuplicateAddressDetection=
+
+ Takes one of ipv4, ipv6, both,
+ or none. When ipv4, performs IPv4 Address Conflict
+ Detection. See RFC 5227.
+ When ipv6, performs IPv6 Duplicate Address Detection. See
+ RFC 4862. Defaults to
+ ipv6.
+
+
+
+
+ ManageTemporaryAddress=
+
+ Takes a boolean. If true the kernel manage temporary addresses created from this one as
+ template on behalf of Privacy Extensions
+ RFC 3041. For this to become active,
+ the use_tempaddr sysctl setting has to be set to a value greater than zero. The given address
+ needs to have a prefix length of 64. This flag allows using privacy extensions in a manually
+ configured network, just like if stateless auto-configuration was active. Defaults to false.
+
+
+
+
+
+ AddPrefixRoute=
+
+ Takes a boolean. When true, the prefix route for the address is automatically added.
+ Defaults to true.
+
+
+
+
+ AutoJoin=
+
+ Takes a boolean. Joining multicast group on ethernet level via
+ ip maddr command would not work if we have an Ethernet switch that does
+ IGMP snooping since the switch would not replicate multicast packets on ports that did not
+ have IGMP reports for the multicast addresses. Linux vxlan interfaces created via
+ ip link add vxlan or networkd's netdev kind vxlan have the group option
+ that enables then to do the required join. By extending ip address command with option
+ autojoin we can get similar functionality for openvswitch (OVS) vxlan
+ interfaces as well as other tunneling mechanisms that need to receive multicast traffic.
+ Defaults to no.
+
+
+ [Neighbor] Section Options
- A [Neighbor] section accepts the following keys. The neighbor section adds a permanent, static
- entry to the neighbor table (IPv6) or ARP table (IPv4) for the given hardware address on the links
- matched for the network. Specify several [Neighbor] sections to configure several static neighbors.
-
-
-
- Address=
-
- The IP address of the neighbor.
-
-
-
- LinkLayerAddress=
-
- The link layer address (MAC address or IP address) of the neighbor.
-
-
-
+ A [Neighbor] section accepts the following keys. The neighbor section adds a permanent,
+ static entry to the neighbor table (IPv6) or ARP table (IPv4) for the given hardware address on the
+ links matched for the network. Specify several [Neighbor] sections to configure several static
+ neighbors.
+
+
+
+ Address=
+
+ The IP address of the neighbor.
+
+
+
+
+ LinkLayerAddress=
+
+ The link layer address (MAC address or IP address) of the neighbor.
+
+
+
-
+ [IPv6AddressLabel] Section Options
- An [IPv6AddressLabel] section accepts the following keys. Specify several [IPv6AddressLabel]
- sections to configure several address labels. IPv6 address labels are used for address selection. See
- RFC 3484. Precedence is managed by userspace,
- and only the label itself is stored in the kernel.
+ An [IPv6AddressLabel] section accepts the following keys. Specify several [IPv6AddressLabel]
+ sections to configure several address labels. IPv6 address labels are used for address selection.
+ See RFC 3484. Precedence is managed by
+ userspace, and only the label itself is stored in the kernel.
-
-
- Label=
-
- The label for the prefix, an unsigned integer in the range 0…4294967294.
- 0xffffffff is reserved. This setting is mandatory.
-
-
-
- Prefix=
-
- IPv6 prefix is an address with a prefix length, separated by a slash / character.
- This key is mandatory.
-
-
-
+
+
+ Label=
+
+ The label for the prefix, an unsigned integer in the range 0…4294967294. 0xffffffff is
+ reserved. This setting is mandatory.
+
+
+
+
+ Prefix=
+
+ IPv6 prefix is an address with a prefix length, separated by a slash
+ / character. This setting is mandatory.
+
+
+
-
+ [RoutingPolicyRule] Section Options
- An [RoutingPolicyRule] section accepts the following keys. Specify several [RoutingPolicyRule]
- sections to configure several rules.
+ An [RoutingPolicyRule] section accepts the following settings. Specify several
+ [RoutingPolicyRule] sections to configure several rules.
-
-
- TypeOfService=
-
- Takes a number between 0 and 255 that specifies the type of service to match.
-
-
-
- From=
-
- Specifies the source address prefix to match. Possibly followed by a slash and the prefix length.
-
-
-
- To=
-
- Specifies the destination address prefix to match. Possibly followed by a slash and the prefix length.
-
-
-
- FirewallMark=
-
- Specifies the iptables firewall mark value to match (a number between 1 and
- 4294967295). Optionally, the firewall mask (also a number between 1 and 4294967295) can be
- suffixed with a slash (/), e.g., 7/255.
-
-
-
- Table=
-
- Specifies the routing table identifier to lookup if the rule selector matches. Takes one of predefined names
- default, main, and local, and names defined in RouteTable=
- in networkd.conf5,
- or a number between 1 and 4294967295. Defaults to main.
-
-
-
- Priority=
-
- Specifies the priority of this rule. Priority= is an unsigned
- integer in the range 0…4294967295. Higher number means lower priority, and rules get
- processed in order of increasing number. Defaults to unset, and the kernel will pick
- a value dynamically.
-
-
-
- IncomingInterface=
-
- Specifies incoming device to match. If the interface is loopback, the rule only matches packets originating from this host.
-
-
-
- OutgoingInterface=
-
- Specifies the outgoing device to match. The outgoing interface is only available for packets originating from local sockets that are bound to a device.
-
-
-
- SourcePort=
-
- Specifies the source IP port or IP port range match in forwarding information base (FIB) rules.
- A port range is specified by the lower and upper port separated by a dash. Defaults to unset.
-
-
-
- DestinationPort=
-
- Specifies the destination IP port or IP port range match in forwarding information base (FIB) rules.
- A port range is specified by the lower and upper port separated by a dash. Defaults to unset.
-
-
-
- IPProtocol=
-
- Specifies the IP protocol to match in forwarding information base (FIB) rules. Takes IP protocol name such as tcp,
- udp or sctp, or IP protocol number such as 6 for tcp or
- 17 for udp.
- Defaults to unset.
-
-
-
- InvertRule=
-
- A boolean. Specifies whether the rule is to be inverted. Defaults to false.
-
-
-
- Family=
-
- Takes a special value ipv4, ipv6, or
- both. By default, the address family is determined by the address
- specified in To= or From=. If neither
- To= nor From= are specified, then defaults to
- ipv4.
-
-
-
- User=
-
- Takes a username, a user ID, or a range of user IDs separated by a dash. Defaults to
- unset.
-
-
-
- SuppressPrefixLength=
-
- Takes a number N in the range 0…128 and rejects routing
- decisions that have a prefix length of N or less. Defaults to
- unset.
-
-
-
- SuppressInterfaceGroup=
-
- Takes an integer in the range 0…2147483647 and rejects routing decisions that have
- an interface with the same group id. It has the same meaning as
- in ip rule. Defaults to unset.
-
-
-
- Type=
-
- Specifies Routing Policy Database (RPDB) rule type. Takes one of blackhole,
- unreachable or prohibit.
-
-
-
-
-
+
+
+ TypeOfService=
+
+ Takes a number between 0 and 255 that specifies the type of service to match.
+
+
-
- [NextHop] Section Options
- The [NextHop] section is used to manipulate entries in the kernel's "nexthop" tables. The
- [NextHop] section accepts the following keys. Specify several [NextHop] sections to configure several
- hops.
+
+ From=
+
+ Specifies the source address prefix to match. Possibly followed by a slash and the
+ prefix length.
+
+
-
-
- Id=
-
- The id of the next hop. Takes an unsigned integer in the range 1…4294967295. If left
- unspecified, then automatically chosen by kernel.
-
-
-
- Gateway=
-
- As in the [Network] section.
-
-
-
- Family=
-
- Takes one of the special values ipv4 or ipv6.
- By default, the family is determined by the address specified in
- Gateway=. If Gateway= is not specified, then defaults
- to ipv4.
-
-
-
- OnLink=
-
- 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 nexthop in the kernel table without it being complained about. Defaults to
- no.
-
-
-
- Blackhole=
-
- Takes a boolean. If enabled, packets to the corresponding routes are discarded
- silently, and Gateway= cannot be specified. Defaults to
- no.
-
-
-
- Group=
-
- Takes a whitespace separated list of nexthop IDs. Each ID must be in the range
- 1…4294967295. Optionally, each nexthop ID can take a weight after a colon
- (id:weight).
- The weight must be in the range 1…255. If the weight is not specified, then it is assumed
- that the weight is 1. This setting cannot be specified with Gateway=,
- Family=, Blackhole=. This setting can be specified
- multiple times. If an empty string is assigned, then the all previous assignments are
- cleared. Defaults to unset.
-
-
-
+
+ To=
+
+ Specifies the destination address prefix to match. Possibly followed by a slash and the
+ prefix length.
+
+
+
+
+ FirewallMark=
+
+ Specifies the iptables firewall mark value to match (a number in the range
+ 1…4294967295). Optionally, the firewall mask (also a number between 1…4294967295) can be
+ suffixed with a slash (/), e.g., 7/255.
+
+
+
+
+ Table=
+
+ Specifies the routing table identifier to lookup if the rule selector matches. Takes
+ one of predefined names default, main, and
+ local, and names defined in RouteTable= in
+ networkd.conf5,
+ or a number between 1 and 4294967295. Defaults to main.
+
+
+
+
+ Priority=
+
+ Specifies the priority of this rule. Priority= is an integer in the
+ range 0…4294967295. Higher number means lower priority, and rules get processed in order of
+ increasing number. Defaults to unset, and the kernel will pick a value dynamically.
+
+
+
+
+ IncomingInterface=
+
+ Specifies incoming device to match. If the interface is loopback, the rule only matches
+ packets originating from this host.
+
+
+
+
+ OutgoingInterface=
+
+ Specifies the outgoing device to match. The outgoing interface is only available for
+ packets originating from local sockets that are bound to a device.
+
+
+
+
+ SourcePort=
+
+ Specifies the source IP port or IP port range match in forwarding information base
+ (FIB) rules. A port range is specified by the lower and upper port separated by a dash.
+ Defaults to unset.
+
+
+
+
+ DestinationPort=
+
+ Specifies the destination IP port or IP port range match in forwarding information base
+ (FIB) rules. A port range is specified by the lower and upper port separated by a dash.
+ Defaults to unset.
+
+
+
+
+ IPProtocol=
+
+ Specifies the IP protocol to match in forwarding information base (FIB) rules. Takes IP
+ protocol name such as tcp, udp or
+ sctp, or IP protocol number such as 6 for
+ tcp or 17 for udp. Defaults to unset.
+
+
+
+
+
+ InvertRule=
+
+ A boolean. Specifies whether the rule is to be inverted. Defaults to false.
+
+
+
+
+ Family=
+
+ Takes a special value ipv4, ipv6, or
+ both. By default, the address family is determined by the address
+ specified in To= or From=. If neither
+ To= nor From= are specified, then defaults to
+ ipv4.
+
+
+
+
+ User=
+
+ Takes a username, a user ID, or a range of user IDs separated by a dash. Defaults to
+ unset.
+
+
+
+
+ SuppressPrefixLength=
+
+ Takes a number N in the range 0…128 and rejects routing
+ decisions that have a prefix length of N or less. Defaults to
+ unset.
+
+
+
+
+ SuppressInterfaceGroup=
+
+ Takes an integer in the range 0…2147483647 and rejects routing decisions that have
+ an interface with the same group id. It has the same meaning as
+ in ip rule. Defaults to unset.
+
+
+
+
+ Type=
+
+ Specifies Routing Policy Database (RPDB) rule type. Takes one of
+ blackhole, unreachable or prohibit.
+
+
+
+
+
+
+
+ [NextHop] Section Options
+
+ The [NextHop] section is used to manipulate entries in the kernel's "nexthop" tables. The
+ [NextHop] section accepts the following settings. Specify several [NextHop] sections to configure
+ several hops.
+
+
+
+ Id=
+
+ The id of the next hop. Takes an integer in the range 1…4294967295. If unspecified,
+ then automatically chosen by kernel.
+
+
+
+
+ Gateway=
+
+ As in the [Network] section.
+
+
+
+
+ Family=
+
+ Takes one of the special values ipv4 or ipv6.
+ By default, the family is determined by the address specified in
+ Gateway=. If Gateway= is not specified, then defaults
+ to ipv4.
+
+
+
+
+ OnLink=
+
+ 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 nexthop in the kernel table without it being complained about. Defaults to
+ no.
+
+
+
+
+ Blackhole=
+
+ Takes a boolean. If enabled, packets to the corresponding routes are discarded
+ silently, and Gateway= cannot be specified. Defaults to
+ no.
+
+
+
+
+ Group=
+
+ Takes a whitespace separated list of nexthop IDs. Each ID must be in the range
+ 1…4294967295. Optionally, each nexthop ID can take a weight after a colon
+ (id:weight).
+ The weight must be in the range 1…255. If the weight is not specified, then it is assumed
+ that the weight is 1. This setting cannot be specified with Gateway=,
+ Family=, Blackhole=. This setting can be specified
+ multiple times. If an empty string is assigned, then the all previous assignments are
+ cleared. Defaults to unset.
+
+
+ [Route] Section Options
- 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 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.
+ The [Route] section accepts the following settings. Specify several [Route] sections to
+ configure several routes.
- site means an interior route in
- the local autonomous system.
+
+
+ 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.
+
+
- link means the route can only
- reach hosts on the local network (one hop away).
+
+ 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.
+
+
- host means the route will not
- leave the local machine (used for internal addresses like
- 127.0.0.1).
+
+ 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.
+
+
- 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_pton3.
-
-
-
- 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.
+
+ 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 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_pton3.
-
-
-
- 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.
-
-
-
-
+
+
+
+
+ Table=
+
+ The table identifier for the route. Takes one of predefined names
+ default, main, and local, and names
+ defined in RouteTable= in
+ networkd.conf5,
+ 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.
+ 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.
-
-
- IPServiceType=
-
- Takes one of the special values none, CS6, or
- CS4. When none no IP service type is set to the packet
- sent from the DHCPv4 client. When CS6 (network control) or
- CS4 (realtime), the corresponding service type will be set. 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.
-
-
-
+
+
+
+ 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.
+
+
+ [DHCPv4] Section Options
- The [DHCPv4] section configures the DHCPv4 client, if it is enabled with the
- DHCP= setting described above:
-
+ The [DHCPv4] section configures the DHCPv4 client, if it is enabled with the
+ DHCP= setting described above:
-
+
-
- SendHostname=
-
- When true (the default), the machine's hostname (or the value specified with
- Hostname=, described below) will be sent to the DHCP server. Note that the
- hostname must consist only of 7-bit ASCII lower-case characters and no spaces or dots, and be
- formatted as a valid DNS domain name. Otherwise, the hostname is not sent even if this option is
- true.
-
-
+
-
- Hostname=
-
- Use this value for the hostname which is sent to the DHCP server, instead of machine's hostname.
- Note that the specified hostname must consist only of 7-bit ASCII lower-case characters and
- no spaces or dots, and be formatted as a valid DNS domain name.
-
-
+
+ SendHostname=
+
+ When true (the default), the machine's hostname (or the value specified with
+ Hostname=, described below) will be sent to the DHCP server. Note that the
+ hostname must consist only of 7-bit ASCII lower-case characters and no spaces or dots, and be
+ formatted as a valid DNS domain name. Otherwise, the hostname is not sent even if this option
+ is true.
+
+
-
- MUDURL=
-
- When configured, the specified Manufacturer Usage Description (MUD) URL will be sent to the
- DHCPv4 server. Takes a URL of length up to 255 characters. A superficial verification that the
- string is a valid URL will be performed. DHCPv4 clients are intended to have at most one MUD URL
- associated with them. See RFC 8520.
-
+
+ Hostname=
+
+ Use this value for the hostname which is sent to the DHCP server, instead of machine's
+ hostname. Note that the specified hostname must consist only of 7-bit ASCII lower-case
+ characters and no spaces or dots, and be formatted as a valid DNS domain name.
+
+
- MUD is an embedded software standard defined by the IETF that allows IoT device makers to
- advertise device specifications, including the intended communication patterns for their device
- when it connects to the network. The network can then use this to author a context-specific
- access policy, so the device functions only within those parameters.
-
-
+
+ MUDURL=
+
+ When configured, the specified Manufacturer Usage Description (MUD) URL will be sent
+ to the DHCPv4 server. Takes a URL of length up to 255 characters. A superficial verification
+ that the string is a valid URL will be performed. DHCPv4 clients are intended to have at most
+ one MUD URL associated with them. See
+ RFC 8520.
-
- ClientIdentifier=
-
- The DHCPv4 client identifier to use. Takes one of ,
- or . If set to , the
- MAC address of the link is used. If set to , an RFC4361-compliant Client
- ID, which is the combination of IAID and DUID (see below), is used. If set to
- , only DUID is used, this may not be RFC compliant, but some setups
- may require to use this. Defaults to .
-
-
+ MUD is an embedded software standard defined by the IETF that allows IoT device makers
+ to advertise device specifications, including the intended communication patterns for their
+ device when it connects to the network. The network can then use this to author a
+ context-specific access policy, so the device functions only within those parameters.
+
+
-
- VendorClassIdentifier=
-
- The vendor class identifier used to identify vendor
- type and configuration.
-
-
+
+ ClientIdentifier=
+
+ The DHCPv4 client identifier to use. Takes one of ,
+ or . If set to , the
+ MAC address of the link is used. If set to , an RFC4361-compliant Client
+ ID, which is the combination of IAID and DUID (see below), is used. If set to
+ , only DUID is used, this may not be RFC compliant, but some setups
+ may require to use this. Defaults to .
+
+
-
- UserClass=
-
- A DHCPv4 client can use UserClass option to identify the type or category of user or
- applications it represents. The information contained in this option is a string that represents
- the user class of which the client is a member. Each class sets an identifying string of
- information to be used by the DHCP service to classify clients. Takes a whitespace-separated list
- of strings.
-
-
+
+ VendorClassIdentifier=
+
+ The vendor class identifier used to identify vendor type and configuration.
+
+
-
- DUIDType=
-
- Override the global DUIDType= setting for this network. See
- networkd.conf5
- for a description of possible values.
-
-
+
+ UserClass=
+
+ A DHCPv4 client can use UserClass option to identify the type or category of user or
+ applications it represents. The information contained in this option is a string that
+ represents the user class of which the client is a member. Each class sets an identifying
+ string of information to be used by the DHCP service to classify clients. Takes a
+ whitespace-separated list of strings.
+
+
-
- DUIDRawData=
-
- Override the global DUIDRawData= setting for this network. See
- networkd.conf5
- for a description of possible values.
-
-
+
+ DUIDType=
+
+ Override the global DUIDType= setting for this network. See
+ networkd.conf5
+ for a description of possible values.
+
+
-
- IAID=
-
- The DHCP Identity Association Identifier (IAID) for the interface, a 32-bit unsigned
- integer.
-
-
+
+ DUIDRawData=
+
+ Override the global DUIDRawData= setting for this network. See
+ networkd.conf5
+ for a description of possible values.
+
+
-
- Anonymize=
-
- Takes a boolean. When true, the options sent to the DHCP server will follow the
- RFC 7844 (Anonymity Profiles for
- DHCP Clients) to minimize disclosure of identifying information. Defaults to false.
+
+ IAID=
+
+ The DHCP Identity Association Identifier (IAID) for the interface, a 32-bit unsigned
+ integer.
+
+
- This option should only be set to true when MACAddressPolicy= is
- set to (see
- systemd.link5).
-
+
+ Anonymize=
+
+ Takes a boolean. When true, the options sent to the DHCP server will follow the
+ RFC 7844 (Anonymity Profiles for
+ DHCP Clients) to minimize disclosure of identifying information. Defaults to false.
- When true, SendHostname=, ClientIdentifier=,
- VendorClassIdentifier=, UserClass=,
- RequestOptions=, SendOption=,
- SendVendorOption=, and MUDURL= are ignored.
+ This option should only be set to true when MACAddressPolicy= is set
+ to (see
+ systemd.link5).
+
- With this option enabled DHCP requests will mimic those generated by Microsoft
- Windows, in order to reduce the ability to fingerprint and recognize installations. This
- means DHCP request sizes will grow and lease data will be more comprehensive than normally,
- though most of the requested data is not actually used.
-
-
+ When true, SendHostname=, ClientIdentifier=,
+ VendorClassIdentifier=, UserClass=,
+ RequestOptions=, SendOption=,
+ SendVendorOption=, and MUDURL= are ignored.
-
- RequestOptions=
-
- Sets request options to be sent to the server in the DHCPv4 request options list. A
- whitespace-separated list of integers in the range 1…254. Defaults to unset.
-
-
+ With this option enabled DHCP requests will mimic those generated by Microsoft
+ Windows, in order to reduce the ability to fingerprint and recognize installations. This
+ means DHCP request sizes will grow and lease data will be more comprehensive than normally,
+ though most of the requested data is not actually used.
+
+
-
- SendOption=
-
- Send an arbitrary raw option in the DHCPv4 request. Takes a DHCP option number, data type
- and data separated with a colon
- (option:type:value).
- The option number must be an integer in the range 1…254. The type takes one of
- uint8, uint16, uint32,
- ipv4address, or string. Special characters in the data
- string may be escaped using C-style
- escapes. This setting can be specified multiple times. If an empty string is specified,
- then all options specified earlier are cleared. Defaults to unset.
-
-
+
+ RequestOptions=
+
+ Sets request options to be sent to the server in the DHCPv4 request options list. A
+ whitespace-separated list of integers in the range 1…254. Defaults to unset.
+
+
-
- SendVendorOption=
-
- Send an arbitrary vendor option in the DHCPv4 request. Takes a DHCP option number, data
- type and data separated with a colon
- (option:type:value).
- The option number must be an integer in the range 1…254. The type takes one of
- uint8, uint16, uint32,
- ipv4address, or string. Special characters in the data
- string may be escaped using C-style
- escapes. This setting can be specified multiple times. If an empty string is specified,
- then all options specified earlier are cleared. Defaults to unset.
-
-
+
+ SendOption=
+
+ Send an arbitrary raw option in the DHCPv4 request. Takes a DHCP option number, data
+ type and data separated with a colon
+ (option:type:value).
+ The option number must be an integer in the range 1…254. The type takes one of
+ uint8, uint16, uint32,
+ ipv4address, or string. Special characters in the data
+ string may be escaped using
+ C-style
+ escapes. This setting can be specified multiple times. If an empty string is
+ specified, then all options specified earlier are cleared. Defaults to unset.
+
+
-
+
+ SendVendorOption=
+
+ Send an arbitrary vendor option in the DHCPv4 request. Takes a DHCP option number, data
+ type and data separated with a colon
+ (option:type:value).
+ The option number must be an integer in the range 1…254. The type takes one of
+ uint8, uint16, uint32,
+ ipv4address, or string. Special characters in the data
+ string may be escaped using
+ C-style
+ escapes. This setting can be specified multiple times. If an empty string is specified,
+ then all options specified earlier are cleared. Defaults to unset.
+
+
-
- Label=
-
- Specifies the label for the IPv4 address received from the DHCP server.
- The label must be a 7-bit ASCII string with a length of 1…15 characters.
- Defaults to unset.
-
-
+
+ IPServiceType=
+
+ Takes one of the special values none, CS6, or
+ CS4. When none no IP service type is set to the packet
+ sent from the DHCPv4 client. When CS6 (network control) or
+ CS4 (realtime), the corresponding service type will be set. Defaults to
+ CS6.
+
+
-
- UseDNS=
-
- When true (the default), the DNS servers received from the DHCP server will be used.
+
- This corresponds to the
- option in resolv.conf5.
-
-
+
+ Label=
+
+ Specifies the label for the IPv4 address received from the DHCP server. The label must
+ be a 7-bit ASCII string with a length of 1…15 characters. Defaults to unset.
+
+
-
- RoutesToDNS=
-
- When true, the routes to the DNS servers received from the DHCP server will be
- configured. When UseDNS= is disabled, this setting is ignored.
- Defaults to true.
-
-
+
+ UseDNS=
+
+ When true (the default), the DNS servers received from the DHCP server will be used.
+
-
- UseNTP=
-
- When true (the default), the NTP servers received from the DHCP server will be used by
- systemd-timesyncd.service.
-
-
+ This corresponds to the option in
+ resolv.conf5.
+
+
+
-
- RoutesToNTP=
-
- When true, the routes to the NTP servers received from the DHCP server will be
- configured. When UseNTP= is disabled, this setting is ignored.
- Defaults to true.
-
-
+
+ RoutesToDNS=
+
+ When true, the routes to the DNS servers received from the DHCP server will be
+ configured. When UseDNS= is disabled, this setting is ignored. Defaults to
+ true.
+
+
-
- UseSIP=
-
- When true (the default), the SIP servers received from the DHCP server will be collected
- and made available to client programs.
-
-
+
+ UseNTP=
+
+ When true (the default), the NTP servers received from the DHCP server will be used by
+ systemd-timesyncd.service.
+
+
-
- UseMTU=
-
- When true, the interface maximum transmission unit from the DHCP server will be used on the
- current link. If MTUBytes= is set, then this setting is ignored. Defaults to
- false.
- Note, some drivers will reset the interfaces if the MTU is changed. For such
- interfaces, please try to use IgnoreCarrierLoss= with a short timespan,
- e.g. 3 seconds.
-
-
+
+ RoutesToNTP=
+
+ When true, the routes to the NTP servers received from the DHCP server will be
+ configured. When UseNTP= is disabled, this setting is ignored. Defaults to
+ true.
+
+
-
- UseHostname=
-
- When true (the default), the hostname received from the DHCP server will be set as the
- transient hostname of the system.
-
-
+
+ UseSIP=
+
+ When true (the default), the SIP servers received from the DHCP server will be collected
+ and made available to client programs.
+
+
-
- UseDomains=
-
- Takes a boolean, or the special value . When true, the domain name
- received from the DHCP server will be used as DNS search domain over this link, similar to the
- effect of the setting. If set to , the domain
- name received from the DHCP server will be used for routing DNS queries only, but not for
- searching, similar to the effect of the setting when the argument is
- prefixed with ~. Defaults to false.
+
+ UseMTU=
+
+ When true, the interface maximum transmission unit from the DHCP server will be used on
+ the current link. If MTUBytes= is set, then this setting is ignored.
+ Defaults to false.
- It is recommended to enable this option only on trusted networks, as setting this affects
- resolution of all hostnames, in particular of single-label names. It is generally safer to use
- the supplied domain only as routing domain, rather than as search domain, in order to not have it
- affect local resolution of single-label names.
+ Note, some drivers will reset the interfaces if the MTU is changed. For such
+ interfaces, please try to use IgnoreCarrierLoss= with a short timespan,
+ e.g. 3 seconds.
+
+
- When set to true, this setting corresponds to the option in
- resolv.conf5.
-
-
-
+
+ UseHostname=
+
+ When true (the default), the hostname received from the DHCP server will be set as the
+ transient hostname of the system.
+
+
-
- UseRoutes=
-
- When true (the default), the static routes will be requested from the DHCP server and added
- to the routing table with a metric of 1024, and a scope of ,
- or , depending on the route's destination and
- gateway. If the destination is on the local host, e.g., 127.x.x.x, or the same as the link's own
- address, the scope will be set to . Otherwise if the gateway is null (a
- direct route), a scope will be used. For anything else, scope defaults to
- .
-
-
+
+ UseDomains=
+
+ Takes a boolean, or the special value . When true, the domain
+ name received from the DHCP server will be used as DNS search domain over this link, similar
+ to the effect of the setting. If set to , the
+ domain name received from the DHCP server will be used for routing DNS queries only, but not
+ for searching, similar to the effect of the setting when the
+ argument is prefixed with ~. Defaults to false.
-
- RouteMetric=
-
- Set the routing metric for routes specified by the DHCP server (including the prefix
- route added for the specified prefix). Takes an unsigned integer in the range 0…4294967295.
- Defaults to 1024.
-
-
+ It is recommended to enable this option only on trusted networks, as setting this
+ affects resolution of all hostnames, in particular of single-label names. It is generally
+ safer to use the supplied domain only as routing domain, rather than as search domain, in
+ order to not have it affect local resolution of single-label names.
-
- RouteTable=num
-
- The table identifier for DHCP routes (a number between 1 and 4294967295, or 0 to unset).
- The table can be retrieved using ip route show table num.
-
- When used in combination with VRF=, the
- VRF's routing table is used when this parameter is not specified.
-
-
-
+ When set to true, this setting corresponds to the option in
+ resolv.conf5.
+
+
+
-
- RouteMTUBytes=
-
- Specifies the MTU for the DHCP routes. Please see the [Route] section for further details.
-
-
+
+ UseRoutes=
+
+ When true (the default), the static routes will be requested from the DHCP server and
+ added to the routing table with a metric of 1024, and a scope of ,
+ or , depending on the route's destination and
+ gateway. If the destination is on the local host, e.g., 127.x.x.x, or the same as the link's
+ own address, the scope will be set to . Otherwise if the gateway is null
+ (a direct route), a scope will be used. For anything else, scope
+ defaults to .
+
+
-
- UseGateway=
-
- When true, the gateway will be requested from the DHCP server and added to the routing
- table with a metric of 1024, and a scope of . When unset, the value specified
- with UseRoutes= is used.
-
-
+
+ RouteMetric=
+
+ Set the routing metric for routes specified by the DHCP server (including the prefix
+ route added for the specified prefix). Takes an unsigned integer in the range 0…4294967295.
+ Defaults to 1024.
+
+
-
- UseTimezone=
- When true, the timezone received from the DHCP server will be set as timezone of
- the local system. Defaults to false.
-
+
+ RouteTable=num
+
+ The table identifier for DHCP routes (a number between 1 and 4294967295, or 0 to
+ unset). The table can be retrieved using
+ ip route show table num.
-
- Use6RD=
- When true, subnets of the received IPv6 prefix are assigned to downstream
- interfaces which enables DHCPPrefixDelegation=. See also
+ When used in combination with VRF=, the VRF's routing table is
+ used when this parameter is not specified.
+
+
+
+
+ RouteMTUBytes=
+
+ Specifies the MTU for the DHCP routes. Please see the [Route] section for further
+ details.
+
+
+
+
+ UseGateway=
+
+ When true, the gateway will be requested from the DHCP server and added to the routing
+ table with a metric of 1024, and a scope of . When unset, the value
+ specified with UseRoutes= is used.
+
+
+
+
+ UseTimezone=
+ When true, the timezone received from the DHCP server will be set as timezone
+ of the local system. Defaults to false.
+
+
+
+ Use6RD=
+
+ When true, subnets of the received IPv6 prefix are assigned to downstream interfaces
+ which enables DHCPPrefixDelegation=. See also
DHCPPrefixDelegation= in the [Network] section, the [DHCPPrefixDelegation]
section, and RFC 5969. Defaults to
- false.
-
+ false.
+
+
-
- FallbackLeaseLifetimeSec=
-
- Allows to set DHCPv4 lease lifetime when DHCPv4 server does not send the lease lifetime.
- Takes one of forever or infinity. The latter means that the
- address never expires. Defaults to unset.
-
-
+
+ FallbackLeaseLifetimeSec=
+
+ Allows to set DHCPv4 lease lifetime when DHCPv4 server does not send the lease
+ lifetime. Takes one of forever or infinity. If
+ specified, the acquired address never expires. Defaults to unset.
+
+
-
+
-
- RequestBroadcast=
-
- Request the server to use broadcast messages before the IP address has been configured.
- This is necessary for devices that cannot receive RAW packets, or that cannot receive packets at
- all before an IP address has been configured. On the other hand, this must not be enabled on
- networks where broadcasts are filtered out.
-
-
+
+ RequestBroadcast=
+
+ Request the server to use broadcast messages before the IP address has been configured.
+ This is necessary for devices that cannot receive RAW packets, or that cannot receive packets
+ at all before an IP address has been configured. On the other hand, this must not be enabled
+ on networks where broadcasts are filtered out.
+
+
-
- MaxAttempts=
-
- Specifies how many times the DHCPv4 client configuration should be attempted. Takes a
- number or infinity. Defaults to infinity. Note that the
- time between retries is increased exponentially, up to approximately one per minute, so the
- network will not be overloaded even if this number is high. The default is suitable in most
- circumstances.
-
-
+
+ MaxAttempts=
+
+ Specifies how many times the DHCPv4 client configuration should be attempted. Takes a
+ number or infinity. Defaults to infinity. Note that the
+ time between retries is increased exponentially, up to approximately one per minute, so the
+ network will not be overloaded even if this number is high. The default is suitable in most
+ circumstances.
+
+
-
- ListenPort=
-
- Set the port from which the DHCP client packets originate.
-
-
+
+ ListenPort=
+
+ Set the port from which the DHCP client packets originate.
+
+
-
- DenyList=
-
- A whitespace-separated list of IPv4 addresses. Each address can optionally take a
- prefix length after /. DHCP offers from servers in the list are
- rejected. Note that if AllowList= is configured then
- DenyList= is ignored.
-
-
+
+ DenyList=
+
+ A whitespace-separated list of IPv4 addresses. Each address can optionally take a
+ prefix length after /. DHCP offers from servers in the list are rejected.
+ Note that if AllowList= is configured then DenyList= is
+ ignored.
+
+
-
- AllowList=
-
- A whitespace-separated list of IPv4 addresses. Each address can optionally take a
- prefix length after /. DHCP offers from servers in the list are
- accepted.
-
-
+
+ AllowList=
+
+ A whitespace-separated list of IPv4 addresses. Each address can optionally take a
+ prefix length after /. DHCP offers from servers in the list are accepted.
+
+
+
-
- SendRelease=
-
- When true, the DHCPv4 client sends a DHCP release packet when it stops. Defaults to
- true.
-
-
+
+ SendRelease=
+
+ When true, the DHCPv4 client sends a DHCP release packet when it stops. Defaults to
+ true.
+
+
-
- SendDecline=
-
- A boolean. When true, the DHCPv4 client receives the IP address from the
- DHCP server. After a new IP is received, the DHCPv4 client performs IPv4 Duplicate Address
- Detection. If duplicate use is detected, the DHCPv4 client rejects the IP by sending a
- DHCPDECLINE packet and tries to obtain an IP address again. See RFC 5227. Defaults to
- unset.
-
-
-
-
-
+
+ SendDecline=
+
+ A boolean. When true, systemd-networkd performs IPv4 Duplicate
+ Address Detection to the acquired address by the DHCPv4 client. If duplicate is detected,
+ the DHCPv4 client rejects the address by sending a DHCPDECLINE packet to
+ the DHCP server, and tries to obtain an IP address again. See
+ RFC 5227. Defaults to false.
+
+
+
+
[DHCPv6] Section Options
- The [DHCPv6] section configures the DHCPv6 client, if it is enabled with the
- DHCP= setting described above, or invoked by the IPv6 Router Advertisement:
-
+ The [DHCPv6] section configures the DHCPv6 client, if it is enabled with the
+ DHCP= setting described above, or invoked by the IPv6 Router Advertisement:
+
-
+
-
- MUDURL=
- IAID=
- DUIDType=
- DUIDRawData=
- RequestOptions=
-
- As in the [DHCPv4] section.
-
-
+
-
- SendOption=
-
- As in the [DHCPv4] section, however because DHCPv6 uses 16-bit fields to store option
- numbers, the option number is an integer in the range 1…65536.
-
-
+
+ MUDURL=
+ IAID=
+ DUIDType=
+ DUIDRawData=
+ RequestOptions=
+
+ As in the [DHCPv4] section.
+
+
-
- SendVendorOption=
-
- Send an arbitrary vendor option in the DHCPv6 request. Takes an enterprise identifier, DHCP
- option number, data type, and data separated with a colon (enterprise
- identifier:option:type:value).
- Enterprise identifier is an unsigned integer in the range 1…4294967294. The option number must be
- an integer in the range 1…254. Data type takes one of uint8,
- uint16, uint32, ipv4address,
- ipv6address, or string. Special characters in the data
- string may be escaped using C-style
- escapes. This setting can be specified multiple times. If an empty string is specified,
- then all options specified earlier are cleared. Defaults to unset.
-
-
+
+ SendOption=
+
+ As in the [DHCPv4] section, however because DHCPv6 uses 16-bit fields to store option
+ numbers, the option number is an integer in the range 1…65536.
+
+
-
- UserClass=
-
- A DHCPv6 client can use User Class option to identify the type or category of user or
- applications it represents. The information contained in this option is a string that represents
- the user class of which the client is a member. Each class sets an identifying string of
- information to be used by the DHCP service to classify clients. Special characters in the data
- string may be escaped using C-style
- escapes. This setting can be specified multiple times. If an empty string is specified,
- then all options specified earlier are cleared. Takes a whitespace-separated list of
- strings. Note that currently NUL bytes are not allowed.
-
-
+
+ SendVendorOption=
+
+ Send an arbitrary vendor option in the DHCPv6 request. Takes an enterprise identifier,
+ DHCP option number, data type, and data separated with a colon
+ (enterprise identifier:option:type:value).
+ Enterprise identifier is an unsigned integer in the range 1…4294967294. The option number
+ must be an integer in the range 1…254. Data type takes one of uint8,
+ uint16, uint32, ipv4address,
+ ipv6address, or string. Special characters in the data
+ string may be escaped using
+ C-style
+ escapes. This setting can be specified multiple times. If an empty string is
+ specified, then all options specified earlier are cleared. Defaults to unset.
+
+
-
- VendorClass=
-
- A DHCPv6 client can use VendorClass option to identify the vendor that manufactured the
- hardware on which the client is running. The information contained in the data area of this
- option is contained in one or more opaque fields that identify details of the hardware
- configuration. Takes a whitespace-separated list of strings.
-
-
+
+ UserClass=
+
+ A DHCPv6 client can use User Class option to identify the type or category of user or
+ applications it represents. The information contained in this option is a string that
+ represents the user class of which the client is a member. Each class sets an identifying
+ string of information to be used by the DHCP service to classify clients. Special characters
+ in the data string may be escaped using
+ C-style
+ escapes. This setting can be specified multiple times. If an empty string is
+ specified, then all options specified earlier are cleared. Takes a whitespace-separated list
+ of strings. Note that currently NUL bytes are not allowed.
+
+
-
- PrefixDelegationHint=
-
- Takes an IPv6 address with prefix length in the same format as the
- Address= in the [Network] section. The DHCPv6 client will include a prefix
- hint in the DHCPv6 solicitation sent to the server. The prefix length must be in the range
- 1…128. Defaults to unset.
-
-
+
+ VendorClass=
+
+ A DHCPv6 client can use VendorClass option to identify the vendor that manufactured the
+ hardware on which the client is running. The information contained in the data area of this
+ option is contained in one or more opaque fields that identify details of the hardware
+ configuration. Takes a whitespace-separated list of strings.
+
+
-
+
+ PrefixDelegationHint=
+
+ Takes an IPv6 address with prefix length in the same format as the
+ Address= in the [Network] section. The DHCPv6 client will include a prefix
+ hint in the DHCPv6 solicitation sent to the server. The prefix length must be in the range
+ 1…128. Defaults to unset.
+
+
-
- UseAddress=
-
- When true (the default), the IP addresses provided by the DHCPv6 server will be
- assigned.
-
-
+
-
- UseDelegatedPrefix=
-
- When true (the default), the client will request the DHCPv6 server to delegate
- prefixes. If the server provides prefixes to be delegated, then subnets of the prefixes are
- assigned to the interfaces which enables DHCPPrefixDelegation=.
- See also DHCPPrefixDelegation= in [Network] section,
- [DHCPPrefixDelegation] section, and
- RFC 8415.
-
-
-
+
+ UseAddress=
+
+ When true (the default), the IP addresses provided by the DHCPv6 server will be
+ assigned.
+
+
-
- UseDNS=
- UseNTP=
- UseHostname=
- UseDomains=
-
- As in the [DHCPv4] section.
-
-
+
+ UseDelegatedPrefix=
+
+ When true (the default), the client will request the DHCPv6 server to delegate
+ prefixes. If the server provides prefixes to be delegated, then subnets of the prefixes are
+ assigned to the interfaces which enables DHCPPrefixDelegation=.
+ See also the DHCPPrefixDelegation= setting in the [Network] section,
+ settings in the [DHCPPrefixDelegation] section, and
+ RFC 8415.
+
+
+
-
+
+ UseDNS=
+ UseNTP=
+ UseHostname=
+ UseDomains=
+
+ As in the [DHCPv4] section.
+
+
-
- WithoutRA=
-
- Allows DHCPv6 client to start without router advertisements's managed or other
- address configuration flag. Takes one of no, solicit
- or information-request. If this is not specified,
- solicit is used when DHCPPrefixDelegation= is
- enabled and UplinkInterface=:self is specified in the
- [DHCPPrefixDelegation] section. Otherwise, defaults to no, and the
- DHCPv6 client will be started when an RA is received. See also
- DHCPv6Client= setting in the [IPv6AcceptRA] section.
-
-
-
+
+
+
+ WithoutRA=
+
+ Allows DHCPv6 client to start without router advertisements's managed or other
+ address configuration flag. Takes one of no, solicit
+ or information-request. If this is not specified,
+ solicit is used when DHCPPrefixDelegation= is enabled
+ and UplinkInterface=:self is specified in the [DHCPPrefixDelegation]
+ section. Otherwise, defaults to no, and the DHCPv6 client will be started
+ when an RA is received. See also the DHCPv6Client= setting in the
+ [IPv6AcceptRA] section.
+
+
+