Network Interface names

Historically network names got called eth0 eth1 and so on. Communication is today the hot topic and devices have various interfaces and booting makes use of running stuff in parallel. Since names as eth0 and so on are assigned sequentially to what is found it could end up that the names are randomly assigned to the network interfaces found in the computer. http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/

For most people this is not a topic since they have a PC with just on network device. However Linux is heavily used for devices as network routers and there it is a topic.

Therefore the network names must be assigned predictable. New udev version rename the traditional names eth0 to something ugly looking as enp0s18 and when updating udev and not be aware of it the PC can no more connect to the Ethernet. The name as enp0s18 can be found in the system log dmesg | grep enp or more directly ls /sys/class/net and cat /sys/class/net/eth0/address gives the MAC address of it.

For a Gentoo machine, the following steps are necessarily:

rc-update delete net.eth0 default

ln -s /etc/init.d/net.lo /etc/init.d/net.enp0s18

rm /etc/init.d/net.eth0

rc-update add net.enp0s18

If static IP addresses are assigned the /etc/conf.d./net needs to get its eth0 names changed to enp0s18

The strange looking name enp0s18 means

en => Ethernet

s18 => slot 18

It is still possible to keep the old names by passing the kernel parameter

net.ifnames=0

to the kernel using the bootloader


Linurs startpage