VirtualBox'ta NAT Ağındaki VM'lerde İnternet Erişimi Yok


14

Aşağıdaki ayarlarla Ubirtu 14.04 LTS'de VirtulBox 5'te bir NAT Ağı oluşturdum

Natework Adı: NatNetwrok1
Ağ CIDR: 10.0.2.0/24
Destek DHCP: etkin
Destek IPv6:
bağlantı noktası iletme olmadan devre dışı

Ayrıca iki VM'im var (Her ikisi de Xubuntu klonları), Ağ bağdaştırıcılarını dört bağdaştırıcının tümünde aşağıdaki ayarlarla VM'nin her birinde iki NIC'yi etkinleştirecek şekilde ayarladım:


Eklendi : “NAT Ağı” Adı: “NatNetwrok1”

Her iki VM'yi de çalıştırdığımda ifconfig komutunu çalıştırırken aşağıdaki ayarları görebiliyorum

Xubuntu1'de ifconfig sonuçları

eth0      Link encap:Ethernet  HWaddr 08:00:27:00:8c:03  
          inet addr:10.0.2.9  Bcast:10.0.2.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe00:8c03/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:43 errors:0 dropped:0 overruns:0 frame:0
          TX packets:47 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:12133 (12.1 KB)  TX bytes:8517 (8.5 KB)

eth1      Link encap:Ethernet  HWaddr 08:00:27:9e:20:e8  
          inet addr:10.0.2.8  Bcast:10.0.2.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe9e:20e8/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:43 errors:0 dropped:0 overruns:0 frame:0
          TX packets:48 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:10294 (10.2 KB)  TX bytes:8798 (8.7 KB)

Xubutracentu2 üzerinde ifconfig sonuçları

eth0      Link encap:Ethernet  HWaddr 08:00:27:00:8c:03  
          inet addr:10.0.2.9  Bcast:10.0.2.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe00:8c03/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:43 errors:0 dropped:0 overruns:0 frame:0
          TX packets:47 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:12133 (12.1 KB)  TX bytes:8517 (8.5 KB)

eth1      Link encap:Ethernet  HWaddr 08:00:27:9e:20:e8  
          inet addr:10.0.2.8  Bcast:10.0.2.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe9e:20e8/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:43 errors:0 dropped:0 overruns:0 frame:0
          TX packets:48 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:10294 (10.2 KB)  TX bytes:8798 (8.7 KB)

Bu 4 IP arasında ping iyi çalışıyor
Ama bu VM'lerin herhangi birinde internete erişemiyorum.
“NAT Ağı” nı “NAT” olarak değiştirirseniz ağa erişebilirim ama farklı sanal ağın bir parçası haline geliyor ve ping yapamıyorum Birbirlerinden onları
tanıma ve çözmede bana yardım edebilir mi?

Herkes NAT ve NAT Ağı arasındaki farkı açıklayabilir mi


Aynı sorun ... Birisi yardımcı olabilir mi?
monitor35

Son zamanlarda varsayılan ubuntu repo sanal kutusu 5.0.40 kullanarak bu sorunla karşılaştı. Bunu aşmak için, her VM'yi iki arayüzle yapılandırdım. Biri dahili NatNetwork, diğeri köprü modunu kullanır. Konuk işletim sistemi (ubuntu 16.04) altında, ikinci arayüzün misafirde görünmesi için / etc / network / arayüzlerini değiştirmeniz gerekir. Bu, her VM'nin dahili NAT'da olmasını ve aynı anda internete erişmesini mümkün kıldı.
JulioHM

Yanıtlar:


7

Neden çalışmıyor?

16.04'te (ve muhtemelen 14.04'te) , ana paketlenmiş VirtualBox (5.0.36) sürümünün NAT Ağı özelliği hatalıdır .

Kontrol et!

Kendiniz kontrol edebilirsiniz: ls /usr/lib/virtualbox/VBoxNetNATyürütülebilir dosya varsa, başka bir sorun olabilir.

Düzelt!

Bu hata yeni sürümlerde düzeltildi. Yani yeni bir sürüm yüklemelisiniz:

Eski sürümü kaldır

Örneğin, kullanarak yüklediyseniz aptşunları çalıştırabilirsiniz:

sudo apt remove virtualbox --auto-remove

Yeni sürümü yükle

Düzeltme daha yeni sürümler için kullanılabilir (Ubuntu yakkety +). Eski sürümler için:

  • Virtualbox.org adresini ziyaret edin ve en yeni sürümü manuel olarak indirin
  • VEYA
  • Aşağıdaki komut dosyasını kullanın:

    # add the official repository
    wget -q -O - https://www.virtualbox.org/download/oracle_vbox_2016.asc | sudo apt-key add -
    echo deb http://download.virtualbox.org/virtualbox/debian `lsb_release -cs` non-free contrib | sudo tee /etc/apt/sources.list.d/virtualbox.org.list
    # install the newer version
    sudo apt install virtualbox-5.1
    

1
Virtualbox'ın önceki bir sürümü yüklüyse, virtualbox-dkmsbu düzeltmenin çalışması için de kaldırdığınızdan emin olun . Aksi takdirde, hala internet olmadan sıkışmış olabilirsiniz
Barak Itkin

7

Bu varsayılan apt deposundan VirtualBox 5.0.40 kullanarak koştu. Bunu aşmak için, her VM'yi iki ağ arabirimi kullanacak şekilde yapılandırdım.

  • Adaptör 1: Köprü Addapter (gerçek nic için)
  • Adaptör 2: NAT Ağı (seçtiğiniz)

Guets OS (Ubuntu 16.04) altında, /etc/network/interfacesikinci arayüzün görünmesi için ince ayar yapmanız gerekecek . Benim durumumda, NAT Ağında statik IP'ler kullanmak için VM'lere ihtiyacım vardı, bu yüzden aldım.

## Bridge to Internet
auto enp0s3
iface enp0s3 inet dhcp

## NAT Network among VMs
## Static is optional
## DHCP if you don't need it
auto enp0s8
iface enp0s8 inet static
  address 10.10.11.100
  netmask 255.255.255.0

Bu, tabii ki, NAT Ağımın alt ağı kullandığını varsayar 10.10.11.0/24. Senaryonuzu senaryoya uyarlayın veya istediğiniz gibi dhcp'ye bırakın.

NOT: Statik yapılandırmada dikkat edilmesi gereken önemli bir nokta, bu özel senaryo için varsayılan bir ağ geçidi atayamazsınız. enp0s8Varsayılan (10.10.11.1 gibi) vermek , işletim sisteminin bu ağ geçidine bir rota oluşturmasına neden olur ve bu rota da internet erişiminizi bozabilir. Bunu, yalnızca bu özel arabirimin, yapılandırılmış olanın dışında, diğer ağlara yönlendirilmesi gerektiğinde yapmanız gerekir.

Ubuntu tarafından ortamınıza atanan arabirim adlarını bulmak için bunu yapabilirsiniz dmesg | grep eth.

resim açıklamasını buraya girin


Hem eth0 hem de eth1 için 'dhcp' kullandığımda benimki daha iyi çalıştı. Sadece NAT için 10.0.2.15 otomatik olarak atandı ve genel internet eth1'in bir IP'si yok, ancak VM'den internete ping atabiliyorum!
Milean

6

VirtualBox kılavuzuna göre, VM'leriniz için ağ olasılıkları şunlardır:

  • NAT: VM ile ana bilgisayar arasındaki dahili ağ. Ayrıca internete erişebilirsiniz. NAT modundaki iki veya daha fazla VM'nin aralarında yalnızca ana bilgisayar ve Internet ile bağlantısı yoktur.

  • Dahili: Bu yapılandırmaya sahip tüm VM'ler aralarında bağlantıya sahip olacak, ancak ana bilgisayar veya İnternet ile bağlanamayacak.

  • Yalnızca ana makine: Bu yapılandırmaya sahip ana makine ile tüm VM'ler arasında sanal bir ağ oluşturulur, ancak İnternet erişiminiz olmaz.

  • NAT Ağı: Tüm VM'lere aynı önceden tanımlanmış NAT ağında ve ana bilgisayarda erişebilirsiniz, ancak İnternet'e bağlanamazsınız.

  • Köprülü: VM'niz , bu ağdaki diğer bilgisayar / sunucu gibi ana makinenizle aynı ağda olur ve bu nedenle ana makineniz varsa Internet erişimine sahip olur.

  • Genel: Gelişmiş ve daha spesifik yapılandırma nadiren kullanılır.

Bu nedenle, ana bilgisayara bağlantı ile dahili bir ağ oluşturmak istiyorsanız NAT Ağı'nı seçin, ancak İnternet erişiminiz olmayacağına dikkat edin. NAT, yalnızca sanal makinenizden İnternet erişimi istediğinizde ve başka bir şey olmadığında ayarlanır.

Ancak, hem VM'ler hem de İnternet arasında bağlantı kurmak istiyorsanız bu ayarların hiçbiri sizin için uygun değildir. Bildiğim kadarıyla, tek seçiminiz her iki VM'yi de köprülü modda yapılandırmaktır, böylece ana bilgisayar ağınızdaki 'farklı' bilgisayarlar olacak ve hepsine ve internete bunlardan herhangi birini pingleyebileceksiniz.

Öte yandan, her iki makine de aynı MAC adresine ( ifconfig komut bilgisinde HWaddr ) sahip olduğu için bir VM'yi klonladınız , " Tüm ağ kartlarının MAC adresini yeniden başlat " onay kutusunu işaretlemeniz gerektiğini unutmayın. "klonlarken. Aynı MAC adresine sahip iki cihaz her zaman sorun yaratır.

VirtualBox'da uzman değilim, bu yüzden belki de diğer kullanıcılar istediğinizi elde etmek için diğer olası yapılandırmaları söyleyebilir. Umarım bu bilgiyi faydalı bulursunuz.

Daha fazla bilgi için okuyabilir bu .


3
NAT Network'ün misafirlerinizin internete bağlanmasını engelleyeceği doğru değildir . NAT Ağındaki VM misafirlerinden internete bağlanabiliyorum. Forums.virtualbox.org/viewtopic.php?f=3&t=69504 hakkındaki son yoruma göre , "NAT modu, her VM'nin kendi yönlendiricisinin arkasında olduğu anlamına gelir ... NAT Ağı, birkaç VM'ye sahip olmanız dışında NAT ile aynıdır aynı dahili yönlendiriciye bağlı. "
eebbesen

2

Bu VirtualBox'ta bir hata olabilir. Ben de aynı şeyi yaşadım (Ubuntu 16.04.2 LTS, VirtualBox 5.0.32_Ubuntu r112930): İki Ubuntu VM'si için yapılandırılmış bir NAT Ağı kurun. Her VM / SSH'yi diğerine pingleyebilir ve bağlantı noktası yönlendirmeleri aracılığıyla ana bilgisayardan her VM'ye SSH yapabilirim. Ancak VM'lerin içinden internet erişimi yok. Bir meslektaşım aynı şeyi bir Windows ana makinesi, VirtualBox (bilinmeyen sürüm) ve aynı VM'lerle denedi ve çalıştı.

Geçici bir çözüm olarak, her VM için ikinci bir ağ kartı yapılandırdım: Birincisi Internet'e erişmek için NAT, ikincisi diğer konuklara erişmek için "NAT Ağı" kullanarak. İlk (NAT) kartta SSH bağlantı noktası iletmeyi ayarlamam ve bir VM'de farklı bir SSH bağlantı noktası yapılandırmam gerekiyordu (yani VM1'de 2222 -> 22, VM2'de 2223 -> 23).

Belgelere dayanarak , hem NAT hem de NAT Ağı İnternet'e erişebilmelidir. Aradaki fark, birincinin ana bilgisayar konuk bağlantılarını ayırmasıdır, böylece konuklar yalnızca ana bilgisayara erişemezler. İkincisi, tüm konukları tek bir ağda toplar (ve DHCP gibi hizmetler sağlar), böylece birbirlerine erişebilirler.

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.