what is the difference between eth1 and eno1?
Solution 1:
eth1
is the onboard Ethernet (wired) adapter on your Linux machine.
eno1
is your embedded NIC (onboard Network Interface Card). It is a regular physical network interface.
You can use this link as reference.
This is a way of representing the Ethernet names. If machine has already eth1
in its config file for the second adapter it will use eno1
rather than using eth2.
They both are same. Its just a name of config file. You can also change the name eno1
to eth2
by doing a simple Google search.
Here is the link for changing the same: Click
Solution 2:
The difference between eth0
and eno1
is the method/scheme the Linux kernel used to assign a name the Ethernet interface in question.
In the 1990s, Linux assigned the names of the form ethX
(where X
is a numeral) to Ethernet network interfaces.
However, on a machine with multiple network interfaces, an interface would not receive the same name consistently across reboots due to boot-time race conditions.
Consequently, a new naming scheme was introduced. Most commonly (at least in my experience), these names were of the form enpXsY
, where X
and Y
are numerals. These interface names were consistent across boots (provided no hardware was added, removed, or moved to a different slot between boots).
I suspect (but have not been able to confirm) that interface names of the form enoX
or ensY
are more likely to appear when the machine boots via UEFI (as opposed to booting via legacy BIOS).
Freedesktop.org says that as of Systemd v197:
The following different naming schemes for network interfaces are now supported by udev natively:
- Names incorporating Firmware/BIOS provided index numbers for on-board devices (example:
eno1
)- Names incorporating Firmware/BIOS provided PCI Express hotplug slot index numbers (example:
ens1
)- Names incorporating physical/geographical location of the connector of the hardware (example:
enp2s0
)- Names incorporating the interfaces's MAC address (example:
enx78e7d1ea46da
)- Classic, unpredictable kernel-native ethX naming (example:
eth0
)
You may also find additional information at these links:
https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/
https://wiki.debian.org/NetworkInterfaceNames
https://en.wikipedia.org/wiki/Consistent_Network_Device_Naming