CentOS7 网口配置为ethX

系统升级到CentOS7后,最大的变化就是网口的名称不是以前CentOS6或者说大部分原有linux的风格,用的是enXXXX的网口名称,这点让人很不习惯。其实是可以修改为原有ethX的风格的。现在将修改步骤用shell脚本来整合一下。

#!/bin/bash

ifconfig -a | sed 's/[ \t].*//;/^$/d' | grep eth >/dev/null || { # 简单判断下,是否为ethX的格式
    sed -i "s/GRUB_CMDLINE_LINUX=\"\(.*\)\"/GRUB_CMDLINE_LINUX=\"\1 net.ifnames=0 biosdevname=0\"/" /etc/default/grub # 修改/etc/default/grub
    [ -f /boot/efi/EFI/centos/grub.cfg ] && { # 更新grub.cfg文件,需要区分EFI及grub2启动方式的不同
        grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg
    } || {
        grub2-mkconfig -o /boot/grub2/grub.cfg
    }
    cd /etc/sysconfig/network-scripts/ && { # 修改ifcfg-enXXX为ifcfg-ethX
        j=0
        for i in `ls ifcfg-en*`
        do
            __iname="eth$j"
            sed -i 's/NAME.*/NAME='${__iname}'/g' $i
            sed -i 's/DEVICE.*/DEVICE='${__iname}'/g' $i
            mv $i ifcfg-$__iname
            let j+=1
        done
        cd -
    }
}
# 最后需要重启生效,这里注释掉,手动重启

 

参考资料:

How to: change a network interface name on CentOS 7

scripting insertion of variable to config file

List only the device names of all available network interfaces

转载请注明: 转载自elkPi.com

本文链接地址: CentOS7 网口配置为ethX

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

Scroll to top