SYSTEMD-NETWORKD(8)
๐ SYSTEMD-NETWORKD.SERVICE(8) ๐
okay bestie, sit down, hydrate, because we're talking about systemd-networkd.service โ aka systemd-networkd, aka the network manager. yes THE network manager. she runs the whole vibe. ๐
โจ NAME โจ
systemd-networkd.service, systemd-networkd โ Network manager ๐
๐ SYNOPSIS ๐
systemd-networkd.service
/usr/lib/systemd/systemd-networkd
๐ฆ DESCRIPTION ๐ฆ
so like, systemd-networkd is a system service that manages networks. that's the whole job. she detects and configures network devices as they appear (like, the second they show up, she's on it, no cap) and she also creates virtual network devices. main character behavior fr fr. ๐
Certain low-level settings of physical network devices (e.g. device names and altnames) as well as the creation of SR-IOV virtual functions on physical network interfaces may be managed by systemd-udevd(8) according to the contents of systemd.link(5) files. so like, sometimes udevd handles the little fiddly bits, iykyk.
systemd-networkd will create "virtual" network devices (e.g. bridges and tunnels) based on the configuration in systemd.netdev(5) files, respecting the [Match] sections in those files. she's not out here doing whatever โ she respects the match sections, periodt.
systemd-networkd will manage network addresses and routes for any link for which it finds a .network file with an appropriate [Match] section, see systemd.network(5). For those links, it will flush existing network addresses and routes when bringing up the device (except when directed not to). okay so heads up โ ๏ธ โ she WILL wipe your existing addresses and routes when she brings the device up, unless you explicitly tell her not to. Any links not matched by one of the .network files will be ignored. It is also possible to explicitly tell systemd-networkd to ignore a link by using the Unmanaged=yes option, see systemd.network(5). so if you want her to just NOT touch something, Unmanaged=yes is your girl. ๐
When systemd-networkd exits, it generally leaves existing network devices and configuration intact. This makes it possible to transition from the initrd and to restart the service without breaking connectivity. iconic, honestly โ she leaves things nice for you. This also means that when configuration is updated and systemd-networkd is restarted, netdev interfaces for which configuration was removed will not be dropped, and may need to be cleaned up manually. so like... if you delete a config and restart, those leftover netdev interfaces are still there and you gotta go clean them up yourself. not her problem bestie ๐ญ she told you.
systemd-networkd may be introspected and controlled at runtime using networkctl(1). that's your remote control for her. use it.
See org.freedesktop.network1(5) and org.freedesktop.LogControl1(5) for a description of the D-Bus API. if you're into D-Bus (and the D-Bus girlies are thriving), the whole API is documented over there. โจ
๐ธ CONFIGURATION FILES ๐ธ
The configuration files are read from the files located in the system network directory /usr/lib/systemd/network, the volatile runtime network directory /run/systemd/network and the local administration network directory /etc/systemd/network. three whole directories, she checks all of them, she's thorough like that. ๐
Networks are configured in .network files, see systemd.network(5), and virtual network devices are configured in .netdev files, see systemd.netdev(5). so like: .network = the addresses and routes and rules, .netdev = the virtual devices themselves. two different files, two different jobs, don't mix them up. ๐ซถ
๐ SEE ALSO ๐
networkctl(1)systemd(1)systemd.link(5)systemd.network(5)systemd.netdev(5)systemd-networkd-wait-online.service(8)systemd-network-generator.service(8)org.freedesktop.network1(5)
and that's the whole page bestie!! this was systemd 262.1, and yes the footer said SYSTEMD-NETWORKD.SERVICE(8) the whole time because that's literally the page we just read ๐ go configure a bridge and slay ๐
โจ
๐ฆ where this page comes from
- arch rolling: systemd 262.1-1 ยท LGPL-2.1-or-later AND CC0-1.0 AND GPL-2.0-or-later AND MIT-0
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms