Dua VirtualBox VMs yang berjalan secara paralel diberikan IP yang sama

9

Saya punya satu VM di VirtualBox dan ingin menggunakannya sebagai template / gambar jadi saya mengkloningnya. Kemudian saya meluncurkan yang asli dan klon secara bersamaan (untuk mensimulasikan server cluster untuk sesuatu yang sedang saya kerjakan), namun, kedua instance diberi alamat IP yang sama. Apakah ini mungkin bug di DHCP kami, yang saya pikir VirtualBox gunakan untuk mendapatkan alamat IP? Atau mungkin sesuatu dalam cara saya mengatur VMs saya? Lagi pula, saya akhirnya tertarik untuk menyelesaikan masalah ini sehingga saya bisa dua VMs dari gambar yang sama secara bersamaan.

amfibi
sumber
Di VMWare, jika Anda memulai VM yang sebelumnya digunakan dari jalur yang berbeda, itu menanyakan apakah Anda menyalinnya atau memindahkan VM untuk dapat menghindari situasi seperti itu ... Bagaimana Anda mengkloning VM?
ppeterka
Saya khawatir ini bukan situasi di sini ...
amfibi
1
Mungkin saja Anda menyalin mesin dengan alamat MAC (Ethernet). Itulah salah satu perbedaan antara menyalin dan memindahkan di VMware seperti yang disebutkan oleh ppeterka. Bisakah Anda memeriksa alamatnya? Bisakah Anda jelaskan bagaimana tepatnya Anda mengkloning mesin?
pabouk
ya, ketika saya berlari ifconfig -a, itu menunjukkan alamat MAC yang sama untuk keduanya (ditampilkan sebagai HWaddr)
amfibi
tapi cara saya mengkloningnya ada di UI, cukup klik kanan VM dan tekanClone
amfibi

Jawaban:

12

Ini dikenal sebagai konflik IP dan dapat menyebabkan sakit kepala besar pada jaringan.

Anda dapat menginisialisasi ulang alamat MAC dari VM yang dikloning; itu hanya berarti menghasilkan yang acak baru. Pada VM Anda yang dikloning, klik Pengaturan >> Jaringan >> Tingkat Lanjut, lalu klik dua panah melingkar untuk menghasilkan MAC baru. VM Anda harus dimatikan. Ketika mem-boot server DHCP Anda harus menetapkan VM alamat IP yang berbeda.

Juga FYI, ketika Anda mengkloning VM Anda, Anda seharusnya melihat kotak centang dengan kata-kata "menginisialisasi ulang MAC", yang akan mengkloning VM dan menghasilkan MAC baru alih-alih mengkloningnya.

Jika Anda penasaran, kloning VM sering digunakan untuk membuat cadangan penuh VM, dalam hal ini Anda ingin MAC dan IP sama jika Anda harus menggunakan cadangan. Untuk kasus Anda kloning VM untuk membangun sebuah kluster Anda akan ingin menginisialisasi ulang MAC pada setiap klon.masukkan deskripsi gambar di sini

Perbarui 1 Menanggapi komentar Anda dari 10/8/2013.

Pastikan alamat IP tidak diatur secara statis. Anda menyebutkan dalam pertanyaan Anda bahwa VM harus mendapatkan IP dari DHCP. Jika itu masalahnya konfigurasi harus terlihat seperti berikut ini. Untuk sistem berbasis debian akan ditemukan di / etc / network / interfaces

auto eth0
iface eth0 inet dhcp

Untuk sistem berbasis redhat, konfigurasi jaringan ada di / etc / sysconfig / network-scripts / ifcfg-eth0

Komentar kedua Anda menyebutkan bahwa eth0 tidak ada. Apakah Anda memiliki eth1? Karena komputer Anda mengubah alamat mac, OS menyimpan mac asli sebagai eth0 dan biasanya menetapkan eth1 ke mac baru. Untuk mengatur ulang perangkat eth * sehingga Anda memiliki eth0 dan bukan eth1 Anda harus menghapus aturan jaringan udev.

Bercak dengan jaringan bisa menjadi berbulu. Salah satu opsi adalah menghapus VM kloning Anda dan mengkloning yang asli lagi dan centang "menginisialisasi ulang mac". Saya tidak yakin ini akan memperbaiki masalah Anda tetapi mungkin.

tbenz9
sumber
4
Saya melakukan itu dan memulai kembali kedua VM tetapi mereka masih diberi IP yang sama :(
amfibi
klon tidak ada eth0ketika saya menjalankanifconfig
amfibi
Saya memperbarui jawaban saya untuk mengatasi masalah yang Anda tulis di komentar.
tbenz9
@amphibient, saya menciptakan kembali masalah Anda dan dapat menyelesaikannya dengan mudah dengan menghapus semuanya dari file /etc/udev/rules.d/70-persistent-net.rules dan me-reboot. Semoga berhasil!
tbenz9
1

Saya mendapat IP 10.0.2.15VM yang sama ketika saya mengkloning Ubuntu di Mac.
Untuk mengatasi masalah ini, saya pertama-tama mematikan VM.
Kemudian untuk setiap VM
saya memilih pengaturan, lalu klik tab Network, kemudian diubah terlampir ke: Bridged Adapter
lalu saya klik advanced, pilih allow all for mode promiscuous,
akhirnya segarkan alamat MAC untuk mengubah alamat MAC. Klik Oke.
Sekarang Mulai VM dan Anda akan mendapatkan alamat IP yang berbeda.
Saya mendapat 192.168.0.14pertama dan 192.168.0.15kedua. Mereka juga bisa ping dari host Mac.

masukkan deskripsi gambar di sini

Mian Asbat Ahmad
sumber
0

Silakan baca tentang adaptor yang tersedia di VirtualBox ( https://www.virtualbox.org/manual/ch06.html#networkingmodes ). Jika Anda ingin koneksi antara VM saja maka untuk pengujian Anda akan lebih cocok dengan adaptor Jaringan Internal. Namun dari komentar Anda, saya mengerti bahwa Anda menggunakan NAT.

Saya memeriksa skenario di bawah ini pada VirtualBox 5.0.2 pada host Mint 17.2 dan tamu Fedora 21:

Buat VM utama dengan adaptor NAT default. Buat klon Linked ( https://www.virtualbox.org/manual/ch01.html#clone ) dengan inisialisasi ulang MAC. VM kloning dan asli memiliki nilai yang sama dalam file:

/etc/sysconfig/network-scripts/ifcfg-enp0s3

namun

ip a

menunjukkan alamat MAC yang berbeda pada masing-masing.

Ketika saya memperbarui HWADDR dalam file tersebut sesuai dengan nilai tautan / eter dari perintah ip dan mengubah UUID dengan yang baru

uuidgen

kemudian meskipun IP yang sama pada antarmuka (enp0s3) ini pada VM asli dan kloning, jaringan eksternal (Internet) bekerja dengan baik.

edwardo
sumber
0

Saya menemukan situasi yang sama hari ini. Saya menggunakan adaptor NAT dan Adaptor Ethernet khusus Host untuk Solaris VM saya. IP klon berubah ketika saya me-refresh alamat mac adapter Host-Only.

xbox
sumber
-1

Saya mengerti rasa sakit Anda. Saya mengkloning vm saya. Dihasilkan Mac baru pada kotak virtual oracle, Booted clone, mengubah hostname dan memperbarui file skrip jaringan dengan mac baru.

Ketika reboot, masih menggunakan ip yang sama dari dhcp. Antarmuka pada pengaturan Nat.

:(

Dave

David Sives-Rutherford
sumber
1
Baik dan ramah tetapi bukan jawaban untuk pertanyaan itu.
Alexx Roche