What is it

Netplan is a YAML network configuration abstraction for various backends (NetworkManager, networkd).

It is an utility for easily configuring network on a system. It can be used by writing a simple YAML description of the required network interfaces with what they should be configured to do; and it will generate the required configuration for a chosen renderer tool.

Netplan reads network configuration from /etc/nplan/*.yaml which are written by administrators, installers, cloud image instantiations, or other OS deployments. During early boot it then generates backend specific configuration files in /run to hand off control of devices to a particular networking daemon.

Supported renderers

The default renderer, if otherwise unspecified, is systemd-networkd.

How do I use it?


Netplan uses a set of subcommands to drive its behavior:

  • netplan generate: Use /etc/netplan to generate the required configuration for the renderers.

  • netplan apply: Apply all configuration for the renderers, restarting them as necessary.

  • netplan ifupdown-migrate: Attempt to generate an equivalent configuration to what is specified in /etc/network/interfaces.


Obviously, without configuration, netplan will not do anything. The most useful configuration snippet (to bring up things via dhcp) is as follows:

  version: 2
  renderer: NetworkManager

This will make NetworkManager manage all devices (and by default, any ethernet device will come up with DHCP once carrier is detected).

Using networkd as a renderer does not let devices automatically come up using DHCP; each interface needs to be specified in a file in /etc/netplan for its configuration to be written and for it to be used in networkd.

How can I contribute?

Netplan is developed using git on Launchpad, and uses merge proposals.

You can find the source code here:

The main Launchpad project page is here:

We try to stick to an agreed-upon design document; see Netplan Design

Netplan (last edited 2017-05-10 02:05:51 by cyphermox)