Ubuntu 26.04 Tutorial / Identify Netplan, NetworkManager, and networkd Ownership
Netplan describes networking and passes configuration to a renderer such as NetworkManager or systemd-networkd. Before editing Ubuntu networking, identify the actual renderer and source configuration for the interface rather than relying on the image name.
Understand the three roles
| Component | Role and common use |
|---|---|
| Netplan | Reads YAML and generates backend configuration |
| NetworkManager | An optional backend managing connection profiles and Wi-Fi |
| systemd-networkd | Commonly manages Server interfaces |
| systemd-resolved | Handles name resolution, distinct from IP-configuration ownership |
Upgraded systems, cloud images, and customized VMs may differ from defaults. Both services can run while managing different interfaces, so process presence alone does not establish a conflict.
Ubuntu’s Netplan explanation describes the relationship between YAML and renderers.
Inspect addresses and management state
ip -br link
ip -br address
ip route
systemctl is-active NetworkManager systemd-networkd
sudo netplan status --all
Record interface names, addresses, and default routes, then compare backend information from netplan status. Where installed, inspect nmcli connection show --active or networkctl status. An unmanaged indication from the other backend does not necessarily mean the active connection failed.
Separate source configuration from generated files
find /etc/netplan -maxdepth 1 -type f -name '*.yaml' -print
sudo netplan get
resolvectl status
Netplan combines multiple YAML files, so ordering and repeated interface definitions matter. netplan get helps inspect the merged result. Configuration can contain Wi-Fi credentials; do not publish the entire output.
Generated files under /run may change at reboot or regeneration. Even Server installations can have different configuration owners depending on image and history. Inspect service state and Netplan renderer, and locate the generating source rather than editing generated output.
Check cloud-init and external automation
A name such as 50-cloud-init.yaml or its header suggests checking cloud-init or provider ownership. If edits disappear, identify the writer rather than repeatedly applying changes. Do not disable provider-managed networking without its documented recovery and configuration procedure.
Choose one configuration path
The Server lab uses Netplan YAML managed by systemd-networkd. If NetworkManager owns an existing interface, preserve its profile and management workflow rather than switching it to networkd blindly. Record the interface, backend, source, address, and console recovery route.
This inspection does not apply configuration or restart networking. Being able to explain the current state establishes the target for a static-address change or recovery.




