Need help: Bare metal install interface names change after reboot
Posted: Wed Sep 28, 2022 1:10 pm
Hi guys,
We bought and installed the eve-ng pro on a bare metal server using the official ISO file. The installer had a few issues throughout the install:
Issue 1:
The bare metal server we used to install Eve-NG has to be behind a proxy server. The initial Ubuntu install went ok. The installation used our proxy server setting to complete the install. However after that, during the boot up process there were plenty of error messages about cloud-init and unable to download packages from au.archive.ubuntu.com/ubuntu focal-updates. I suspect that the proxy server set during the Ubuntu install didn't persist into the cloud-init stage. After a few failed attempts, cloud-init gave up and rebooted the server into the login command prompt. After logging in, I followed the installation guide. It turned out the server was missing a few packages required by the eveng-pro package. So I manually installed the packages with proxy server settings.
Issue 2:
After reboot, this time finally I could see the First Time Configuration screen. I configured the required settings such as hostname, domain name, subnets, NTP and proxy servers. After reboot, all network connectivities to the server were broken. I logged into the server from IPMI interface and checked the network configurations in /etc/network/interfaces. It turns out all the mappings between physical and logical interfaces changed. For example pnet0(eth0) used to be mapped to physical interface enp5s0f0. After first time configuration completed, now pnet0(eth0) is enp5s0f1 which is a different physical interface. After reboot, the network mapping changed again so pnet0(eth0) is linked to another physical interface. This is a huge problem because each time the server reboots, we lose all network connectivities. We fixed the issue by manually changing the /etc/default/grub setting GRUB_CMDLINE_LINUX_DEFAULT="net.ifnames=1. My colleague came up with this workaround which make the interface names consistent after reboot. And he changed the /etc/network/interfaces configuration so pnet maps directly to the physical interface names. Finally after reboot, all network settings are consistent. However this workaround also leads to Issue 3.
iface enp5s0f0 inet manual
auto pnet1
iface pnet1 inet static
pre-up ip link set dev enp5s0f0 up
address x.x.x.x
netmask x.x.x.x
gateway x.x.x.x
dns-domain x.x.x
dns-nameservers x.x.x.x
bridge_ports enp5s0f0
bridge_stp off
Issue 3:
Now that we are no longer using interface names such as eth0,1,2,3. The unl_wrapper -a fixpermissions script stopped working (error message below). So we can no longer install new devices. Please help and provide advice on how to get around these problems. (I know we were supposed to have direct internet connection for the install, but in our environment, we can't do that.)
/opt/unetlab/wrappers/unl_wrapper -a fixpermissions
Sep 28 12:25:31 Sep 28 12:25:31 Online Check state: Valid
eth0: error fetching interface information: Device not found
eth0: error fetching interface information: Device not found
Issue 4:
When we clone a lab, the nodes inside the cloned lab interfere with the original lab. For example when a node is stopped in the cloned lab, the same node from the original lab is also stopped. This causes a problem because we don't want the VMs to interfere with each other after cloning. I tried export/import labs from zip files and the interference is the same.
How can we make a perfect clean clone of a lab so they are independent of each other?
Sorry about the many questions. Please help.
We bought and installed the eve-ng pro on a bare metal server using the official ISO file. The installer had a few issues throughout the install:
Issue 1:
The bare metal server we used to install Eve-NG has to be behind a proxy server. The initial Ubuntu install went ok. The installation used our proxy server setting to complete the install. However after that, during the boot up process there were plenty of error messages about cloud-init and unable to download packages from au.archive.ubuntu.com/ubuntu focal-updates. I suspect that the proxy server set during the Ubuntu install didn't persist into the cloud-init stage. After a few failed attempts, cloud-init gave up and rebooted the server into the login command prompt. After logging in, I followed the installation guide. It turned out the server was missing a few packages required by the eveng-pro package. So I manually installed the packages with proxy server settings.
Issue 2:
After reboot, this time finally I could see the First Time Configuration screen. I configured the required settings such as hostname, domain name, subnets, NTP and proxy servers. After reboot, all network connectivities to the server were broken. I logged into the server from IPMI interface and checked the network configurations in /etc/network/interfaces. It turns out all the mappings between physical and logical interfaces changed. For example pnet0(eth0) used to be mapped to physical interface enp5s0f0. After first time configuration completed, now pnet0(eth0) is enp5s0f1 which is a different physical interface. After reboot, the network mapping changed again so pnet0(eth0) is linked to another physical interface. This is a huge problem because each time the server reboots, we lose all network connectivities. We fixed the issue by manually changing the /etc/default/grub setting GRUB_CMDLINE_LINUX_DEFAULT="net.ifnames=1. My colleague came up with this workaround which make the interface names consistent after reboot. And he changed the /etc/network/interfaces configuration so pnet maps directly to the physical interface names. Finally after reboot, all network settings are consistent. However this workaround also leads to Issue 3.
iface enp5s0f0 inet manual
auto pnet1
iface pnet1 inet static
pre-up ip link set dev enp5s0f0 up
address x.x.x.x
netmask x.x.x.x
gateway x.x.x.x
dns-domain x.x.x
dns-nameservers x.x.x.x
bridge_ports enp5s0f0
bridge_stp off
Issue 3:
Now that we are no longer using interface names such as eth0,1,2,3. The unl_wrapper -a fixpermissions script stopped working (error message below). So we can no longer install new devices. Please help and provide advice on how to get around these problems. (I know we were supposed to have direct internet connection for the install, but in our environment, we can't do that.)
/opt/unetlab/wrappers/unl_wrapper -a fixpermissions
Sep 28 12:25:31 Sep 28 12:25:31 Online Check state: Valid
eth0: error fetching interface information: Device not found
eth0: error fetching interface information: Device not found
Issue 4:
When we clone a lab, the nodes inside the cloned lab interfere with the original lab. For example when a node is stopped in the cloned lab, the same node from the original lab is also stopped. This causes a problem because we don't want the VMs to interfere with each other after cloning. I tried export/import labs from zip files and the interference is the same.
How can we make a perfect clean clone of a lab so they are independent of each other?
Sorry about the many questions. Please help.