问题记录:Redhat6.5 网卡配置变更后,Eth0变为Eth1_配置文件


问题记录:Redhat6.5 网卡配置变更后,Eth0变为Eth1


引言


Red Hat Enterprise Linux 6.5(Redhat 6.5)尽管是一个较旧的操作系统版本,仍然在许多企业环境中发挥着重要作用。然而,老旧的系统并不免于技术挑战。例如,本文将探讨一个在修改网卡配置后遇到的一个奇怪问题:在网卡配置变更后,原本是eth0的网卡名称变更为了eth1

问题背景

在一个运行Redhat 6.5的版本的环境中,由于业务需求更改了IP地址。在更新了网卡配置文件ifcfg-eth0并重启网络服务后,发现网络通信并没有恢复。

执行ip a命令检查时,原本命名为eth0的网卡现在显示为eth1

[root@dockerb ~]# ip a
eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:59:de:3b brd ff:ff:ff:ff:ff:ff
    inet 192.168.157.61/24 brd 192.168.157.255 scope global noprefixroute eth1
       valid_lft forever preferred_lft forever
    inet6 fe80::f9c6:98f6:cba3:d214/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

解决思路

经资料查询与论证,得出结果:

经过深入查询和分析论证,发现Red Hat6.5和其它一些基于Redhat6.x的系统,在更改网卡配置时,会自动更新/etc/udev/rules.d/70-persistent-net.rules文件,该文件记录了MAC地址和网卡名称的映射。

在理论上,手动编辑70-persistent-net.rules文件,将MAC地址与网卡序号进行关联是可能的。然而,由于存在一些未公开的系统规则,这种方法可能不会总是生效。例如,在重启后,网卡名称可能会继续递增,而不是重置为0开始。

因此,选择了一个更为直接的方法:删除70-persistent-net.rules文件,这样在操作系统重启后,Red Hat将自动重新创建该文件,并重置网卡计数器从0开始。

操作步骤

这里给出删除配置的两种方式:

  1. 直接删除配置文件

rm -rf /etc/udev/rules.d/70-persistent-net.rules

  1. 将配置文件移动到其他目录下并备份

mv /etc/udev/rules.d/70-persistent-net.rules /root/7.bak

这里由于是在生产服务器上,为避免使用过于激进的rm命令,我选择了第二种方法,然后执行reboot令来完成操作。

[root@dockerb ~]# mv /etc/udev/rules.d/70-persistent-net.rules /root/7.bak
[root@dockerb ~]# reboot

重启完成后,通过执行ip a检查,发现网卡名称已重置并从eth0开始计数:

[root@dockerb ~]# ip a
eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:0c:29:54:b1:0a brd ff:ff:ff:ff:ff:ff
    inet 192.168.157.61/24 brd 192.168.157.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe54:b10a/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

最后

通过这个问题案例,可以看到,即使是较老的系统,在维护时也可能出现意料之外的问题。建议在进行此类配置更改前,备份相关的配置文件,并确保有回滚计划以应对潜在的问题。

此外,保持系统及其组件的更新是预防未知问题的有效方法,如果条件允许,升级迭代到更现代的系统版本,可以带来更多的安全和性能改进。

附录

  • ip a: 此命令用于显示所有网络接口的信息,包括它们的状态、IP地址和其它网络配置。
  • /etc/udev/rules.d/70-persistent-net.rules: 此文件由udev系统使用,用于存储网络接口的持久命名信息。

问题记录:Redhat6.5 网卡配置变更后,Eth0变为Eth1_配置文件_02

最后~欢迎关注我! @Linux学习的那些事儿

我的个人资源整理,满满都是干货: 无任何套路,有需要可以访问领取

200T免费资源专区,持续发布中...

如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!