How to change the MAC address on a Call Manager 5/6 Server
Posted by Josh on Sat 28 Jun 2008Categories: Cisco , Cisco VOIP - [66] Comments
After releasing the video tutorial for installing Call Manager 5/6 in VMWare, I received a comment asking how to change the MAC address on the Virtual server. The same person, (DrM) later posted another comment confirming that he had actually changed the address in the Linux OS. I had tried changing the MAC in VMWare with version 5.x but eventually gave up. This tutorial will show you how to change the MAC address in order to duplicate a production environment within VMWare. Without changing the MAC address, it is not possible to completely replicate your CUCM environment in a test lab because the license files are attached to the MAC address.
WARNING: This should not be performed on a Production System! I am not responsible for any damages. Use at your own risk and in a testing environment only!
- Boot the CUCM server with CentOS 5.1 Disk1
- Type ‘linux rescue’ at the boot: prompt
- Use the chroot command to change the root to the CUCM partition
Type 'chroot /mnt/sysimage'
- Edit the eth0 configuration file
vim /etc/sysconfig/network-scripts/ifcfg-eth0
- Add or change the MACADDR variable in the ifcfg-eth0 file.
MACADDR=00:11:22:33:44:55
- Save and close (or write and quit) with the ‘:wq’ option inside vim
- Edit the hardware config file
vim /etc/sysconfig/hwconf
- Change the ‘network.hwaddr’ variable
network.hwaddr: 00:11:22:33:44:55
- Save and close (or write and quit) with the ‘:wq’ option inside vim
- Exit Linux rescue mode
- Login with CUCM administation account
- Use cli to verify the mac address has been changed
- You can also check the new mac address in the CUCM OS Administration gui
show network eth0 detail
Show > Network

July 17th, 2008 at 12:18 pm
Hey Man,
Not sure if this is works on CCM5.
Every time I enter the ‘vim’ commands as typed above, it creates a new file instead of opening up the existing configs.
Are the file names the same in CCM5 ?
Shoto,
Phil
July 17th, 2008 at 10:15 pm
Philip – That’s strange. I have edited the files on a 5.1 server before. I didn’t notice any differences. Post the output of the following two commands:
ls /etc/sysconfig/network-scripts/
ls /mnt/sysimage/etc/sysconfig/network-scripts/
Josh
July 18th, 2008 at 9:50 am
Both those commands tell me that the file/directory does not exist.
It’s ver. 5.1.3a. I also tried re-installing from scratch, and same problem.
If I issue a :dir command, I see all the folders including ‘ccm’ and ‘ect’… I can’t however :cd into the ‘ect’ folder but I can into most of the others… Could it be a permission problem ?
Phil
July 18th, 2008 at 10:00 am
Philip – Try this one then…
find / | grep ifcfg-eth0
Josh
July 18th, 2008 at 10:03 am
Philip – It shouldn’t be a permissions problem if you have booted into linux rescue mode as described above.
If you used the CUCM Shell Access tutorial , you may need to prefix the commands with ‘sudo’.
Example…
sudo vim /etc/sysconfig/network-scripts/ifcfg-eth0
Or as someone else suggested, you can use ‘sudo bash’ to get constant root shell instead of the user you created.
Josh
July 20th, 2008 at 2:34 pm
Hey Josh,
Created a video using the commands you given and showing th outputs :
http://rapidshare.com/files/131194288/Change_Mac.avi
You can download it as a free user.
Still no joy though.
Phil
July 21st, 2008 at 3:22 pm
Nevermind…sorted, spelled ‘etc’ as ‘ect’ over and over and over…I’m a tit.
Feel free to delete all my comments
July 21st, 2008 at 5:01 pm
I ran through this but by using an Ubuntu disk in recovery mode. I was able to make all the edits and rebooted but when it came back there were disk errors. CM prompted me to insert the CM Recovery Disk and select the option to detect and repair errors, which I did. But it still came back with errors and won’t boot. Any ideas on how to recover? And was I just unlucky, or did I do something wrong? Only thing I can think of is not exiting the Ubuntu recovery mode cleanly.
July 22nd, 2008 at 6:50 am
UPDATE: Ran the recovery disk again but this time chose to manually repair the disk. Answered Yes to all the prompts and now it works.
July 22nd, 2008 at 9:40 am
I am using CallManager 6.1.2.1000-13 on my WMware partion. The above trick does not seems to work on 6.1.1 or 6.1.2. Anybody who got it running, or did Cisco close this loophole already ?
July 23rd, 2008 at 9:14 am
vandalay, glad to see you were able to get it to work! Josh
July 23rd, 2008 at 9:17 am
dk90103,
Which step is it failing on specifically?
Josh
July 23rd, 2008 at 10:17 am
This is great information. Even I was able to make this work.
The first time I did your change and booted CM the mac did not change. I went back into vim /etc/sysconfig/network-scripts/ifcfg-eth0
and removed the space in the MACADDR=00:11:22:33:44:55 command (just like shown here) and then booting into CM showed the correct mac.
Other issues I ran into had to deal with CentOS not being able to mount a SCSI drive. I eventually gave up and went with an IDE drive and all is working.
Thanks.
July 23rd, 2008 at 1:33 pm
dk90103,
We just did it on CM 6.1.1.3000-2 on VMware ESX 3i and got it to work. What part is failing for you?
July 23rd, 2008 at 2:53 pm
Anyone done this on a Presence 6.0 server? We followed the same directions and it worked, but now the server is piss slow.
July 24th, 2008 at 12:52 am
I have followed the steps above. Only difference I have is the CentOS version. I use 5.2, but that should have any impact.
I am able to change the MAC address in both ifcfg-eth0 and hwconf and save these new MAC address values. Once I reboot the server/image the Cisco Red Hat doesn’t pick up the changes and continues to use either the Dynamically assigned VMware address (I use work station 6.0.4) or the burn-in MAC of the NIX in my IBM test server.
If I then reboot the system using the CentOS 5.2 CD I can see that system has saved my MAC-address changes that I did above.
My conclusion so far is that I can alter the 2 files neccessary, but that the system doesn’t seem to pick up the changes during reboot.
I have tried to apply the “trick” on both a WMware image and on a Cisco certified IBM-345 server.
In your description above, I guess that Step 10 “Exit Linux Rescue Mode” is the same as rebooting the server/image right ?
July 24th, 2008 at 6:02 am
Gents,
I did what RS recommended in post no 13 (removed a space) and now it’s working for me aswell.
Great trick. Thx a lot
July 24th, 2008 at 8:54 pm
Thanks RS and dk90103! I have changed the instructions to remove the space on the MACADDR variable assignment.
Josh
August 14th, 2008 at 6:15 pm
in vmware how to go gui after logging in cli & how to start gui in vmware.
August 14th, 2008 at 9:33 pm
Frances,
1) Open a web browser on your PC.
2) Insert the ip address of the call manager in the address bar.
3) Click on the Cisco Unified Communications Manager link.
Josh
September 3rd, 2008 at 11:45 am
Josh,
This works perfectly, thank you for providing this information as it allows me to perform a CUCM version upgrade on a VM test server prior to implementation in a production environment.
September 3rd, 2008 at 12:12 pm
What about partitions?
There are two partitions. When you update CallManager that creates second partition and boots from there. If you want to switch to previous versions you can do that and system will boot from the first one.
I did MAC change but this made effect on wrong partition- the passive one. I need it to do for the active.
Do someone know how to do that?
September 5th, 2008 at 11:55 pm
Vanja,
I performed the MAC change before upgrading to a new version, so when I went through the upgrade process the MAC address update was applied to the new partition automatically. Although I haven’t done this, I would imagine you should be able to boot CUCM to your new version and then repeat the MAC-Address update…
September 23rd, 2008 at 8:43 pm
vanja,
Good point…. I haven’t really looked into doing partitions yet. I think Rowan is right, you may be able to make changes on the second partion after the upgrade.
Josh
September 23rd, 2008 at 8:44 pm
Rowan,
Glad this was able to help you re-create a production environment. That was the goal.
Josh
September 30th, 2008 at 2:36 am
Dear all,
beside Josh procedure from the begin of the post, in my case the point was to also add new line
MACADDR=01:01:01:01:01:01
in file:
/mnt/etc/sysconfig/network-scripts/ifcfg-eth0
October 2nd, 2008 at 11:40 pm
Hi,
Thanks for the instructions. When it searches for linux partitions it says there are no linux partitions, and I can’t chroot to /mnt/sysimage. Is there anyone else who found this, or has an answer? Would it matter that I have done a DMA update during the install? I can boot the CUCM fine…(It’s v6.1)
Thanks!
October 4th, 2008 at 6:40 am
Matt,
There are some things you can do inside to find and mount the linux directory.
Can you post the output of the ‘fdisk -l’ command?
Josh
October 6th, 2008 at 3:54 pm
Hi,
No output from running that command!
I can definately reboot it and get to the callmanager OS prompt!
October 7th, 2008 at 3:26 pm
I rebuilt my image using an IDE HDD in VMWare – 72Gb. Re-installed CCM, and now I can boot using the Centos recovery and change the MAC address successfully! Thanks!
October 27th, 2008 at 3:39 pm
Hi Guys,
I’m having a bit of a problem giving this a go for some reason the VMWare refuses to boot from either an iso or physical CD rom image of CentOS 5.2 (5.1 is no longer available on the CentOS site).
Has anyone else seen this problem before or am I missing something here?
I’m currently running VMWare Server on a WINXP Host I don’t know if this makes any difference?
Thanks in advance
October 27th, 2008 at 5:12 pm
Guys,
Please ignore my previous post as the problem is a layer 8 problem…. its between the keyboard and the chair.
Thanks anyway though
November 19th, 2008 at 5:00 pm
I just tried it and worked brilliantly, one issue which bugged me for a while though was that i had the two NICs set up as slaves to a virtual NIC team with a different name. i had to change the mac address of the virtual teamed NIC not the physical interface. after this it worked great
January 14th, 2009 at 7:52 pm
This exact same procedure works on Unity Connection 2.1 as well (2.1.2.1000-380). I now have a Unity Connection 2.1 server running as a VM with 16 ports and a 200 mailbox license.
January 31st, 2009 at 7:51 am
Hi, new to call manager but am setting up a VM Ware environment to exactly replicate our works call manager cluster and this looks very useful. I have installed Call Manger 5.1 into VM Ware with the original call mnager 5.1 DVD. Im not familar with unix or linux are these the same ?? The reason i ask is that im sure the platform is unix but in the instructions above you mention the CentOS 5.1 linux rescue disk.
Any advice will be greatly appreciated.
February 1st, 2009 at 10:15 pm
Carl,
Linux and Unix are not the same but CUCM is built on Linux. Use a linux rescue disk.
Josh
February 3rd, 2009 at 1:20 pm
Hi, can anybody point me in the right direction to finding CentOS 5.1 ? Struggling to find it. Can a later version be used ? I have managed to get hold of 5.2 but although the call manager box boots to this CD it just seems to load to the red hat GUI, i do not get the command prompt.
Thanks, Carl
February 4th, 2009 at 3:01 am
Hi, managed to get the CentOS 5.1 disk and i can now get to the boot command to type linux rescue. All well so far as per following video. I cannot get past the command chroot /mnt/sysimage. This gives an error of chroot: cannot chnage root or directory to chroot /mnt/sysimage : no such file or directory.
Any ideas, i am using CUCM 5.1(3)
Any help would be greatly appreciated.
February 4th, 2009 at 3:10 am
Hi, some more information following my previous post, it is a VM Ware image andi have now noticed when i run linux rescue from CentOS 5.1 i get the message ” you dont have any linux partitions ”
February 10th, 2009 at 12:04 am
Carl,
I have only had this error when the Linux Boot disk could not find a the Linux partion containing your Call Manager system. The CUCM system is already installed…correct?
Josh
March 4th, 2009 at 9:58 am
Hello,
Today I gain some experience with changing the MAC address of IBM x3650 server. I installed version CUCM 6.1.3.2000-1. Follow the steps above but something additional have to be done:
go to /partB and change the files:
/etc/sysconfig/network-scripts/ifcfg-eth0
/etc/sysconfig/hwconf
After the upgrade the CUCM boots from the partB so you have to change the MAC in both locations.
March 5th, 2009 at 9:39 pm
Method,
Thanks for sharing!
Josh
April 8th, 2009 at 9:45 am
He rised. ,
April 21st, 2009 at 2:01 am
Hi,
Thank you for sharing the step by step method, video & feedback. This was really helpful in replicating the exact user setup.
June 29th, 2009 at 4:50 pm
Great tool…Used it in multiple customer environments to perform upgrades offline.
Has anyone checked/verified this under the new UCM 7.2 version?
July 23rd, 2009 at 2:14 pm
I have installed CM 6.1.3.3101-1 on VMWARE and it is working successfully however I am not able to change the MAC address as shown above. I was FINALLY able to locate the download for Centos 5.1 but when I attempt to follow the prompt for chroot /mnt/sysimage I get No such file or directory. I thought I went through all of the comments above but if someone could please advise on how I get around this it would great. Thanks.
August 10th, 2009 at 4:50 am
where i can download CentOS 5.1 Disk1, could you please update the download URL
September 22nd, 2009 at 9:02 pm
VoipShe-Ra, I am having the same issue with Centos 5.3. Is anybody here can assist us with resolving this issue with the command chroot /mnt/sysimage?
October 23rd, 2009 at 12:57 pm
I cannot seem to boot Centos Disk 1 on Call Manager 7 – is it possible to change the MAC on version 7? Has anyone tried?
November 27th, 2009 at 10:33 pm
I am having trouble to make it work on CUCM 7.1.3. Basically I can’t find the 2nd file “hwconf”
When I enter “vim /etc/sysconfig/hwconf” it creates a new file.
I did the find / | grep hwconf and returned no file with such name.
I was able to boot the system anyway with only one file modified, but the output from
OS GUI / Show / Network
shows the updated MAC address, and “license MAC” still remains the old MAC.
Any one has idea? Thanks.
December 16th, 2009 at 7:29 pm
Three things:
To the persons with Centos Disk the mount point might be different. With Kubuntu, the mount point was /media/% (yes, “%”) but did not appear until I used Dolphin (the file manager) to first browse to it before the % showed up under media. I did not to “rescue mode” but just booted to the live CD. Once I did that, I was able to chroot /media/%
With respects to 7.1.3, first change to the /etc/sysconfig folder and do “ls” and verify that the file is there. Also do “more hwconf” and you can list the contents of that file. If you haven’t done the “chroot” you will be looking at the /etc/sysconfig folder of your live CD and not the CUCM.
Now…with respects to 7.1.3, I was able to get this working – got root, got the MAC spoofed, however, when uploading the licence files, I received errors. Doing show network eth0 details showed the correct mac addy, HOWEVER, when using the webgui, I noted that there is a new field called “License MAC” – this is apparantly generated from the crypto stuff you do on the install, the ip address and other things.
We have been thwarted! Cisco seems to have given us a new “headache” preventing us from virtualising customer environments for lab use, staging, etc.
So now, we need to figure out the algorithm for that to do what we need to do.
I swear, Cisco does *not* want us to support customer installs.
January 6th, 2010 at 3:00 pm
Has anyone found a work around for this?
Now…with respects to 7.1.3, I was able to get this working – got root, got the MAC spoofed, however, when uploading the licence files, I received errors. Doing show network eth0 details showed the correct mac addy, HOWEVER, when using the webgui, I noted that there is a new field called “License MAC” – this is apparantly generated from the crypto stuff you do on the install, the ip address and other things.
Thank you for your help!
January 30th, 2010 at 1:49 am
Anyone tried spoofing the mac address then upgrading to 7.1.3? Besides the 7.1.3 also does hardware detection.
February 13th, 2010 at 3:04 pm
Hi everyone, i am trying to complete the first command chroot /mnt/sysimage but it is giving me an error ‘ chroot: cannot chnage root directory to /mnt/sysimage : no such file or directory ‘
I am using call manager 5.1.3 on a VMware image, can anyone help please ????
February 27th, 2010 at 1:56 pm
@Robert & Jacqueline
I’ve just done this on CCM 7 and it works.
I’m not sure why you aren’t able to run it on 7.1.3, but I was able to do this on 7.0.0.39771-4.
Maybe you could try installing 7.0, changing the MAC Add, then upgrading.
March 3rd, 2010 at 3:32 am
hi
i have tryed all the mount options, but i’m not able to boot my cucm 6 with centos, can u help me in getting cucm vm boot with centos.
thanks azz
March 17th, 2010 at 2:34 pm
On MCS 7825 with CCM 7.1(3b) installed, CentOS5.4 Disk1, it works for the procedure.
However I tried to use CentOS5.4 to boot VMware, same issue with azz’s which was not booted from CentOS, I think we need change the VMWare configuration file if I recall correctly.
Thanks zza
March 19th, 2010 at 10:09 pm
For those of you that want to save some bandwidth and time you can also use DSL (Damn Small Linux http://www.damnsmalllinux.org/ a 50MB ISO download).
The command changes:
2. Type ‘dsl 2′ at the boot: prompt
2a. Type ‘mkdir /mnt/hdaX’ (use hda2 everywhere you see hda1 if you have installed an upgrade and are booting from the secondary partition)
2b. Type ‘mount /dev/hda1 /mnt/hda1 -t ext3′
3. Type ‘chroot /mnt/hda1′
Also, if you don’t feel confident using vim you can use replace it with ‘nano’ which is a lot more user friendly.
March 21st, 2010 at 6:01 pm
hey there, i am trying to do this
i have a lic file
i am able to change the mac no problem and upload the file, but my 150 nfr license still shows there
i have tried cm 6, cm7 and cm 7.1.2
the cm 6 version i have has 1000 license but i am sure it is time bombmed or something
is it maybe my nfr media ?
April 22nd, 2010 at 11:36 am
How about just changing the MAC address in VMWare? I have done this on many an occasion, and it seems to work. Here are the steps:
1. Create a VM in VMWare and start it without the installation DVD.
2. Once the VM is started, VMWare will assign a MAC address and create the following lines in the .vmx file:
ethernet[n].generatedAddress
ethernet[n].addressType
ethernet[n].generatedAddressOffset
The [n] parameter is the number of the virtual Ethernet adapter; ex. “ethernet0″
3. Power down the VM (do not suspend it) and then open the .vmx file with a text editor.
4. Remove the following three lines created by VMWare:
ethernet[n].generatedAddress
ethernet[n].addressType
ethernet[n].generatedAddressOffset
5. Add the following line anywhere in the .vmx file
ethernet[n].address = AA:BB:CC:DD:EE:FF
In this line, substitute the MAC address AA:BB:CC:DD:EE:FF with the MAC address for which you have the CUCM Software Version license and the CUCM Product License; ex.:
ethernet0.address = 00:23:7d:a1:cd:ab
6. Save the .vmx file
7. Power up the newly created VM again (this time with the media) and install the CUCM as usual.
April 24th, 2010 at 12:19 pm
sirozha,
I tried it in VMWare but did not change the MAC between VM creation and CUCM installation. This makes sense. Good work!
Josh
April 27th, 2010 at 11:32 am
I just went through this process using the DSL linux on UCM7 7.1.3.3000-1 and it worked w/o issue. License added, no warnings other than to restart the CCM service.
April 27th, 2010 at 12:56 pm
Chuck,
Thanks for sharing your experience! DSL is a much smaller download.
Josh
April 29th, 2010 at 9:20 pm
Found it very helpful when I was trying to copy CentOS VM from other machine. It had MAC address not matching with MAC address automatically generated by VMWare. I open .vmx file changed MAC address to match with what I found in vim /etc/sysconfig/network-scripts/ifcfg-eth0.
Anurag
August 31st, 2010 at 9:24 am
Hi,
I followed the procedure and it worked fine on my VM running 6.1.2 but after upgrading to 7.0.2 I lost my DLU’s and all I got is the default 150, MAC on CentOS is good. Any ideas will be appreciated. Thanks.
August 31st, 2010 at 10:25 am
StevenM,
The upgrade probably set the MAC address back to the hardware mac address on the server.
You probably just need to change the MAC address again.
Josh