更改 ethX 指数

更改 ethX 指数

当我运行ifconfig我的一台机器时我看到了这些。

问题是索引eth3eth4来自哪里?有没有办法将它们更改为eth0eth1

$ ifconfig
eth3      Link encap:Ethernet  HWaddr 00:1a:a0:9d:c9:90  
          inet addr:192.168.1.100  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fddc:2a53:4ad:0:a412:573:557c:ce58/64 Scope:Global
          inet6 addr: fddc:2a53:4ad:0:21a:a0ff:fe9d:c990/64 Scope:Global
          inet6 addr: fe80::21a:a0ff:fe9d:c990/64 Scope:Link
          inet6 addr: fddc:2a53:4ad::c68/128 Scope:Global
          inet6 addr: fddc:2a53:4ad:0:41f0:3be9:2668:e5b/64 Scope:Global
          inet6 addr: fddc:2a53:4ad:0:4daf:e298:e54c:2540/64 Scope:Global
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:217764 errors:0 dropped:0 overruns:0 frame:0
          TX packets:402733 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:21329905 (21.3 MB)  TX bytes:40208000 (40.2 MB)
          Interrupt:20 Memory:fdfc0000-fdfe0000 

eth4      Link encap:Ethernet  HWaddr e8:94:f6:02:eb:a7  
          inet addr:192.168.0.108  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::ea94:f6ff:fe02:eba7/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2604292 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2069814 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:486616623 (486.6 MB)  TX bytes:472115888 (472.1 MB)

编辑1:

$ grep 'eth' /etc/udev/rules.d/70-persistent-net.rules
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:14:6c:72:d2:46", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:1e:c9:6c:8c:a3", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="30:b5:c2:03:46:4d", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth2"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:1a:a0:9d:c9:90", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth3"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="e8:94:f6:02:eb:a7", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth4"

(是的,我有两张 Eth 卡,一张 100 Mbps,另一张 1000 Mbps)。

答案1

接口名称是udev动态分配的,或者根据文件中声明的规则分配的/etc/udev/rules.d/70-persistent-net.rules。尽管是udev动态管理设备,但将规则放在此文件中可以udev对此处定义的接口做出持久的决定。

因此,要更改接口的名称,请打开文件/etc/udev/rules.d/70-persistent-net.rules,首先通过检查 MAC 地址(例如)找到适当的接口ATTR{address}=="00:1a:XX:YY:c9:ZZ"。找到要更改名称的接口后,将NAME="eth3"行末的名称(例如)替换为您想要的名称(例如NAME="eth0"

因此该行变为:

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:1a:XX:YY:c9:ZZ", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

如果您也想更改其他接口规则的名称,请对其执行相同操作。重命名后,重新启动计算机,接口应该会正确重命名。

还要注意,由于您已经定义了名称eth0和的接口eth1,请先删除或注释掉包含规则的行来禁用这些规则,否则会发生冲突并且无法进行重命名。

答案2

我只想回答一个部分:“eth3 和 eth4 从何而来?”根据我的经验,指向名称 eth0、eth1、eth2 的 mac 地址会因机器中的主板/网卡更换而变得多余。因此,如果这是由于网络接口离开机器而导致的,您可以安全地删除它们。

相关内容