<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/ DTD/wml_1.1.xml">

<wml>
<head>
<meta http-equiv="cache-control" content="max-age=180,private" />
</head>
<card title="CentOS/Debian修改默认的网卡名称为eth0">
<p>
作者:<a href="index.php?action=showuser&amp;userid=1&amp;hash=">admin</a><br />时间:2023-12-08 10:02<br />分类:<a href="index.php?action=list&amp;cid=3&amp;hash=">电脑技术</a><br />内容:
CentOS7修改默认的网卡名称为eth0




1.问题引入：


1）从CentOS/RHEL7开始，默认网卡的命名规则进行了优化升级，在新的规则下，网卡接口名称会基于固件，拓扑结构和位置信息来确定，常见的有eno16777736，ens33。


2）在添加或移除网络设备，克隆虚拟机和虚拟化相关配置中，接口名称仍然保持固定，而无需手动修改或者重新生成。


3）在大规模集群和虚拟化应用中，这样的配置显然是有很大优势的，避免了克隆虚拟机后修改网卡配置的操作，但对于个人测试或者从CentOS6继承过来的习惯问题，可能会不太舒服，可以通过以下方法进行修改


2.解决方法：


1）重命名网卡配置文件


cd /etc/sysconfig/network-scripts/


ifconfig （如提示命令不存在，可以 yum -y install net-tools 安装）


mv ifcfg-ens33 ifcfg-eth0


修改网卡配置文件内容


# 将NAME和DEVICE改为与网卡文件相同的名称eth0，同时可以去掉UUID，HWADDR等配置参数


vim ifcfg-eth0




XML/HTML代码


    NAME=eth0  

    DEVICE=eth0  

    ONBOOT=yes  

    TYPE=Ethernet  

    BOOTPROTO=static  

    IPADDR=192.168.1.85  

    PREFIX=24  

    GATEWAY=192.168.1.1  

    DNS1=202.106.0.20  

    DNS2=8.8.8.8  

    DEFROUTE=yes  

    IPV4_FAILURE_FATAL=no  

    IPV6INIT=no  

    IPV6_AUTOCONF=no  

    IPV6_DEFROUTE=no  

    IPV6_PEERDNS=no  

    IPV6_PEERROUTES=no  

    IPV6_FAILURE_FATAL=no  

    PROXY_METHOD=none  

    BROWSER_ONLY=no  







3）禁用系统内核自动命名配置


# 编辑/etc/default/grub文件，在启动时传递&ldquo;net.ifnames=0 biosdevname=0&rdquo;的内核参数到GRUBCMDLINELINUX变量可以实现


vim /etc/default/grub




XML/HTML代码


    GRUB_CMDLINE_LINUX=&quot;rhgb quiet net.ifnames=0 biosdevname=0&quot; 







4）更新grub配置参数


# 以下命令可以更新该内核参数




XML/HTML代码


    grub2-mkconfig  -o  /boot/grub2/grub.cfg







5）重启检查配置


reboot


ifconfig


6）修改udev网卡规则（非必要操作）


# 根据Centos 官方WIKI的FAQ中得知，如果你有多个接口，并且想要控制其设备名，而不是让内核以它自己的方式命名，创建,/etc/udev/rules.d/XXX-net.rules规则是必要的


# 对于CentOS6网卡的命名规则是/etc/udev/rules.d/70-persistent-net.rules，修改该文件或者直接删除可以解决重启不生效的问题，


# 对于CentOS7,命名规则的文件存放在/usr/lib/udev/rules.d/目录下，可以修改60-net.rules这个文件进行配置


cd /usr/lib/udev/rules.d/


vim 60-net.rules




XML/HTML代码


    ACTION==&quot;add&quot;, SUBSYSTEM==&quot;net&quot;, DRIVERS==&quot;?*&quot;, ATTR{type}==&quot;1&quot;, ATTR{address}==&quot;00:0c:29:9e:10:86&quot;, RESULT==&quot;?*&quot;, NAME=&quot;eth0&quot;







Debian如何将网卡名改为eth0


在默认情况下，Debian会将网卡命名为ens33或者其他类似的名称，我们如果需要将网卡名称改为eth0，需要进行以下步骤：


步骤 1: 确认网络接口名称


首先，我们需要确认当前的网络接口名称。打开终端，并使用以下命令：


ifconfig -a


该命令将列出所有网络接口及其相应的名称和配置信息。请查找你想要更改名称的网络接口。


步骤 2: 修改GRUB配置文件


接下来，我们需要编辑GRUB配置文件以修改内核启动参数。


打开终端，并输入以下命令：


sudo nano /etc/default/grub


使用你喜欢的编辑器（上述命令中使用的是nano）打开该文件后，找到以下行：


GRUB_CMDLINE_LINUX=&quot;&quot;


将其修改为：


GRUB_CMDLINE_LINUX=&quot;net.ifnames=0 biosdevname=0&quot;


保存并关闭文件。


然后，在终端中运行以下命令以应用更改：


sudo update-grub


步骤 3: 修改网络接口配置文件


现在，我们需要编辑网络接口配置文件以将网卡名更改为eth0。


打开终端，并输入以下命令：


sudo nano /etc/network/interfaces


在该文件中找到你想要更改名称的网络接口，并将其修改为：


auto eth0 iface eth0 inet dhcp


保存并关闭文件。


步骤 4: 重启网络服务


最后，我们需要重启网络服务以使更改生效。


在终端中输入以下命令：


sudo systemctl restart networking


现在，你的网卡名称应该已成功更改为eth0。 




其实不管是Debian,Ubuntu,Centos系统都可以通过修改grub引导，修改一样的配置，实现开机后网卡重命名的。Centos系统如果更换网卡，原本eth0变成了eth1，如果想让新网卡还是eth0，可以直接修改udev网卡规则，删掉或者#注释掉老网卡信息，然后修改新网卡信息，把eth1改成eth0，保存后重启服系统，这样就可以实现不修改网卡配置信息，更换网卡不影响以前任何配置的目的。
</p><p>
<a href="index.php?action=login&amp;hash=">立即登陆发表评论</a><br />
</p>
<p><a href="index.php?action=list&amp;hash=">返回日志列表</a><br /><a href="index.php?action=index&amp;hash=">返回主页</a></p>
</card>
</wml>
