怎么设置网卡名字

时间:2025-03-27 06:14:37 公司取名

一、临时修改(重启失效)

使用`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

```

使用脚本批量修改(多张网卡):

- 备份原有文件:

```