一、临时修改(重启失效)
使用`ip`命令(需管理员权限) ```bash
sudo ip link set 旧名称 new名称 up
```
例如将`eth0`改为`eth1`:
```bash
sudo ip link set eth0 down
sudo ip link set eth0 name eth1 up
```
*注意:此方法仅对当前会话有效,重启后会恢复默认名称。*
使用`ifconfig`命令(较旧系统)
```bash
sudo ifconfig 旧名称 new名称 up
```
例如:
```bash
sudo ifconfig eth0 eth1 up
```
*同样,重启后会丢失修改。*
二、永久修改(重启生效)
1. 通过网络配置文件修改(适用于静态IP)
备份原有配置文件
```bash
sudo mv /etc/sysconfig/network-scripts/ifcfg-旧名称 /etc/sysconfig/network-scripts/ifcfg-旧名称.bak
```
例如将`ifcfg-eth0`重命名为`ifcfg-eth1`。
编辑配置文件
```bash
sudo vi /etc/sysconfig/network-scripts/ifcfg-新名称
```
修改内容:
```
DEVICE=新名称
ONBOOT=yes
TYPE=Ethernet
BOOTPROTO=dhcp
DEFROUTE=yes
NM_CONTROLLED=yes
DNS1=8.8.8.8
```
例如:
```
DEVICE=eth1
ONBOOT=yes
TYPE=Ethernet
BOOTPROTO=dhcp
DEFROUTE=yes
NM_CONTROLLED=yes
DNS1=8.8.8.8
```
重启网络服务
```bash
sudo systemctl restart network
```
或者直接重启系统:
```bash
sudo reboot
```
2. 通过udev规则实现动态命名(推荐)
备份原有规则文件
```bash
sudo mv /etc/udev/rules.d/70-persistent-net.rules /etc/udev/rules.d/70-persistent-net.rules.bak
```
编辑规则文件
```bash
sudo vi /etc/udev/rules.d/70-persistent-net.rules
```
添加规则:
```
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="xx:xx:xx:xx:xx:xx", ATTR{type}=="1", KERNEL=="eth*", NAME="新名称"
```
例如:
```
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:50:56:31:64:20", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
```
*需用网卡MAC地址替换`xx:xx:xx:xx:xx:xx`。*
重启系统
```bash
sudo reboot
```
*系统启动时会自动应用新名称。*
三、注意事项
统一命名规则: 若需为多张网卡统一命名(如`eth1-USB`、`eth2-PCEI`),可在`/etc/udev/rules.d/`目录下添加对应规则,例如: ``` SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{type}=="1", KERNEL=="eth*", NAME="eth%k" ``` *`%k`表示设备索引,可避免名称冲突。* 部分系统(如CentOS 7)需修改`/etc/default/grub`文件,添加`net.ifnames=0 biosdevname=0`以禁用内核命名,重启后生效。 修改后需通过`ifconfig -a`或`ip addr show`命令确认新名称已生效。 四、示例:在Rocky Linux 8中修改网卡名称 直接编辑配置文件系统级配置:
重启验证:
```bash
sudo vi /etc/sysconfig/network-scripts/ifcfg-ens33
```
修改`NAME=eth0`,重启网络服务:
```bash
sudo systemctl restart network
```
使用脚本批量修改(多张网卡):
- 备份原有文件:
```