Eduardo G's picture

Hi, im using Turnkeycore 16.1, which is based in Debian Buster 10.

The network interface name, e.g. eth0, is assigned to each hardware in the Linux kernel through the user space configuration mechanism, udev (see Section 3.3, “The udev system”), as it is found. The network interface name is referred as physical interface in ifup(8) and interfaces(5).


But since Debian Buster the preferred way is:

  1. Names incorporating Firmware/BIOS provided index numbers for on-board devices (example: eno1)
  2. Names incorporating Firmware/BIOS provided PCI Express hotplug slot index numbers (example: ens1)
  3. Names incorporating physical/geographical location of the connector of the hardware (example: enp2s0)
  4. Names incorporating the interfaces's MAC address (example: enx78e7d1ea46da)
  5. Classic, unpredictable kernel-native ethX naming (example: eth0)

So instead eth0, eth1... the names could be enp2s0, enp2s1 ... etc..So i have beent tweaking and googling and i cant get the "new" names, i got eth0 and eth1 to the two network interfaces added using vbox ( eth0 in mode bridge, and eth1 in mode internal network)


How can i setup turnkey to appear the new names instead old, deprecated names ?



Jeremy Davis's picture

As you note we use the legacy interface names. We do that intentionally as NICs tend to be static in servers, so we figured that made the most sense.

Having said that, if you prefer to use the "predictable names", then changing it to use that shouldn't cause any issues.

If you look in the grub config file (/etc/default/grub) then you'll find this line:


Simply remove the 'net.ifnames=0' so it looks like this:


Then update grub and reboot:


And you should now have "predictable names". If that's your only interface, then Confconsole should auto update to report on the new interface. If not, you may need to explicitly tell it which interface to show (set 'default_nic' value in /etc/confconsole/confconsole.conf).

Eduardo G's picture

I did what you said, changing to:


reboot machine, and still with old names.....

I have two virtualbox adapters, one in mode bridge and the other for internal network.

I  didnt understand : If not, you may need to explicitly tell it which interface to show (set 'default_nic' value in /etc/confconsole/confconsole.conf).


Jeremy Davis's picture

You need to run the 'update-grub' command too for the settings to be applied to the actual boot time grub config.

Re my comment about Confconsole, that was referring to the interface that Confconsole displays by default. It should probably "just work", although if it doesn't, you'll need to adjust the Confconsole config file (/etc/confconsole/confconsole.conf). Uncomment the line (i.e. remove the leading '#') and change the default 'eth0' to the name of your interface.

Hopefully that's a bit clearer?

Eduardo G's picture

Id try de confconsole later, but i suppose that when i reboot, or even when i shutdown the machine and boot again, the update-grub is made automatically no ? or i have to extecute it ? I have shutdown several times and and rebooted several times, and still the old names....


Jeremy Davis's picture

No you need to run 'update-grub' manually!

The grub config that is used at boot time (/boot/grub/grub.cfg) is incredibly complex. So instead of manually editing that and running the risk of making your server unbootable, the actual grub config used at boot time is generated by the 'update-grub' script. To make changes, the very simple /etc/default/grub config file is edited, then the 'update-grub' command run to generate the "real" grub.cfg.

Add new comment