在Linux系统中修改网口名称可通过以下两种主要方法实现,需根据具体需求选择合适方案:
一、临时修改(重启失效)
适用于快速测试或临时需求,通过`ip`命令直接重命名网口。
步骤:
1. 关闭目标网口:
```bash
sudo ip link set dev eth0 down
```
2. 重命名网口:
```bash
sudo ip link set dev eth0 name eth2
sudo ip link set dev eth2 name eth0
```
3. 验证修改:
```bash
ip link show
```
注意事项:
重启后会恢复默认名称,需重复上述步骤。
二、永久修改(重启有效)
适用于长期使用,需通过配置文件或udev规则实现。
1. 修改网络配置文件
Debian/Ubuntu系统:编辑`/etc/network/interfaces`
```bash
sudo nano /etc/network/interfaces
```
将内容修改为:
```bash
auto eth0
iface eth0 inet dhcp
```
RHEL/CentOS系统:编辑`/etc/sysconfig/network-scripts/ifcfg-eth0`
```bash
sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0
```
修改`NAME=eth0`。
步骤:
1. 保存并退出编辑器。
2. 重启网络服务:
```bash
sudo systemctl restart networking
```
或
```bash
sudo service network restart
```
3. 验证修改:
```bash
ifconfig eth0
```
2. 使用udev规则(推荐)
通过静态绑定MAC地址与接口名,实现重启后持久化。
步骤:
1. 查看网卡MAC地址:
```bash
ifconfig
```
2. 编辑`/etc/udev/rules.d/70-persistent-net.rules`:
```bash
sudo nano /etc/udev/rules.d/70-persistent-net.rules
```
添加规则(替换`xx:xx:xx:xx:xx:xx`为实际MAC地址):
```bash
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="xx:xx:xx:xx:xx:xx", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
```
3. 重启系统:
```bash
sudo reboot
```
4. 验证修改:
```bash
ifconfig eth0
```
三、注意事项
系统差异:
CentOS 6/7使用`ifcfg-eth*`文件,而较新系统(如Debian/Ubuntu)使用`/etc/network/interfaces`或`netplan`。修改时需确认系统类型。
重启生效:
永久修改需重启系统,临时修改立即生效。
多网卡管理:
修改`/etc/udev/rules.d/70-persistent-net.rules`时需确保MAC地址与设备匹配,避免冲突。
通过以上方法,可灵活实现网口名称的修改需求。