systemd in Debian & Ubuntu generates robust Ethernet interface names like
enp48a instead of the traditional
eth0 to avoid race conditions.
- create a file
/etc/systemd/network/10-eth0.linkwith the content, using your Raspberry Pi MAC address obtained from
[Match] MACAddress=00:11:22:33:44:55 [Link] Name=eth0
- ensure the file
/etc/systemd/network/99-default.linkexists with the content
[Link] NamePolicy=kernel database onboard slot path MACAddressPolicy=persistent
I find this method more intuitive than using
udev rules, which is another alternative method.
This method is simpler, but does not work on non-GRUB hardware (e.g. ARM systems like Raspberry Pi).
- in Terminal,
to confirm your network adapter is at
eth0 name needed?
Some old software (e.g. old Matlab versions) will only accept
eth0 for licensing using the MAC address (low security!)
Also sometimes for convenience in embedded/IoT systems where you know you’ll only have one Ethernet interface, you’d like to simply use
Which software have you found it necessary to use this procedure for? Let us know in the comments below.