systemd-network-generator.service, systemd-network-generator — Generate network configuration from the kernel command line
systemd-network-generator.service
/usr/lib/systemd/systemd-network-generator
systemd-network-generator.service
is a system service that translates
ip=
and related settings on the kernel command line (see below) into
systemd.network(5),
systemd.netdev(5), and
systemd.link(5)
configuration files understood by
systemd-networkd.service(8)
and
systemd-udevd.service(8).
Files are generated in /run/systemd/network/
.
Note: despite the name, this generator executes as a normal systemd service and is not an implementation of the systemd.generator(7) concept.
This tool understands the following options:
ip=
, nameserver=
, rd.route=
, rd.peerdns=
¶Translated into systemd.network(5) files.
In addition to the parameters dracut.cmdline(7)
defines the ip=
option accepts the special value
"link-local
". If selected, the network interfaces will be configured for
link-local addressing (IPv4LL, IPv6LL) only, DHCP or IPv6RA will not be enabled.
ifname=
, net.ifname_policy=
¶Translated into systemd.link(5) files.
vlan=
, bond=
, bridge=
, bootdev=
¶Translated into systemd.netdev(5) files.
See dracut.cmdline(7) and systemd-udevd.service(8) for option syntax and details.
systemd-network-generator supports the service credentials logic as implemented
by
ImportCredential=
/LoadCredential=
/SetCredential=
(see systemd.exec(5) for
details). The following credentials are used when passed in:
network.conf.*
, network.link.*
, network.netdev.*
, network.network.*
¶These credentials should contain valid
networkd.conf(5),
systemd.link(5),
systemd.netdev(5),
systemd.network(5)
configuration data. From each matching credential a separate file is created. Example: a passed
credential network.link.50-foobar
will be copied into a configuration file
50-foobar.link
.
Note that the resulting files are created world-readable, it's hence recommended to not include
secrets in these credentials, but supply them via separate credentials directly to
systemd-networkd.service
.
Note that by default the systemd-network-generator.service
unit file is set up
to inherit the these credentials from the service manager.