Predictable network interface names are all the rage in Linux distros these days. My systems are of various vintage so most have carried on with eth0
and eth1
through upgrades by having old udev
rules kept around.
To get with the times a few steps are needed:
udevadm test-builtin net_id /sys/class/net/eth0 vi /etc/network/interfaces vi /etc/dhcp/dhclient.conf vi /etc/default/isc-dhcp-server vi /etc/vnstat.conf service vnstat stop mv /var/lib/vnstat/{eth0,enp2s0}
There might be other files that need editing as well, so it might be a good idea to check carefully before rebooting:
grep -r eth0 /etc
Remove udev
rules and update initrd as interface renaming happens early:
rm /etc/udev/rules.d/70-persistent-net.rules update-initramfs -u
Check that you are not using the net.ifnames=0
kernel argument:
vi /etc/default/grub
update-grub reboot
Some services may need further care once network interfaces are up with their new names:
service vnstat stop vnstat -u service vnstat start
It’s a good idea to look around (e.g. /var/log/syslog
) to see if anything is amiss.