You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在AWS托管的CentOS 6中将主网口从eth0改为net0?

最优实现方法:AWS CentOS 6 修改主网卡名为 net0

我之前在AWS上折腾过CentOS 6改网卡名的需求,踩过不少坑,给你分享下亲测有效的最优方案——核心是要同时处理cloud-init的自动配置和udev规则,还要同步修改网卡配置文件,具体步骤如下:

1. 先禁用cloud-init的网络自动配置

AWS实例默认会通过cloud-init初始化网络,它会覆盖我们手动设置的网卡名,所以第一步必须先让cloud-init别管网络:

  • 创建自定义cloud-init配置文件:
    vi /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg
    
  • 写入以下内容并保存:
    network:
      config: disabled
    

2. 修改udev持久化网卡规则

CentOS 6生效的是70-persistent-net.rules,不是你之前改的75-persistent-net-generator.rules(那个是生成规则的模板,改了也白搭):

  • 先查看主网卡eth0的MAC地址:
    ip addr show eth0 | grep link/ether
    
    记下输出里的MAC(比如0a:1b:2c:3d:4e:5f)
  • 编辑udev规则文件:
    vi /etc/udev/rules.d/70-persistent-net.rules
    
  • 找到对应eth0的那一行(会匹配刚才的MAC),把NAME="eth0"改成NAME="net0",修改后类似:
    SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="0a:1b:2c:3d:4e:5f", ATTR{type}=="1", KERNEL=="eth*", NAME="net0"
    
  • 重载udev规则:
    udevadm control --reload-rules
    

3. 修改网卡配置文件

要同步修改网卡的配置文件,否则重启后网络会失效:

  • 重命名原配置文件:
    mv /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-net0
    
  • 编辑新的配置文件:
    vi /etc/sysconfig/network-scripts/ifcfg-net0
    
  • 把文件里的DEVICE=eth0改成DEVICE=net0,如果有NAME=eth0也一并改成NAME=net0,其他配置(比如BOOTPROTO、IPADDR、GATEWAY等)保持不变,修改后示例:
    DEVICE=net0
    TYPE=Ethernet
    ONBOOT=yes
    BOOTPROTO=dhcp
    NAME=net0
    

4. 验证并重启

  • 先检查所有配置有没有错误,然后重启系统:
    reboot
    
  • 重启后用以下命令确认网卡名和网络状态:
    ip addr show net0
    ping -c 3 8.8.8.8
    

这样操作后,网卡名就会稳定改成net0,不会被cloud-init或者udev重置了。

内容的提问来源于stack exchange,提问作者Debrian

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 09:28:41