In Linux is extremely easy to change your MAC address. All you need is a couple of commands. To start off you will need to take down the interface to make the change. To do so just type the following into your terminal:
$ ifconfig eth0 down
Now we can get to changing the MAC address. To do this we use the ifconfig command again along with the hw switch, we then specify the interface name (in this case eth0). Finally we will use the hw switch to set the hardware type to ethernet and give the interface the new MAC address. All in all it should look something like this.
$ ifconfig eth0 hw eth 0a:1b:2c:3d:4e:5f
Finally we can bring up the interface and this time we will see the new MAC address.
$ ifconfig eth0 up
$ ifconfig
eth0 Link encap:Ethernet HWaddr 0a:1b:2c:3d:4e:5f
inet addr:192.168.1.2 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::216:36ff:fef0:cf11/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:191682 errors:0 dropped:0 overruns:0 frame:0
TX packets:120012 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:28218459 (26.9 MB) TX bytes:13230519 (12.6 MB)
Interrupt:17 Base address:0xa000
Edit (Tue Jun 16 14:41:52 IST 2009): Please note this does not work with all network cards. In some cases the drivers for a card will not support changing of a MAC address. I myself have an Eeepc 901 which has this problem with a RaLink RT2860 wireless card. I’m sure in one of the driver updates it will be included but for now I’m stuck without!