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 如何解决的主要内容,如果未能解决你的问题,请参考以下文章