First, we need to shutdown the interface:
sudo ifdown eth0
To specify a static connection we need to change the Ethernet's interface configuration in /etc/network/interfaces
:
iface eth0 inet static address 192.168.0.101 gateway 192.168.0.254 netmask 255.255.255.0 dns-nameservers 8.8.8.8 8.8.4.4
If you are using IPv6 static addresses, add an additional block it /etc/network/interfaces
:
iface eth0 inet6 static address 2001:db8:ff01:6fe::1e3a netmask 64 gateway 2001:db8:ff01:6fe::1 dns-nameservers 2001:4860:4860::8888 2001:4860:4860::8844
Keep in mind that only 3 name servers will end up in the resolv.conf
file if you use both the IPv4 block and the IPv6 block above. This is an issue related to the libc
resolver limitation of a maximum of 3 name servers…
Finally, restart the interface to put the new settings into effect:
sudo ifup eth0
cat > /tmp/01-netcfg.yaml << EOF network: version: 2 renderer: networkd ethernets: eth0: dhcp4: no dhcp6: no accept-ra: no addresses: - 192.168.1.222/24 - fd35:cf89:7706:1e92::222/64 gateway4: 192.168.1.1 gateway6: fd35:cf39:7706:1e92:1 nameservers: addresses: - 8.8.8.8 - 8.8.4.4 search: - lab.example.com - home.example.com EOF sudo mv /tmp/01-netcfg.yaml /etc/netplan/ sudo rm /etc/netplan/50-cloud-init.yaml
Once ready apply changes with:
sudo netplan --debug apply