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.