linux 重启网卡 Device eth0 has different MAC address than expected, ignoring 如何解决

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux 重启网卡 Device eth0 has different MAC address than expected, ignoring 如何解决相关的知识,希望对你有一定的参考价值。

这个提示是指网口的mac地址已经变化,但是设备名称没有变化,导致设备名称和mac地址无法匹配,linux无法挂载该网口。换种说法就是该网口的配置文件里的mac地址和该网口实际的mac地址不符合。


这种情况一般发生在虚拟机迁移,或者更换网卡的时候,解决方案如下:

1:记录网口的实际地址,执行ifconfig eth0

其中HWaddr后面就是网口实际的mac地址


2:更改配置文件中的mac地址

打开eth0的网口配置文件: /etc/sysconfig/network-scripts/ifcfg-eth0

(该地址可能随着不同的操作系统有所不同)

在文件中寻找 HWADDR= 这行,如果没有就新加一行。把这行后面的值改成第一步看到的mac地址值,例如 HWADDR="00:0C:29:2D:2D:CF",然后保存退出


3:通过service network restart重启网卡,或者通过ifup eth0启动网卡(该命令会检查配置文件)

参考技术A 许多的公司是限制员工利用公司电脑上网的,原因可能是怕受到病毒威胁,也或者是节约资源,给其他需要网络的同事提供更流畅的网络。

这就给这部分被限制上网的朋友们提出了一个难题:被限制不能上网了?那还有没有办法再突破封锁继续上网呢?要再突破封锁也是可以实现的,这里我说一下IP与MAC地址绑定并被锁定限制上网的方法如何巧妙化解。

化解方法:手动修改IP和MAC地址。

既然IP与MAC地址绑定,修改MAC肯定也要修改IP。

一般MAC地址在网卡中是固定的,当然也有网络高手会想办法去修改自己的MAC地址。修改自己的MAC地址有两种方法,一种是硬件修改,另外一种是软件修改。硬件的方法就是直接对网卡进行操作,修改保存在网卡的EPROM里面的MAC地址,通过网卡生产厂家提供的修改程序可以更改存储器里的地址。那么什么叫做EPROM呢?EPROM是电子学中一种存储器的专业术语,它是可擦写的,也就是说一张白纸你用钢笔写了一遍以后就不能再用橡皮擦去了,而EPROM这张白纸用铅笔写后可以再擦去,可以反复改变其中数据的存储器。当然软件修改的方法就相对来说要简单得多了,在Windows中,网卡的MAC保存在注册表中,实际使用也是从注册表中提取的,所以只要修改注册表就可以改变MAC。

Windows 2000/XP中的修改:同样打开注册表编辑器:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\4D36E970-E325-11CE-BFC1-08002BE10318 中的0000,0001,0002中的DriverDesc,如果在0000找到,就在0000下面添加字符串变量,命名为“NetworkAddress”,值为要设置的MAC地址,例如:000102030405

完成上述操作后重启就好了。一般网卡发出的包的源MAC地址并不是网卡本身写上去的,而是应用程序提供的,只是在通常的实现中,应用程序先从网卡上得到MAC地址,每次发送的时候都用这个MAC作为源MAC而已,而注册表中的MAC地址是在Windows安装的时候从网卡中读入的,只要你的操作系统不重新安装应该没有问题.

另一种修改MAC的方法:打开本地连接的属性,在“常规”里面,有一个“配置”,然后点“高级”,选“network address”,选中“值”,在里面填写数据。这个数据你最好到开始-运行-cmd,输入IPCONFIG /ALL 察看,如:00-1D-7D-77-45-83,找到你的那个值,去掉-,修改最后1个数,填进去就行了。

修改IP地址的方法:开始-运行-cmd,输入IPCONFIG /ALL 察看,将里面的信息纪录下来,到本地连接的属性里面-Internet协议TCP/IP-属性,点使用下面IP地址,然后把你纪录的写进去就行了,但也要把如192.168.1.3,后面的改一位数字,比如改成192.168.1.4,网关就不要改了。

本人觉得不管要修改IP还是MAC,首先,你都要找到一个可用的,没有被锁定限制的MAC和对应的IP。只要局域网内不存在相同的MAC和IP地址,那么就不会有地址冲突,就可以很好的使用。
本回答被提问者采纳
参考技术B 应该是你的配置文件内的MAC地址和真实的MAC不一样造成的。
1。查看配置文件/etc/sysconfig/network-scripts/ifcfg-eth0 中的HWADDR 参数是什么
2. 用命令ifconfig etho, 看看其中的HWaddr是什么
3. 另外你的真实的MAC地址可以在机器启动时按F12 进入网络启动,看看本地的MAC地址是多少

把/etc/sysconfig/network-scripts/ifcfg-eth0 中的HWADDR 参数修正过来应该就可以了。你试一下吧!
参考技术C 请把你 /etc/sysconfig/network-scripts/ 目录下的所有 ifcfg- 开头的文件内容发上来,这个问题一般是网络的配置问题。 参考技术D 修改网卡配置文件:/etc/sysconfig/network-scripts/ifcfg-eth0
将 HWADDR 项注释掉

linux 101-200

103 Linux 重要子目录说明

/etc/sysconfig/net-scripts/ifcfg-eth0

1)重启网卡  /etc/init.d/network restart

2)ifdown eth0 && ifup eth0  只针对eth0网卡,通过setup       network configuration 修改

DEVICE=eth0          物理设备名  eth1表示第二块网卡
HWADDR=00:0c:29:a6:a6:6d   网卡mac地址   48位
TYPE=Ethernet   以太网
UUID=a1d78f1f-e337-4366-8600-8b53579f9f95  网卡的唯一标识   身份证一样
ONBOOT=yes        是不是开机启动
NM_CONTROLLED=yes
BOOTPROTO=dhcp      none,引导时不使用协议    static 静态分配地址   bootp,使用bootp 协议,   dhcp 使用dhcp协议
USERCTL=no
PEERDNS=yes
IPV6INIT=no

查看磁盘设备的UUID  可以使用blkid 查看

[[email protected] ~]# blkid
/dev/sda3: UUID="bfd0887f-fbd2-474e-a4df-20d051eec917" TYPE="ext4" 
/dev/sda1: UUID="244e62b6-2f8a-486a-a620-daa11b3fe4f0" TYPE="ext4" 
/dev/sda2: UUID="61aa510b-94fb-4c1e-ac14-4a45e6ee6933" TYPE="swap" 

 

以上是关于linux 重启网卡 Device eth0 has different MAC address than expected, ignoring 如何解决的主要内容,如果未能解决你的问题,请参考以下文章

克隆的Linux系统中重启网卡失败“Bringing up interface eth0: Device eth0 does not seem to be present“

Determining if ip address is already in use for device eth0

Linux解决Device eth0 does not seem to be present

CentOS Linux解决Device eth0 does not seem to be present

CentOS Linux解决Device eth0 does not seem to be present

CentOS Linux解决Device eth0 does not seem to be present