NetplanFor this week’s Bionic test blitz I am looking at Netplan! Netplan enables easily configuring networking on a system via YAML files. Netplan processes the YAML and generates the required configurations for either NetworkManager or systemd-network the system’s renderer. Netplan replaced ifupdown as the default configuration utility starting with Ubuntu 17.10 Artful.
Initial Setup in BionicWhen you install Bionic or use a cloud image of Bionic a file will appear in
/etc/netplandepending on the renderer in use. Here is a breakdown of the various types:
ExamplesThe best method for demonstrating what netplan can do is by showing some examples. Keep in mind that these are very simple examples that do not demonstrate complex situations that netplan can handle.
Static and DHCP AddressingThe following configures four devices:
- enp3s0 setup with IPv4 DHCP
- enp4s0 setup with IPv4 static with custom MTU
- IPv6 static tied to a specific MAC address
- IPv4 and IPv6 DHCP with jumbo frames tied to a specific MAC address
ethernets: enp3s0: dhcp4: true enp4s0: addresses: - 192.168.0.10/24 gateway4: 192.168.0.1 mtu: 1480 nameservers: addresses: - 126.96.36.199 - 188.8.131.52 net1: addresses: - fe80::a00:10a/120 gateway6: fe80::a00:101 match: macaddress: 52:54:00:12:34:06 net2: dhcp4: true dhcp6: true match: macaddress: 52:54:00:12:34:07 mtu: 9000
BondingBonding can easily be configured with the required interfaces list and by specifying the mode. The mode can be any of the valid types: balance-rr, active-backup, balance-xor, broadcast, 802.3ad, balance-tlb, balance-alb. See the bonding wiki page for more details.
bonds: bond0: dhcp4: yes interfaces: - enp3s0 - enp4s0 parameters: mode: active-backup primary: enp3s0
BridgesHere is a very simple example of a bridge using DHCP:
bridges: br0: dhcp4: yes interfaces: - enp3s0
VlansSimilarly, vlans only require a name as the key and then an id and link to use for the vlan:
vlans: vdev: id: 101 link: net1 addresses: - 10.0.1.10/24 vprod: id: 102 link: net2 addresses: - 10.0.2.10/24 vtest: id: 103 link: net3 addresses: - 10.0.3.10/24 vmgmt: id: 104 link: net4 addresses: - 10.0.4.10/24
Next StepsI was left with an overall very positive impression of netplan. Having the ability to write YAML configuration files and not have to worry about how the actual configuration was generated or what commands need to be used depending on the backend simplifies the process. I would like to continue to attempt some more complex configurations that I can find as well as attempt additional test cases with the ifupdown-migrate subcommand.
Links & Refrences
Ubuntu offers all the training, software infrastructure, tools, services and support you need for your public and private clouds.