Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

I've set up a virtual machine configured with bridge networking. After making eight clones of it, the new machines can't connect to the network.

I've instructed VirtualBox to re-generate the machines' mac-addresses.

share|improve this question

5 Answers 5

up vote 14 down vote accepted

There are udev rules preventing the new interface from being brought up.

In the Master machine, just delete them before you clone the new machines:

sudo rm -f /etc/udev/rules.d/70-persistent-net.rules

(source)

share|improve this answer
    
The 70-persistent-net.rules comes up in next boot of master machine and cloned vms. Did you face that problem? –  Manish Aug 15 '12 at 18:56
    
Deleting a file makes the force -f flag unnecessary. –  k0pernikus Aug 6 at 11:13
    
The -f flag makes the rm command succeed with a status 0 even if the file doesn't exist. Force of habit. :) –  Stefano Palazzo Aug 8 at 15:15

Refresh your MAC address using Virtual Box machine settings and remove the kernel’s networking interface rules file so that it can be regenerated:

sudo rm -f /etc/udev/rules.d/70-persistent-net.rules
sudo reboot

It will work for your clone VM.

share|improve this answer
1  
Personally, I would copy the rules file somewhere rather than just deleting it outright, just in case you need to restore it. –  David Edwards Jan 8 at 9:03
    
this worked for me! –  d3vid Feb 17 at 18:06
    
@DavidEdwards If not present, the file is created by the OS during startup. If you really need the old copy (the one with the wrong MAC address,) you could always retrieve it from the original VM. –  MrWonderful Apr 9 at 20:13

I encountered the same problem on a previous version of VirtualBox and I read somewhere that there was a bug which rendered the "generate new MAC address" tick box useless.

I'm now using Ubuntu 12.04 with VirtualBox 4.2.10. I noticed now that when I created the clone, there was no tick box to "generate new MAC address."

This gave me some problems even if I deleted 70-persistent-net.rules because the system would automatically generate the file on startup with the same MAC address as the original, which made it fail to connect.

But I discovered that in VirtualBox Manager, you can select the clone, go to Settings>Networking>Advanced and generate a new MAC address by ticking the box.

So what I did was to delete 70-persistent-net.rules first, shut down, generate new MAC address and start again, and now it works.

Alternatively, you can delete the file first before you clone. Then generate MAC address, then start the clone. That ought to work as well.

share|improve this answer

I am building parallel computing environment that needs interconnection between the virtual machine through ip network.

I think there is something related to the re-generate the machines' mac-addresses. I had faced the similar problem before.

The original virtual machine has eth0 and eth1. But due to the regenerating process, in my case, the new cloned machine has eth2 and eth3. you can check it by this following command:

ifconfig -a | grep eth

You can check with ifconfig command that in the new cloned machine has only lo registered. Generally, you should have lo, eth0, and eth1 when you type ifconfig command.

That is due to MAC regeneration that in the clone machine, there are eth2 and eth3 Ethernet interfaces instead of eth0 and eth1 in the original machine. You can also check the /etc/network/interfaces in the original machine that in my case will appears like:

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp

auto eth1
iface eth1 inet static

address 192.168.xxx.xxx
netmask 255.xxx.xxx.0
network 192.168.xxx.0
broadcast 192.168.xxx.255
gateway 10.0.x.xx

May be you can modify your /etc/network/interfaces file and change the eth0 and eth1 with eth2 and eth3, which more or less like this:

auto lo
iface lo inet loopback

auto eth2
iface eth2 inet dhcp

auto eth3
iface eth3 inet static

address 192.168.xxx.xxx
netmask 255.xxx.xxx.0
network 192.168.xxx.0
broadcast 192.168.xxx.255
gateway 10.0.x.xx

So, good luck guys!

share|improve this answer

I deleted 70-persitent-net.rules file but it wasn't re-created after reboot. Then, re-installing guest additions module and rebooting the VM worked for me.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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