为什么我的网络接口命名为enp0s25而不是eth0?


109

在安装Ubuntu 15.10之后,我的许多脚本都停止了工作,由于多年使用ethx和wlanx,我很难记住这个新名称。有这种变化的原因吗?我是否必须习惯于此,还是可以将其重命名并返回到旧的eth0?

$ ifconfig

enp0s25   Link encap:Ethernet  HWaddr 77:5a:5e:a6:86:d5  
      inet addr:192.168.31.239  Bcast:192.168.31.255  Mask:255.255.255.0
      inet6 addr: fe80::725a:b6ff:fea6:86d7/64 Scope:Link
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:4833 errors:1332 dropped:0 overruns:0 frame:666
      TX packets:5589 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000 
      RX bytes:3266446 (3.2 MB)  TX bytes:1046654 (1.0 MB)
      Interrupt:20 Memory:d3500000-d3520000

2
请参见此内容,链接还有更多详细信息的链接。
Doug Smythies,2015年

4
Oooooooooooooooo或一劳永逸地修复脚本,并删除引用(并通过更改此命令来确定设备名称);-)(此处有一些指针:askubuntu.com/questions/396837/…
Rinzwind

@Rinzwind这是个好主意。
迈克(Mike)

@Mike我的老板(=主编)也总是同意我的观点,但是后来他总是使用硬编码的路径和设备……我一次又一次责骂他;)
Rinzwind 2015年

1
这样的重复
地毯

Answers:


105

这就是所谓的可预测网络接口命名,它是systemd的一部分,Ubuntu从15.04版开始就已经过渡到该命名系统

基本思想是,与以前的* nix命名方案不同,对硬件的探测没有特定顺序,并且可能在重新引导之间发生变化,此处的接口名称取决于硬件的物理位置,可以通过查看lspcilshw输出来预测/猜测。相反,我们可以猜测有关其在pci系统中物理位置的信息。在您的情况下,这将是pci总线0,插槽2。根据freedesktop.org文章,实际上分配接口名称的方法有3种:基于板载卡的BIOS /固件,基于PCI信息和基于MAC接口地址。有关其他示例,请参见此处

根据freedesktop.org页上的信息,切换到可预测的命名的原因之一是,经典的命名约定在引导时添加和删除设备时会导致多接口系统中的软件安全风险。另外,根据该意见萨姆·哈内斯,“在与众多以太网端口一个很大的服务器是非常宝贵的:你可以立即知道哪个接口进入的端口,然后添加或删除硬件不改变其它端口的名字。”

如果您决定恢复为其他版本的命名,请参见15.10中的如何重命名网络接口


40
我对“ predictable” :)一词几乎没有讽刺意味,谢谢您的指导。
迈克(Mike)

11
是的,“可以预测”。升级到15.10(全新安装,旧/ home)后,我断开了以太网连接。为什么要破坏API和约定?现在我必须找出失败的原因。我对此很不高兴:(
gorlok

13
我认为失败是可以预见的;)
Anwar

6
嗯,告诉systemd开发人员,伙计们。
Sergiy Kolodyazhnyy

22
可预测的命名在仅具有一个界面的桌面系统上并不是特别有用,在这种情况下,它有点令人讨厌。在具有许多以太网端口的大型服务器上,它是无价的:您可以立即知道哪个接口连接到哪个端口,并且添加或删除硬件不会更改其他端口的名称。它就是为此而设计的。
山姆·汉斯

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.