Come posso riparare la rete interrotta nelle macchine virtuali clonate?


27

Ho installato una macchina virtuale configurata con bridge networking . Dopo averne creato otto cloni, le nuove macchine non possono connettersi alla rete.

Ho incaricato VirtualBox di rigenerare gli indirizzi mac delle macchine.

Risposte:


26

Esistono udevregole che impediscono di aprire la nuova interfaccia.

Nella macchina principale, è sufficiente eliminarli prima di clonare le nuove macchine:

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

( fonte )


70-persistent-net.rules viene visualizzato nel prossimo avvio della macchina master e clonato vms. Hai affrontato questo problema?
Manish,

L'eliminazione di un file rende -fsuperfluo il flag force .
k0pernikus,

Il -fflag rende il rmcomando riuscito con uno stato 0 anche se il file non esiste. Forza dell'abitudine. :)
Stefano Palazzo

6

Aggiorna il tuo indirizzo MAC utilizzando le impostazioni della macchina Virtual Box e rimuovi il file delle regole dell'interfaccia di rete del kernel in modo che possa essere rigenerato:

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

Funzionerà con il tuo clone VM.


1
Personalmente, vorrei copiare il file delle regole da qualche parte piuttosto che eliminarlo completamente, nel caso in cui sia necessario ripristinarlo.
David Edwards,

questo ha funzionato per me!
david.libremone,

@DavidEdwards Se non presente, il file viene creato dal sistema operativo durante l'avvio. Se hai davvero bisogno della vecchia copia (quella con un indirizzo MAC errato), puoi sempre recuperarla dalla VM originale.
MrWonderful,

4

Ho avuto a che fare con lo stesso problema per mesi e oggi ho deciso di trovare una soluzione migliore. Ecco cosa ho fatto sulla macchina che stavo usando come modello.

Per buone pratiche di amministrazione, eseguire il backup di entrambi i file prima della modifica.

Hai due file offensivi / target:

  1. /etc/sysconfig/network-scripts/ifcfg-eth0
  2. /etc/udev/rules.d/70-persistent-net.rules

Questo funzionerà per a staticdhcp indirizzo o :

Aperto /etc/sysconfig/network-scripts/ifcfg-eth0

Elimina la riga dell'indirizzo MAC: HWADDR=XX:11:22:XX:33:XX
salva il file.

Elimina il file /etc/udev/rules.d/70-persistent-net.rules"verrà ricreato dopo il riavvio della VM"

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

Ora puoi clonare la tua casella e ogni clone verrà distribuito e visualizzato correttamente eth0.

Se non si utilizza un modello, è possibile completare queste procedure sulla VM effettiva, ricordarsi di reinizializzare la scheda NIC nel software VM prima di riavviare la macchina.


Questa sembra una risposta più completa. Potete fornire ulteriori dettagli sulla parte "reinizializzare la scheda NIC" nell'ultimo paragrafo? Inoltre quale versione di VirtualBox stavi utilizzando?
RichVel,

Proprio come una nota, non riesco a trovare la directory / etc / sysconfig in Ubuntu 16.04.
MakisH

1
Le interfacce di rete di @MakisH in Debian / Ubuntu non sono definite dai file in / etc / sysconfig / network-script (come hai notato, non c'è nemmeno una directory / etc / sysconfig), ma da / etc / network / interfaces.
Devin Norgarb,

1

Ho riscontrato lo stesso problema su una versione precedente di VirtualBox e ho letto da qualche parte che c'era un bug che rendeva inutile la casella di spunta "genera nuovo indirizzo MAC".

Ora sto usando Ubuntu 12.04 con VirtualBox 4.2.10. Ho notato ora che quando ho creato il clone, non c'era alcuna casella di spunta per "generare un nuovo indirizzo MAC".

Questo mi ha dato alcuni problemi anche se ho eliminato 70-persistent-net.rules perché il sistema genererebbe automaticamente il file all'avvio con lo stesso indirizzo MAC dell'originale, il che ha impedito la connessione.

Ma ho scoperto che in VirtualBox Manager, puoi selezionare il clone, andare su Impostazioni> Rete> Avanzate e generare un nuovo indirizzo MAC spuntando la casella.

Quindi quello che ho fatto è stato eliminare 70-persistent-net.rules, chiudere, generare un nuovo indirizzo MAC e ricominciare, e ora funziona.

In alternativa, è possibile eliminare il file prima di clonare. Quindi generare l'indirizzo MAC, quindi avviare il clone. Anche questo dovrebbe funzionare.


0

Sto costruendo un ambiente di elaborazione parallelo che necessita dell'interconnessione tra la macchina virtuale attraverso la rete IP.

Penso che ci sia qualcosa di correlato alla rigenerazione degli indirizzi mac delle macchine. Avevo affrontato il problema simile prima.

La macchina virtuale originale ha eth0e eth1. Ma a causa del processo di rigenerazione, nel mio caso, la nuova macchina clonata ha eth2e eth3. puoi verificarlo con questo comando:

ifconfig -a | grep eth

È possibile verificare con il ifconfigcomando che nella nuova macchina clonata è stata loregistrata solo . In generale, si dovrebbe avere lo, eth0e eth1quando si digitaifconfig il comando.

Ciò è dovuto alla rigenerazione MAC che nella macchina clone ci sono eth2e eth3interfacce Ethernet invece eth0che eth1nella macchina originale. Puoi anche controllare /etc/network/interfacesnella macchina originale che nel mio caso apparirà come:

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

Può essere che puoi modificare il tuo /etc/network/interfacesfile e cambiare eth0e eth1con eth2e eth3, che più o meno in questo modo:

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

Quindi, buona fortuna ragazzi!


0

Ho eliminato il file 70-persitent-net.rules ma non è stato ricreato dopo il riavvio. Quindi, reinstallare il modulo aggiunte guest e riavviare la VM ha funzionato per me.


0

Ho un problema con lo stesso indirizzo IP dopo aver clonato 3 VM con Virtual BOX (4.3). Quindi ho spento le macchine e rigenerato il nuovo indirizzo MAC e ho riavviato ha funzionato per me.

steps => spegni la VM clonata e quindi settings => network => advanced => fai clic su aggiorna indirizzo MAC => clik OK. quindi avviare la macchina virtuale.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.