NetworkManager vs Netplan: Which to Use on Linux?

NetworkManager and Netplan are both popular Linux network configuration tools, but they serve different use cases. This post compares the two tools, explains how each works, and helps beginners decide which to use based on their environment.

NetworkManager vs Netplan: Which to Use on Linux?

When you start managing network configurations on Linux, you will quickly run into two names: NetworkManager and Netplan. Both are network configuration tools, but they serve slightly different purposes and are more at home in different environments. Understanding when to use each one is a key skill for the Linux+ exam and for real-world Linux administration.

What Is NetworkManager?

NetworkManager is a daemon-based network management tool designed to make networking dynamic and automatic. It was originally built with desktop Linux users in mind, where network connections change frequently: think switching between Wi-Fi networks, plugging in Ethernet, or connecting to a VPN.

NetworkManager handles all of this seamlessly in the background. It detects changes and adjusts your network configuration without you needing to restart services manually. You can interact with it through a GUI on the desktop, or from the terminal using the nmcli command-line tool.

To check your current connection status with NetworkManager, try:

nmcli device status

You might see output like this:

DEVICE   TYPE      STATE      CONNECTION
eth0     ethernet  connected  Wired connection 1
lo       loopback  unmanaged  --

You can also show detailed connection info:

nmcli connection show

NetworkManager stores its configuration files in /etc/NetworkManager/system-connections/, and each connection profile is saved as a file you can inspect or edit directly.

What Is Netplan?

Netplan is a newer abstraction layer for network configuration developed by Canonical, the company behind Ubuntu. Instead of managing the network directly, Netplan reads a YAML configuration file you write, then generates the actual configuration for a backend renderer. That renderer is usually either NetworkManager or systemd-networkd.

Think of Netplan as the translator. You write human-readable YAML, and Netplan handles the rest. This makes it particularly appealing for server environments where configurations are static, consistent, and often managed at scale through automation tools like Ansible.

Netplan was developed by Canonical and is most closely associated with Ubuntu, where it has been the default since Ubuntu Server 18.04. However, it is not exclusive to Ubuntu; it can be used on other Linux distributions that choose to support it, though adoption outside the Ubuntu ecosystem remains limited.

Netplan configuration files live in /etc/netplan/. A basic static IP configuration looks like this:

network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      addresses:
        - 192.168.1.100/24
      routes:
        - to: default
          via: 192.168.1.1
      nameservers:
        addresses: [8.8.8.8, 8.8.4.4]

After editing the file, you apply it with:

sudo netplan apply

If you want to test the configuration before committing it, use:

sudo netplan try

This gives you a 120-second window to confirm the changes, and rolls back automatically if you do not respond. Very handy when working on a remote server.

Key Differences at a Glance

  • NetworkManager is dynamic, daemon-driven, and great for desktops or laptops where connections change often.
  • Netplan is declarative and YAML-based, ideal for servers where you want predictable, repeatable configurations.
  • Netplan is not a replacement for NetworkManager. It can actually use NetworkManager as its backend renderer.
  • NetworkManager includes the nmcli tool for terminal-based management. Netplan relies on netplan commands and your text editor.
  • Ubuntu Server 18.04 and later default to Netplan, and it is available on other distributions that support it. Most desktop distributions default to NetworkManager, though some distributions and versions may use different network management tools.

Which Should You Use?

The honest answer is: it depends on the environment. For a desktop or laptop, NetworkManager is almost always the right choice. Its dynamic management, GUI integration, and support for VPNs and wireless networks make it purpose-built for that use case.

For a Linux server, Netplan (with systemd-networkd as the renderer) is cleaner and more consistent. You write the config once, apply it, and it stays put. This also plays well with infrastructure-as-code workflows.

For the Linux+ exam, you need to be comfortable with both. Know how to use nmcli to manage connections, and know how to write and apply a basic Netplan YAML file.

For deeper coverage of Linux network management and exam preparation, check out the CompTIA Linux+ Study Guide by Richard Blum. It covers both tools in the context of what the exam expects you to know.

What's Next?

Now that you understand the tools used to manage network configurations, the next step is getting hands-on with static and dynamic IP addressing on Linux. We will look at how to configure a static IP address using both NetworkManager and Netplan, and explain when DHCP is the better choice for your setup.

🔧
Once your Linux network configurations are in place with NetworkManager or Netplan, you'll want visibility into how those interfaces are performing. PRTG Network Monitor is a solid choice for keeping an eye on your Linux hosts, interfaces, and connectivity from a single dashboard. PRTG Network Monitor, Zabbix and Nagios.

Tools and resources for this topic