I've run into the following problem on both VMware Fusion (for Macs) and with VMware ESXi/vSphere. Many of you are familiar with the problem, and it is described at VMware KB: "Networking does not work in a cloned Linux virtual machine (2002767) ."

  1. Create a CentOS VM.
    • This is a bare-bones VM with a minimal set of software and a functioning network stack. The idea is that we take the minimal VM, clone it and add more software later.
  2. Clone that VM
  3. VMware Fusion or vCenter will assign a new MAC address to the network interface on the cloned VM.
  4. Linux doesn't know about this new MAC address and thus networking doesn't work. The file /etc/sysconfig/network-scripts/ifcfg-ethN has the MAC address of the interface on the first machine.
  5. To fix this, I need to find the MAC address of the new VM, edit ifcfg-ethN and add this MAC to the HWADDR= field. I can't simply cut and paste the MAC into the field, so this can be an error-prone task, especially if I forget my pen and paper to write down the MAC.
  6. (Bonus points) On the new VM, often eth0, eth1, etc. display in the wrong order. Fixing this involves an arcane dance around /etc/udev/rules.d

I can do this, but it's error prone and kind of a pain when I simply wanted to spin up a new VM to test something.

Is there a way to simplify this manual process? When you clone a new machine, how do you fix the MAC address problem?

  • For these systems, do you care about keeping the device persistence stuff at all? – Shane Madden Sep 18 '14 at 20:07
  • No not for the network interface. – Stefan Lasiewski Sep 18 '14 at 20:35

Since device persistence stuff is just getting in the way for these VMs, rip it out:

  • Completely remove the HWADDR and UUID lines from the ifcfg file, and
  • Delete /etc/udev/rules.d/70-persistent-net.rules before cloning

That should let the eth0 with a new MAC address actually use the ifcfg-eth0 on initial boot.

  • Hm, this seems to work. I had no idea HWADDR was optional. Should I also remove the UUID? – Stefan Lasiewski Sep 18 '14 at 21:24
  • 1
    @StefanLasiewski Ahh, yes, you should. – Shane Madden Sep 18 '14 at 21:35
  • +1 worked like charm J – deepdive Apr 20 '16 at 7:59
  • 2
    out of top 10 google results, this is the one that works! note: remove the HWADDR AND UUID lines from /etc/sysconfig/network-scripts/ifcfg-eth0 – Howard Lee Jul 5 '16 at 19:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.