SYSTEMD-NETWORKD.SERVICE(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 ๐ŸŒˆ


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