Network configuration with Netplan on Ubuntu on a Scaleway Dedibox
Since the release of its version 18.04, Bionic Beaver, Ubuntu has switched to Netplan for the network interface configuration. It is a YAML based configuration system, which simplifies the configuration process.
Before you start
To complete the actions presented below, you must have:
Configuration files
This tool replaces the /etc/network/interfaces
configuration file previously used to configure the network interfaces on Ubuntu.
The configuration files are now YAML files located in /etc/netplan/*.yaml
.
The 01-netcfg.yaml
file is used to configure the first interface. Below, you can find the default configuration for an interface using DHCP:
# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
version: 2
renderer: networkd
ethernets:
enp1s0f0:
dhcp4: yes
Following, you can see a list of the most common configuration options and a description of how they are used.
Option | Example | Description |
---|---|---|
addresses | 192.168.1.2/24, 62.210.123.123/32 | A list of IP addresses to be assigned to an interface. The format uses CIDR notation. |
gateway4 | 192.168.1.1 | The IP address of your local IPv4 gateway. |
dhcp4 | true | Set whether DHCP is enabled for IPv4 – true of false |
dhcp6 | true | Set whether DHCP is enabled for IPv6 – true or false |
Configuring a failover IP with Netplan
To configure a failover IP, you must edit the file /etc/netplan/01-netcfg.yaml
and configure static networking for your server. The IP addresses have to be written with their CIDR notation. The netmask is /24
for the principal IP of the server and /32
for each failover IP. Your configuration file should look like in the following example:
network:
version: 2
renderer: networkd
ethernets:
enp1s0f0:
addresses: [163.172.123.123/24, 212.83.123.123/32]
gateway4: 163.172.123.1
nameservers:
addresses: [ "51.159.47.28", "51.159.47.26" ]
Once you have edited and saved the file, you can reload the configuration with the following command:
sudo netplan apply
Configuring a failover IP for virtual machines
When configuring a failover IP in a virtual machine, you must specify which route will be used by the VM. Your configuration file should look like the following example:
network:
ethernets:
ens18:
addresses:
- [ "fail.over.ip.address/32" ]
nameservers:
addresses: [ "51.159.47.28", "51.159.47.26" ] # Replace the IP of the DNS cache server with the one located in the same physical location as your machine for optimal performances (https://www.scaleway.com/en/docs/account/reference-content/scaleway-network-information/#dns-cache-servers/)
routes:
- to: default
via: 62.210.0.1
- to: 62.210.0.1/32
via: fail.over.ip.address
scope: link
version: 2