This is relevant to Ubuntu 18,04 and newer installations that now use netplan.
Check what interfaces your Ubuntu currently has set:
You will see the interfaces that is available , even if they do not have IPs
enp1s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 10.88.6.30 netmask 255.255.254.0 broadcast 10.88.7.255 inet6 fe80::a20b:b343:cf02:29d5 prefixlen 64 scopeid 0x20<link> ether 9c:7b:ef:56:c0:40 txqueuelen 1000 (Ethernet) RX packets 1743841 bytes 695370348 (695.3 MB) RX errors 0 dropped 803332 overruns 0 frame 0 TX packets 354174 bytes 33425302 (33.4 MB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 enp2s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 18.104.22.168 netmask 255.255.255.0 broadcast 22.214.171.124 inet6 fe80::200:f1ff:fe03:0 prefixlen 64 scopeid 0x20<link> ether 00:00:f1:03:00:00 txqueuelen 1000 (Ethernet) RX packets 290849 bytes 23134325 (23.1 MB) RX errors 0 dropped 11 overruns 0 frame 0 TX packets 363437 bytes 61415807 (61.4 MB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 1000 (Local Loopback) RX packets 390443 bytes 31978742 (31.9 MB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 390443 bytes 31978742 (31.9 MB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
If you don’t have ifconfig installed you can use:
to show the same information in a different format:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 9c:7b:ef:56:c0:40 brd ff:ff:ff:ff:ff:ff inet 10.88.6.30/23 brd 10.88.7.255 scope global noprefixroute enp1s0 valid_lft forever preferred_lft forever inet6 fe80::a20b:b343:cf02:29d5/64 scope link noprefixroute valid_lft forever preferred_lft forever 3: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 00:00:f1:03:00:00 brd ff:ff:ff:ff:ff:ff inet 126.96.36.199/24 brd 188.8.131.52 scope global noprefixroute enp2s0 valid_lft forever preferred_lft forever inet6 fe80::200:f1ff:fe03:0/64 scope link valid_lft forever preferred_lft forever
In this case the devices are “enp1s0” and “enp2s0”. This means that the system is using generated values. This can should be disabled in the GRUB config for the Siprecorder to function properly.
Disable Generate Network interface names.
If you make this change you will have to change the device names in the config file to “eth0” and “eth1” or they will not work when you reboot.
Check what the netplan configuration file is called. There can be different names, based on how the server got to 18.04. Upgraded servers, installed can have different names:
or something like that.
This is a Graphical desktop system that uses networkmanager as the Network configuration back end.
Backup and Restore
Make a backup of the our config file to allow a simple rollback.
cp /etc/netplan/01-network-manager-all.yaml ~/01-network-manager-all.yaml -i
cp ~/01-network-manager-all.yaml /etc/netplam/01-network-manager-all.yaml -i
You can check the
# Let NetworkManager manage all devices on this system network: version: 2 renderer: NetworkManager
# This is the network config written by 'subiquity' network: ethernets: eth0: dhcp4: true eth1: dhcp4: true version: 2
To add the exact details that are currently on the system the file should be changed to look like this.
This file is based on the indenting of the file. you can’t use TAB and have to used spaces.
If you just want one IP for a network card, you can remove the one IP from below the addresses
NOTE UBUNTU 22.04
The Gateway4 setting has been changed to Routes
replace the gateway4 to look like this:
# Let NetworkManager manage all devices on this system network: version: 2 renderer: NetworkManager ethernets: enp1s0: dhcp4: no addresses: - 10.88.6.30/23 - 192.168.1.123/24 routes: - to: default via: 10.88.6.1 nameservers: addresses: [127.0.0.1, 184.108.40.206] enp2s0: dhcp4: no addresses: [220.127.116.11/24]
Older Ubuntu installations
# Let NetworkManager manage all devices on this system network: version: 2 renderer: NetworkManager ethernets: enp1s0: dhcp4: no addresses: - 10.88.6.30/23 - 192.168.1.123/24 gateway4: 10.88.6.1 nameservers: addresses: [127.0.0.1, 18.104.22.168] enp2s0: dhcp4: no addresses: [22.214.171.124/24]
If this configuration is not correct, you may loose access to the server for about 2 minutes when you run the following command.
!!! Open a byobu session and perform the next steps there in !!!
Check that the config is correct by running this command for each network interface that you configured in the file.
netplan generate --mapping eth0
netplan generate --mapping eth1
Here are some common mistakes and what the error would look like:
- Do not use TABs for indenting the file, use spaces.
/etc/netplan/01-netcfg.yaml:10:1: Invalid YAML: tabs are not allowed for indent: - 10.70.5.181/23 ^
- Format issue:
/etc/netplan/01-netcfg.yaml:14:34: Invalid YAML: did not find expected node content: addresses: [10.70.2.200, ,10.70.2.201, 126.96.36.199] ^
Making the config live
On session 1 start a mtr to 188.8.131.52 and check if it works. It should not get to the end point yet.
On Session 2 run the following command and check if you loose your access.
You should get a display that counts down 120 seconds. If this appears your changes applied and you are still connected.
If the connection doesn’t show a count down or you loose your connection, it will reset back to the previous configuration after 120 seconds.
- Recheck that the alignment of the config is correct,
- Check that there is no spelling issues.
- Check that the correct devices are configured.
if you use ifconfig and it only shows one of the two IPs, try and use the command
This should show all the IPs for all the interfaces.