共计 2275 个字符,预计需要花费 6 分钟才能阅读完成。
导读 | 网卡,即网络接口板,又称网络适配器或 NIC (网络接口控制器),是一块被设计用来允许计算机在计算机网络上进行通讯的计算机硬件。由于其拥有 MAC 地址,因此属于 OSI 模型的第 1 层。它使得用户可以透过电缆或无线相互连接。每一个网卡都有一个被称为 MAC 地址的独一无二的 48 位串行号,它被写在卡上的一块 ROM 中。 |
VirtualBox + CentOS6.5
有时候在克隆服务器之后配置网络时,或者在维护别人建好的服务器时,会遇到这样一种情况。如下图所示:
即:在接口配置文件 ifcfg-eth0 中,配置的是网卡 eth1 的信息。
这种不一致有可能对强迫症造成一定的困扰,有时候我们更想要的是:在 ifcfg-eth0 文件中,配置的应该是网卡 eth0 的信息,而网卡 eth1,则应该是在 ifcfg-eth1 中进行配置。
要解决上面的问题,大致有两种方法:
1)将接口配置文件的文件名由 ifcfg-eth0 修改为 ifcfg-eth1;
2)将网卡 eth1 的名称修改为 eth0.
方法一:
该方法实测是可行的,如下图所示,修改完之后直接重启网络即可。
方法二:
这种方法的直观感觉是直接在 ifcfg-eth0 配置文件中将网卡名称由 eth1 修改为 eth0,但是这样改的话,重启网络会出现 Device eth0 does not seem to be present 即:设备 eth0 不存在的错误,如下图所示,该问题的解决参考《L08-Linux 解决 Device eth0 does not seem to be present,delaying initialization 问题》。
所以还不能简单粗暴的这么改,因为,正如下图由 ifconfig –a 命令查询到的,服务器所识别的网卡依然是 eth1,而不是 eth0。
注:记住这里的 mac 地址 08:00:27:74:39:02,在后面的实施步骤中可作为修改的依据,因为一台服务器的 IP 可以随意改变,但是 mac 地址是唯一的。
为了解决这个问题,我们先修改 /etc/udev/rules.d/70-persistent-net.rules 文件中的配置,使得服务器的网卡名称由 eth1 变为 eth0,然后,我们再将 ifcfg-eth0 中的网卡名也跟着改过来,最后重启网络。
1)修改配置文件 /etc/udev/rules.d/70-persistent-net.rules。
原 /etc/udev/rules.d/70-persistent-net.rules 文件内容如下:
# This file was automatically generated by the /lib/udev/write_net_rules | |
# program, run by the persistent-net-generator.rules rules file. | |
# | |
# You can modify it, as long as you keep each rule on a single | |
# line, and change only the value of the NAME= key. | |
# PCI device 0x8086:0x100e (e1000) | |
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="08:00:27:9b:bb:3c", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0" | |
# PCI device 0x8086:0x100e (e1000) | |
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="08:00:27:74:39:02", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1" |
修改后的内容如下:
# This file was automatically generated by the /lib/udev/write_net_rules | |
# program, run by the persistent-net-generator.rules rules file. | |
# | |
# You can modify it, as long as you keep each rule on a single | |
# line, and change only the value of the NAME= key. | |
# PCI device 0x8086:0x100e (e1000) | |
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="08:00:27:74:39:02", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0" |
如上面所示
a) 将原文件中的 eth0 的配置删掉了(因为它没用了,这项配置是我本次测试时克隆本服务器时源机器的配置,配置中对应的 mac 地址也是源服务器的 mac 地址,对我们目前这台服务器而言没用);
b) 将 eth1 网卡名称修改为了 eth0(可注意到它的 mac 地址为 08:00:27:74:39:02,恰恰就是我们要修改的条目。)
2)修改接口配置文件 ifcfg-eth0,将网卡由 eth1 修改为 eth0
3)重启机器,让服务器根据 /etc/udev/rules.d/70-persistent-net.rules 文件重新配置网卡信息
可以发现,重启机器之后一进入服务器,网络就已经配置成一致的了,如下图:
至此,修改完毕。
