Linux下修改MAC地址
Author:JaylinZhou
Date:10/17/2009
使用ifconfig命令
标准形式:
#ifconfigdevice_namehwetherMAC_address
例如:
#ifconfigeth0hwether00:AA:BB:CC:DD:EE
SIOCSIFHWADDR:Deviceorresourcebusy
因为eth0正在使用,所以必须先执行ifdown操作。
现在做一个试验,我们先来查看eth0的配置文件,
#vi/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
HWADDR=00:0c:29:6a:56:56
NETMASK=255.255.255.0
IPADDR=192.168.1.9
TYPE=Ethernet
将eth0关闭,更改其物理网卡,
#ifdowneth0
#ifconfigeth0hwether00:AA:BB:CC:DD:EE
#servicenetworkrestart
#ifconfig
eth0Linkencap:EthernetHWaddr00:AA:BB:CC:DD:EE
inetaddr:192.168.1.9Bcast:192.168.1.255Mask:255.255.255.0
inet6addr:fe80::2aa:bbff:fecc:ddee/64Scope:Link
UPBROADCASTRUNNINGMULTICASTMTU:1500Metric:1
RXpackets:217441errors:0dropped:0overruns:0frame:0
TXpackets:845errors:0dropped:0overruns:0carrier:0
collisions:0txqueuelen:1000
RXbytes:13095796(12.4MiB)TXbytes:116175(113.4KiB)
Interrupt:169Baseaddress:0x2000
这个之后即使想重启eth0或者关掉eth0都会失败,
#servicenetworkrestart
Shuttingdowninterfaceeth0:Deviceeth0hasMACaddress00:AA:BB:CC:DD:EE,insteadofconfiguredaddress00:0C:29:6A:56:56.Ignoring.
[FAILED]
这是为什么呢?查看一下eth0的配置文件,发现HWADDR的值并没有改变,但是/etc/init.d/network这个程序是要调用这个配置文件的。
现在,对eth0的操作都不能生效了。想用ifconfig命令将MAC地址改回来也不可以linux如何查看mac地址,因为eth0一直打开。想到了一个办法linux如何查看mac地址,先把配置文件里的HWADDR值记住,再将配置文件里的HWADDR的值改为“00:AA:BB:CC:DD:EE”,然后再关掉eth0,这次可以正常关闭了。这时再用ifconfig命令将MAC地址改为原来的值,这里是“00:0C:29:6A:56:56”。启动后MAC变成了以前的MAC。
#ifconfigeth0hwether00:0C:29:6A:56:56
#ifconfig
eth0Linkencap:EthernetHWaddr00:0C:29:6A:56:56
inetaddr:192.168.1.9Bcast:192.168.1.255Mask:255.255.255.0
inet6addr:fe80::20c:29ff:fe6a:5656/64Scope:Link
UPBROADCASTRUNNINGMULTICASTMTU:1500Metric:1
RXpackets:218729errors:0dropped:0overruns:0frame:0
TXpackets:1460errors:0dropped:0overruns:0carrier:0
collisions:0txqueuelen:1000
RXbytes:13206469(12.5MiB)TXbytes:201006(196.2KiB)
Interrupt:169Baseaddress:0x2000
然后再设置配置文件里的HWADDR值,该成以前的值“00:0C:29:6A:56:56”。重新启动eth0,一切又恢复了以前。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/ruanjian/article-129120-1.html