This is a fresh install Ubuntu server 20.04.04 system. I'm using networkd and netplan to configure networking. I did not do any custom install steps, just loaded the .iso and installed Ubuntu server through the prompts.
When these machines were shipped from the vendor, Ubuntu was already installed and the network interfaces were named ens1f0
and ens1f1
:
root@oldHost2:~# sudo lshw -C network |grep "logical name"
logical name: ens1f0
logical name: ens1f1
logical name: bond0
However after reinstalling the OS (before running netplan) I get....
root@freshHost1:~# sudo lshw -C network |grep "logical name"
logical name: ens1f0np0
logical name: ens1f1np1
logical name: bond0
Across all my sites, we use a netplan config that assumes ens1f0
and ens1f0
. I would like all interfaces to match this.
I know you can set the interface name with set-name
in netplan (as defined in https://ubuntu.com/server/docs/network-configuration) however you need to already match the interface somehow (using Mac address, etc) which is going to make auto-provisioning a nightmare (if not impossible). A chicken/egg scenario. I have hundreds of machines to provision and I would like to template out my netplan config without knowing the Mac addresses.
I know you can also group together the interfaces in netplan:
ethernets:
eports:
match:
name: ens*
Which may work for my case, but not all the systems have a simple two NIC setup like this so I'm not sure what the best course of action will be.
My questions to ServerFault...
- Since this logical name is set before Netplan is even ran, what is deciding on this name? How can I override it during OS install/provision?
- What does the
np0
and np1
mean in the interface names?