I'm trying to set up apache2 server on Debian 9. I'm using an laptop with Ralink network-card, witch was able to use eth0, at Debian 8, with looks more familiar for me. Since I update my system to 9 my network interface has changed and looks something like this:

enp37s0   1500        0      0      0 0             0      0      0      0 BMU
lo       65536      612      0      0 0           612      0      0      0 LRU
wlo1      1500    36736      0      1 0         20492      0      0      0 BMRU

and in the /etc/interfaces.d/setup file it's defined like:

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp

What is the enp37s0? And why am I connected to the router with wlo1, not eth0?

My routing table:

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface         UG    600    0        0 wlo1   U     600    0        0 wlo1     U     1000   0        0 wlo1

Is that a proper configuration?


Please do see Chapter 2. What's new in Debian 9 from the Release Notes for Debian 9 (stretch), 64-bit PC

2.2.9. New method for naming network interfaces

The installer and newly installed systems will use a new standard naming scheme for network interfaces instead of eth0, eth1, etc. The old naming method suffered from enumeration race conditions that made it possible for interface names to change unexpectedly and is incompatible with mounting the root filesystem read-only. The new enumeration method relies on more sources of information, to produce a more repeatable outcome. It uses the firmware/BIOS provided index numbers and then tries PCI card slot numbers, producing names like ens0 or enp1s1 (ethernet) or wlp3s0 (wlan). USB devices, which can be added to the system at any time, will have names based upon their ethernet MAC addresses.

This change does not apply to upgrades of jessie systems; the naming will continue to be enforced by /etc/udev/rules.d/70-persistent-net.rules. For more information, see /usr/share/doc/udev/README.Debian.gz or the upstream documentation.

see also How can I show the old eth0 names and also rename network interfaces in debian 9 stretch?

I would advise you to take a bit of time to familiarize yourself with Debian 9 before upgrading Debian 8 to Debian 9 systems, and/or following recent documentation/tutorials as the changes under the hood are significant.


Debian 9 moved to newer-style network interface naming in new installations. If you updated from Debian 8 to 9, someone or something may have deliberately deleted the /etc/udev/rules.d/70-persistent-net.rules file which would have maintained the old names.

  • enp37s0 is a wired (en) network device whose PCI bus ID in lspci output is 25:00.0 (37 in decimal = 25 in hex) and which is not integrated to the motherboard (as far as the firmware/BIOS information indicates). It has just a single port. A dual-port NIC might have names like enp37s0f0 and enp37s0f1 corresponding to PCI IDs 25:00.0 and 25:00.1.
  • wlo1 is a wireless (wl) network device that is integrated onboard (o) and is the first such one (1) as indicated by the firmware/BIOS information.

Directory /etc/interfaces.d/ should not be there, do you mean /etc/network/interfaces.d/?

You should replace any references to eth0 in your network configuration with enp37s0. Other than the new name, the network interface should then behave just the same as before.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.