文档库 最新最全的文档下载
当前位置:文档库 › Linux下修改MAC地址终结

Linux下修改MAC地址终结

Linux下修改MAC地址终结
对于Linux初学者来说,在linux下面修改网卡MAC地址也是挺头痛的一件事
不像windows下那样,直接在网卡的高级选项里可以选的,(个别网卡在高级选项里没有的除外,比如偶的,只能在注册表下动手术,这是极个别现象)
查阅了网上无数在Linux下修改MAC地址的文章之后,进行逐一分析并测试之后,终于总结归纳出比较可靠的方法了。

鉴于linux版本不同,修改方法也有差异,进行分开讲述:

Ubuntu下:
临时修改(每次开机后手动修改):
在未动过network下的interfaces的情况下, 以root帐号在终端下输:
ifconfig eth1 down(出现网络连接断开的提示,eth1为对应物理网卡代号,视具体情况而定)
ifconfig eth1 hw ether AA:BB:CC:DD:EE:FF (把对应网卡物理地址修改成想要的)
ifconfig eth1 up (重新启用网卡)
此效果等同于:
ip link set eth1 down
ip link set eth1 address AA:BB:CC:DD:EE:FF
ip link set eth1 up
经研究发现,必须关掉网卡的漫游模式才能这样立即生效,否则该了MAC地址后不会自动获取IP地址
永久修改(开机自动修改):
修改etc/network/interfaces文件(网卡配制文件)
在对应网卡代号下添加如下命令:
pre-up ifconfig eth1 hw ether AA:BB:CC:DD:EE:FF
此命令等同于:
pre-up ip link set eth1 address AA:BB:CC:DD:EE:FF

SuSE下:
临时修改:
1. 也是像ubuntu里那样先停用对应网卡(我的网卡在SuSE下是eth0)
ip link set eth0 down
或ifconfig eth0 down
SuSE下还多一个rcnetwork命令,控制整个网络的,要停用网卡,也可以通过停用整个网络服务来实现
命令:rcnetwork stop
2.修改网卡MAC地址(命令与Unbutu相同):
ip link set eth0 address AA:BB:CC:DD:EE:FF
或 ifconfig eth0 hw ether AA:BB:CC:DD:EE:FF
3.由于SuSE下光光再次启用网卡并不会像Ubuntu下那样快速做出反应,
也就是光输:ifconfig eth0 up或ip link set eth0 up ,网卡物理地址是修改了,但网络ip地址还未自动获取
但是我们可以通过启动整个整个网络服务来让它生效:rcnetwork start
由于rcnetwork start的同时也启用了所有网卡,所以ifconfig eth0 up或ip link set eth0 up 这步可以省略了
永久修改(开机自动修改):
SuSE下并不能像Ubuntu下那样简单的在网卡配制文件里加条命令就能自动生效
因为那条命令在SuSE下不能识别,
直接在SuSE的网卡配制文件etc/sysconfig/network/ifcfg-eth0里
添加ip link set eth0 address AA:BB:CC:DD:EE:FF或ifconfig eth0 hw ether AA:BB:CC:DD:EE:FF
效果并不理想
添加命令到etc/init.d/boot.local文件,该文件里的命令可以在开机启动时执行
rcnetwork stop
ip link set eth0 address AA:BB:CC:DD:EE:FF或ifconfig eth0 hw ether AA:BB:CC:DD:EE:FF
rcnetwork start
修改后保存,下次启动生效
这个方法可以使开机自动

修改MAC地址,并且也自动获取了IP,但有个问题,没有连上DNS服务器,也就是无法获得对域名的解析服务
需要手动连接DNS服务器,所以相对而言,SuSE下自动修改MAC地址的效果并不理想,搞不好还是手动修改吧。

PS: Ubuntu里也有类似boot.local的文件,位于etc/rc.local, 但在Ubuntu的这个文件里添加修改MAC命令是无效的。
ubuntu里也存在操控整个网络停止和启动的命令/etc/init.d/rcnetworking (执行时路径名不可少)
另外,其它版本的Linux通过对比以上两个版本的修改方法应该也不难得出结论,可供参考。

附上
BackTrack 2 下:
也是类似的
ifconfig eth0 down
ifconfig eth0 hw ether AA:BB:CC:DD:EE:FF
ifconfig eth0 up
用ip link set 也同理,不再嗷述
这里可以通过执行dhcpcd 来使刚修改过MAC地址的网卡重新自动获取IP
这是个新发现,因为bt2里暂时没有发现操控整个网络的命令,但既然这个能起作用也就不需要动用rcnetwork或networking了,不过dhcpcd在suse下执行有错误,named有问题,也就是域名服务器列表有问题,这个可能是suse内核版本太低的缘故,已经对其放弃。

.


linux中修改mac地址:

1.1 redhat:a. $ cd /etc/sysconfig/network-scripts
b. Edit file "ifcfg-eth0", change to your real MAC address
(Use "ifconfig -a" to display real MAC address.)
c. $ /etc/init.d/network start (to restart network.)




1.2 SuSE:a. $ cd /etc/sysconfig/network
b. $ mv ifcfg-eth-id-00:0c:29:ba:b2:ad ifcfg-eth-id-
(Use "ifconfig -a" to display real MAC address.)
c. $ /etc/init.d/network start (to restart network.)


2.修改redhat locale:

cd /etc/sysconfig/

编辑i18n文件,指定自己所需的locale


3.修改SuSE hostname:编辑/etc/HOSTNAME







相关文档
相关文档 最新文档