İki sanal makinem neden aynı IP adresini alıyor?


31

Her ikisi de bir Linux sunucusunda çalışan iki sanal makinem var (Fedora 16). Her iki adaptörü de NAT'a bağlı olarak ayarladım. Onları başlattığımda her ikisi de varsayılan ağ geçidi olarak ayarlanmış durumda 10.0.2.2. Ayrıca her ikisi de aynı IP adresine sahip (10.0.2.15). İkisi de aynı adaptör üzerindedir (adaptör 1). Neden aynı IP adresi aldıklarını bilmiyorum 10.0.2.1ve alt ağ adresi 10.0.2.0ve ağ maskesi 255.255.255.0 olduğundan varsayılan ağ geçidi olmamalıdır . Kaçırdığım bir şey var mı, bu daha önce başkasına oldu mu? VirtualBox DHCP'nin düzgün çalışmasını nasıl sağlayabilirim?


2
Bu doğru değildir, sanallaştırılmış MAC adresine bağlı olarak birden fazla VM'nin farklı IP adreslerinin atanması gereken "gerçek" sanal bir NAT ağı oluşturmak mümkündür ve VM birbirlerini NAT ağının arkasında, temelde görebilir NAT arayüzünün arkasındaki neredeyse bütün bir alt ağ. Ağ bağdaştırıcısı yapılandırmasındaki seçiminize bağlı olarak, "NAT" seçiliyse, NAT, bir ana bilgisayar / vm ilişkisinde birebirdir, "NAT ağı" seçildiyse, o zaman, ana bilgisayardaki her bir VM'nin ana bilgisayar / alt ağ ilişkisidir. sanallaştırılmış ağın farklı IP adreslerine sahip olması gerekir.

Yanıtlar:


22

VirtualBox DHCP düzgün çalışıyor.

NAT konfigürasyonunda tüm makinelerinizin aynı adresi almasında yanlış bir şey yoktur. Tüm sanal makineler birbirlerinden izole edilmiştir, bu nedenle çatışma riski yoktur. Aynı adaptörde de değiller. Her VM, NIC'ler dahil olmak üzere kendi sanallaştırılmış donanıma sahiptir.

Varsayılan ağ geçidinin de 10.0.2.1 olması gerekmez. Her ne kadar daha düşük IP adresinde olması yaygın bir uygulama olsa da, alt ağ aralığında herhangi bir IP olabilir.

Ayrıca, "gerçek" bir dhcp servisi yoktur, her şey VirtualBox kodunda kodlanmıştır, ancak varsayılan IP adreslerinden memnun değilseniz NAT motorunda ince ayar yapabilirsiniz .


Merhaba @jlliagre, bu gerçekten beklenen davranış mı? Anladığım kadarıyla, tüm VM'lere aynı IP adresine atanmışlarsa, iletişim kurmak için bu ağ arayüzünü kullanamayacaklar, değil mi? Öyleyse, bir grup VM için, her birinin yalnızca bir NAT bağdaştırıcısı varsa, varsayılan olarak iletişim kuramadıklarını belirtirsiniz.
Sadece bir öğrenci

1
@OgrishMan Evet, beklenen davranış budur. NAT'ın temel mantığından biri budur. Birçok makinenin aynı yerel IP adresini kullanmasını sağlar. Tıpkı 192.168.1.4'e sahip olan dizüstü bilgisayarım gibi, IP adresi cihazınızla iletişim kuramadığı gibi aynı IP adresini kullanabilecekleri gibi doğrudan iletişim kuramazlar. Haberleşememelerinin ana nedeni, yine de farklı LAN'larda olmalarıdır. Yalnızca NAT arabirimlerini kullanan makineler, yalnızca harici bir üçüncü taraf ağ geçidi aracılığıyla veya ana bilgisayar düzeyinde ters bağlantı noktası eşlemesi kullanarak iletişim kurabilir.
jlliagre

Açıklama için teşekkür ederim! Sanırım şimdi temizim.
Sadece bir öğrenci

7

VirtualBox kontrol panelinde Dosya -> Tercihler -> Ağ

NAT Networks sekmesini seçin, yan taraftaki + düğmesine basarak yeni bir "NatNetwork" oluşturun ve OK düğmesine basın.

Şimdi her bir VM'yi seçin Ayarlar -> Şebeke

Ekli: seçeneğinde NAT Ağını seçin ve "NatNetwork" seçeneğini seçin ve OK tuşuna basın.

Tüm sanal makineleri yeniden başlatın.

Artık sanal makinelerin farklı ağ adresleri var.


1
Bu yaklaşımı kullanarak hala aynı IP adreslerini alıyorum!
jersey fasulyesi

6

Sanal makineleriniz, Ethernet IP adresi (ağ aygıtınızın donanım üreticisi tarafından ayarlanan parmak izi gibi benzersiz bir donanım adresi) olduğu sürece herhangi bir DHCP hizmetinden aynı IP adresini alır.

Sanal makineleri kullandığınız için sanal donanıma sahipler ve bu yüzden MAC adresini "taklit ediyor". İki makinenin aynı Ethernet donanım adresine sahip olmadığından emin olmalısınız.

Sanal makinenizin Ethernet MAC adresini donanım ağı bölümündeki VirtualBox'ta ayarlayabilirsiniz (şöyle görünüyor: 3c: 08: 51: 05: 24: 8a)

Çalışan sanal makinenizde kontrol edebilirsiniz:

sudo ifconfig

en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    options=2b<RXCSUM,TXCSUM,VLAN_HWTAGGING,TSO4>
    ether 3c:08:51:05:24:8a 
    media: autoselect (none)
    status: inactive

2
VirtualBox ile gömülü olan NAT dhcp sunucusu gerçek değil. Özellikle MAC adreslerini umursamıyor. Her durumda, birden çok VM, sanal ağların tamamen izole edilmesinin önemi olmayan aynı MAC adresine sahip olabilir.
Ocak'ta jlliagre

2

Varsayılan ağ geçidini dhcp sunucusundan alacaklar - bu yüzden orada ne kurulmuşsa olacak. Ne sunduğunu görmek için dhcp sunucusuna bakmanız gerekir (genellikle ne istersen olmasını sağlayacak şekilde sadece server config olarak ayarla)

Aynı adrese sahip olan iki adaptörle ilgili olarak, bu muhtemelen Virtualbox'da ayarladığınız konfigürasyona bağlıdır. Eğer klonlarsa, açıkça bir tane yeni bir MAC adresi vermeniz gerekebilir.

Her biri için ağ yapılandırmalarını kontrol edin ve aynı olduklarını düşünüyorlar mı bakın.

Farklıysa, dhcp sunucusunda her biri için geçici olarak sabit bir IP ayarlayabilirsiniz (MAC adresi ile atanmış)

Göz at bu bölümde daha fazla bilgi için VirtualBox manuel.


1
Gönderdiğiniz bağlantı NAT için geçerli değil.
jlliagre,

1

Ben de aynı sorunu yaşadım. Adaptör2'yi 2. konuk işletim sistemine atadı. Konuklara atanan benzersiz Mac ve Ip adresleri.

görüntü tanımını buraya girin


0

İki ayarın değiştirilmesi gerekir.

1) VM kutusu tarafında - Konsol VMware istemci yazılımı, ağ ayarlarını değiştirir (yani) ağ ayarlarına yeni bir ek ekleyin. 2) VM makine tarafında - Her VM için Mac adresini yenileyin.


-1

her vm için ağ ayarını açın, ileri düzey üzerine tıklayın> mac adresinin yanındaki yenile düğmesine tıklayın. İkisinde de farklı bir tane olsun, hepiniz hazırsınız.


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.