art*_*rtm 6 kernel networking udev
当我ifconfig
在我的一台机器上运行时,我看到了这些。
Q值在哪里呢索引eth3
和eth4
从?有没有办法将它们更改为eth0
和eth1
?
$ 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)
Run Code Online (Sandbox Code Playgroud)
编辑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"
Run Code Online (Sandbox Code Playgroud)
(是的,我有两张 Eth 卡,一张 100 Mbps,另一张 1000 Mbps)。
hee*_*ayl 11
接口名称由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"
Run Code Online (Sandbox Code Playgroud)
如果您也想更改其名称,也可以对其他接口规则执行相同操作。重命名后重新启动计算机,接口应正确重命名。
另请注意,由于您已经使用名称eth0
和定义了接口,因此请先eth1
删除或注释掉包含规则的行来禁用这些规则,否则会发生冲突并且不会进行重命名。