LLMpediaThe first transparent, open encyclopedia generated by LLMs

systemd-networkd

Generated by GPT-5-mini
Note: This article was automatically generated by a large language model (LLM) from purely parametric knowledge (no retrieval). It may contain inaccuracies or hallucinations. This encyclopedia is part of a research project currently under review.
Article Genealogy
Parent: Eclipse Kura Hop 4
Expansion Funnel Raw 74 → Dedup 0 → NER 0 → Enqueued 0
1. Extracted74
2. After dedup0 (None)
3. After NER0 ()
4. Enqueued0 ()
systemd-networkd
Namesystemd-networkd
Titlesystemd-networkd
AuthorLennart Poettering
DeveloperFreedesktop.org
Released2011
Operating systemLinux
Platformsystemd
LicenseLGPL

systemd-networkd

systemd-networkd is a network management daemon for the Linux platform developed as part of the systemd suite by contributors led by Lennart Poettering and coordinated through Freedesktop.org. It provides lightweight, declarative configuration and runtime management for network links on servers, embedded systems, and desktop distributions such as Debian, Ubuntu, Fedora, Arch Linux, and openSUSE. systemd-networkd aims to integrate tightly with other systemd components like systemd-resolved, systemd-journald, and systemd-networkd-wait-online to offer unified startup, logging, and name resolution across diverse deployments.

Overview

systemd-networkd operates as a userspace daemon that configures and monitors network devices exposed by the Linux networking stack, including interfaces managed by Netlink and devices created by subsystems such as NetworkManager-incompatible virtual devices. It is commonly used in environments where minimal dependencies and fast boot times are required, such as containerization platforms like Docker, orchestration frameworks such as Kubernetes, and virtual machine hosts running on KVM or Xen. The project interacts with standards and protocols defined by organizations like the IETF and relies on kernel features maintained by Linux kernel developers.

Features and Components

systemd-networkd implements fundamental network protocols and features including DHCP, IPv6, Router Advertisement, ARP, VLAN, bridge management, and PPP in parts. Components and facilities related to the daemon include the configuration directory parsed at boot, the runtime network state exposed via systemctl units, and the control interface surfaced through systemd-networkctl and D-Bus. It integrates with cryptographic and security primitives available from OpenSSL, GnuPG, and kernel-level mechanisms like SELinux and AppArmor for confinement. The daemon cooperates with the udev device manager and leverages features of Linux namespaces for containerized network setups.

Configuration

Configuration for systemd-networkd is declarative, using INI-style files placed under /etc/systemd/network or /run/systemd/network and parsed into objects representing networks, links, and addresses. Common configuration stanzas support directives for IPv4, IPv6, DHCP client parameters, static addressing, routing, bonding, and interface matching by MAC address or driver names like e1000e or virtio-net. Administrators often combine systemd-networkd files with tools and metadata from distributions including Debian, Ubuntu, Fedora, or cloud-init providers such as OpenStack and Amazon Web Services to automate network provisioning. The configuration format is documented alongside other systemd units like systemd.service and integrates with distribution-specific network configuration frontends.

Operation and Management

At runtime, systemd-networkd exposes operational state and statistics through commands such as systemd-networkctl and through the D-Bus API for programmatic control used by higher-level systems like Cockpit or orchestration tools. Administrators monitor logs with systemd-journald and control startup ordering using systemctl unit dependencies such as network-online.target. The daemon supports hotplugging via udev rules and cooperates with container runtimes including systemd-nspawn and LXC to manage virtual links, virtual Ethernet pairs, and macvlan devices. Performance and debug workflows frequently involve interactions with kernel tracing tools maintained by Linux kernel developers and network analysis utilities like tcpdump, Wireshark, and iproute2.

Integration and Compatibility

systemd-networkd is designed to be compatible with ecosystem components and standards including DHCPv6, IPv6 Stateless Address Autoconfiguration, and IEEE 802.1Q for VLAN tagging. It can coexist with alternative network managers such as NetworkManager and specialized controllers used by cloud platforms like CloudStack and OpenNebula provided interfaces are not simultaneously unmanaged. Integration points include name resolution via systemd-resolved or external resolvers like BIND and dnsmasq, authentication via Kerberos in enterprise setups, and orchestration with Ansible, Puppet, and SaltStack. The daemon also interoperates with hypervisors and tools such as libvirt, QEMU, and VirtualBox networking backends.

Security and Reliability

Security and reliability considerations for systemd-networkd involve privilege separation, sandboxing with systemd service directives, and minimizing attack surface by limiting ancillary dependencies. It benefits from kernel-level protections implemented by SELinux, AppArmor, and networking controls such as iptables and nftables managed by Netfilter. High-availability deployments often pair systemd-networkd with clustering and failover solutions like Pacemaker or use dynamic orchestration in Kubernetes clusters to maintain service continuity. Testing and validation draw on tools and standards from the IETF and contributions from vendor projects including Red Hat, Canonical, SUSE, and community testing services hosted by Freedesktop.org.

Category:Linux network daemons