Chinaunix首页 | 论坛 | 博客
  • 博客访问: 707136
  • 博文数量: 823
  • 博客积分: 10000
  • 博客等级: 上将
  • 技术积分: 5165
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-21 15:52
文章分类

全部博文(823)

文章存档

2011年(1)

2008年(822)

我的朋友

分类: LINUX

2008-08-21 17:55:01


一、背景
我们知道每块网卡(NIC)都有一个固化在硬件存储器中物理地址(或称硬件地址),也就是MAC,这个地址,在出厂上就已经固定,除非是使用可擦写编程器重写,否则是无法变更的。

这里所说的更改网卡的MAC地址,其实是针对操作系统对MAC地址的读取规律,而对OS做出的一种欺骗方法。因为操作系统通常是从硬件网卡读取MAC地址后,再存储在注册表(如windows)、配置文件等之中,以后就直接从这些存储空间读取了。所以可以通过修改这里面的MAC地址,来“更改”网卡的MAC地址。

之所以摸索ubuntu下更改网卡的地址,乃是因为有些上网服务与MAC地址绑定,这样,如果原先的网卡坏了更换新的而又不想去经历官僚的变更手续,或者是又有台式机又有笔记本的时候,希望在能够在两台机器都上网(同时只能使用一台)的话,那就要考虑使用了。

二、修改MAC地址

1.暂时修改
在ubuntu下更改MAC地址的命令是ifconfig(和windows下的ipconfig还是比较相似的),如果要更改MAC地址,可以新开一个终端,依次使用以下命令:

sudoifconfigeth0down(停用网卡)
sudoifconfigeth0hwetherXX:XX:XX:XX:XX:XX(需要更改的MAC地址)
sudoifconfigeth0up(启用网卡)

然后再用ifconfig查看一下,需要查看ifconfig的各个参数含义,可以用manifconfig查看帮助。

sudoifconfigeth0(查看eth0网卡信息)

2.永久修改(两种方法)

方法一
以上只是暂时修改mac地址,如果需要每次系统启动后,都自动修改好MAC地址的话,那么可以将以上命令写入启动脚本中,我使用的方法是将它写入/etc/init.d/rc.local的最后。

sudonano/etc/init.d/rc.local

重启rc.local
sudo/etc/init.d/rc.localstart

方法二
直接编辑/etc/network/interfaces文件,在ifaceeth0inetstatic后面添加一行:

pre-upifconfigeth0hwetherxx:xx:xx:xx:xx:xx(要改成的MAC)

编辑interfaces文件
sudonano/etc/network/interfaces

如下所示:
faceeth0inetstatic
pre-upifconfigeth0hwetherxx:xx:xx:xx:xx:xx(要改成的MAC)

address192.168.1.10
netmask255.255.255.0
gateway192.168.1.1

重启网卡
sudo/etc/init.d/networkingrestart 下载本文示例代码
阅读(513) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~