Bir VirtualBox konuk işletim sisteminden ana makineye bağlanılsın mı?


214

Temelde ana bilgisayarıma VirtualBox'taki misafirden erişmek istiyorum. Konuklarımdan kullanabileceğim ana bilgisayarım için verilen bir IP adresi var mı? Bunu ayarlamak için gereken ilave adımlar var mı? Ana bilgisayarımın Apache, FTP ve SSH servislerine erişmek istiyorum.


1
Misafirinizin gerçekte hangi ağ yapılandırmasına sahip olduğuna dair hiçbir ipucu olmadan çözmek zor. Bazıları ana bilgisayara erişim izni vermiyor. Konuğun varsayılan ağ geçidi adresini deneyin.
Turbo J

7
Varsayılan ağ geçidimden 10.0.2.2’de ona ulaşabileceğim ortaya çıktı.
Naftuli Kay,

Yanıtlar:


258

Bu cevap hemen hemen VirtualBox'daki bir misafir işletim sistemi kurulumuyla ilgilidir; Konuk işletim sisteminden ana işletim sistemine bağlanmak için yalnızca konuk işletim sistemindeki ağ geçidi adresini kullanmanız gerekir.

Varsayılan Vagrant kurulumunda, ana makinenize varsayılan ağ geçidi üzerinden erişebilmeniz gerekir.

Windows tabanlı misafirlerde bu IP adresini aşağıdaki komutu kullanarak kolayca belirleyebilirsiniz:

ipconfig

Böyle bir şeyi atmalı:

Windows IP Configuration

Ethernet adapter Local Area Connection:

        Connection-specific DNS Suffix  . :
        IP Address. . . . . . . . . . . . : 10.0.2.15
        Subnet Mask . . . . . . . . . . . : 255.255.255.0
        Default Gateway . . . . . . . . . : 10.0.2.2

Bu örnekte, konuk ana makineye erişebilir 10.0.2.2.


Unix / Linux tabanlı konuklar için şu komutu kullanın:

netstat -rn

Böyle bir şeyi atmalı:

Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
192.168.1.0     0.0.0.0         255.255.255.0   U         0 0          0 wlan0
169.254.0.0     0.0.0.0         255.255.0.0     U         0 0          0 wlan0
0.0.0.0         192.168.1.1     0.0.0.0         UG        0 0          0 wlan0

Bu örnekte, konuk ana makineye erişebilir 192.168.1.1.


Yanıtınıza göre varsayılan ağ geçidini kullanarak bağlanırken bağlantının neden korkunç derecede yavaş olacağı hakkında bir fikriniz var mı?
Ben Swinburne

Bu benim için işe yaramadı (Ubuntu 12.04, Vagrant 1.0). Konuk içindeki varsayılan ağ geçidi olarak gösterildi 10.0.2.2ve bu IP'nin bir eşleştirmesi başarısız oldu. 192.168.33.1 doğru IP gibi görünüyor. ( config.vm.network :hostonly, "192.168.33.52"Benim konfigürasyonumdaydım.)
Ajedi32

Aslında, boşver. İşe yaradı. nmap sadece bir sebepten dolayı çalışmıyordu; emin değilim neden. Nmap bunları göstermese de, yine de ana bilgisayar üzerinde çalışan servislere IP üzerinden bağlanabiliyorum.
Ajedi32,

1
netstat -rnCentOS 7.2’de Docker 1.11 172.17ağ geçidim olarak bir adres gösterdi, ancak bu IP ana bilgisayarımla eşleşmedi. Öyle 10.0.2.2oldu.
Spencer Williams,

1
Bu girişlerden hangisinin ağ geçidi olduğunu nasıl bilebiliriz?
Kramer,

36

Konuk bilgisayarın ana sunucusuna web sunucusuna erişmek kolaydır. Bu iki yöntem kullanılarak kolayca yapılabilir. İlk önce aşağıdakileri yapın

  • Cihazlar'a gidin ve Ağ Adaptörleri ... seçeneğini seçin .
  • Bağdaştırıcı ayarlarında, Ekli seçeneğini işaretleyin .
  • Değer NAT ise , aşağıdakileri yapın

  • Sanal kutuyu ayarlarken varsayılan ağ geçidi, genellikle 10.0.2.2varsayılan değerdir. Eğer hiçbir şeyi değiştirmediyseniz bu işe yarar. Ancak, onu değiştirdiyseniz ve çalıştırmakta olduğunuz konuk makinesi, aşağıdaki komutu uygulayarak pencereleri çalıştırır ve varsayılan ağ geçidini bulur.

    ipconfig /all

    Eğer biri , Linux, Unix veya Mac OS, bunu elde etmek için aşağıdaki komutu çalıştırın

    netstat -rn | grep 'default' | awk '{print $2}'

  • Web tarayıcısına gidin ve bu varsayılan ağ geçidini yazın ve enter tuşuna basın. Web sunucusuna erişilebilir.

  • Değer Bridged Adapter ise , aşağıdakileri yapın
    • ev sahibi ve misafirin ip adresini bulun
      • eğer penceredeyseniz, ipconfigip adresini çalıştırın ve alın
      • Linux, Unix veya Mac OS kullanıyorsanız, ifconfig | grep 'inet' ip adresini çalıştırın ve alın
      • ip adresi 192.168.1.1 gibidir
    • Ana makineye erişmek istiyorsanız, konuk olarak tarayıcıyı çalıştırın ve ana bilgisayarın ip adresini girin.
    • Misafir konusuna erişmek istiyorsanız, tarayıcıyı hostta çalıştırın ve konuğun ip adresini girin

9

Bunu yapmanın bir başka yolu da "Host" tipi bir sanal ağ kullanmaktır. Bu, konuk makinenizde, ana makinenizin üzerinde bulunduğu "dış dünya" alt ağlarından farklı bir yerel alt ağda adres içeren bir arabirim sağlar . Bu işi yapmak için birkaç şeyden emin olmalısınız:

  • VM'niz yapılandırılmış bir "sadece ana bilgisayar" adaptöre sahiptir;
  • Ana bilgisayar servislerinizin tüm yerel adaptörleri veya en azından iletişim kurmak istediklerinizi dinlemesi gerekir;
  • Ana makineniz kendi sanal adaptörünü elde edecek ve IP adresini bulmak ve konuk işletim sisteminizdeki "ana bilgisayar" dosyasına eklemek isteyeceksiniz (ancak bu işletim sistemi için çalışıyor; Windows XP'de sadece " "" C: / WINDOWS / system32 / drivers / etc dizinine gömülmüş dosya ". Ana bilgisayarın ana bilgisayar adı için kullanmak istediğiniz adı verin.

Bunu yaptıktan sonra, ana makineye kodladığınız ad üzerinden ana makineyi VM'den "görebilmeniz" gerekir.

Örneğin, Ubuntu 11.04 ana bilgisayarımda, 192.168.56.1'de "vboxnet0" sanal arabirimini alıyorum. Makinelerdeki adaptörler 192.168.56.101 gibi bir şeyle geldi. Gitmem gerek yok içinde benim VM'lere, ama bu konağın konak dosyasına simetrik değişikliği yoluyla mümkün olacağını tahmin. Eklerim

192.168.56.1 mymachine

konuk işletim sistemi ana bilgisayar dosyalarına ve (örneğin) ana bilgisayar makinemin web sunucusunu görebilirler.

http://mymachine/whatever

Elbette hem köprülenmiş hem de yalnızca ana bilgisayar adaptörlerini ayarlayabilirsiniz.


0

VirtualBox'ta paylaşılan klasörler oluşturabilirsiniz. Bu, Host OS'nizdeki klasörlere erişmek için Sanal Kutu içinde bir 'ağ paylaşımı' oluşturacaktır.

İşte Windows XP misafir işletim sisteminde adım adım iyi bir adım:

http://www.giannistsakiris.com/index.php/2007/09/28/virtualbox-access-shared-folders-from-windows-xp-guest-os/


Böylece ev sahibime / vboxsvr / ShareName adresinden erişebilir miyim?
Naftuli Kay

Evet, VirtualBox ile paylaşılacak C: \ STUFF gibi bir klasör ayarladınız. VirtualBox Guest OS içinde, bu vboxserver'a gidebilir ve paylaşılan klasörlere erişebilirsiniz.
kobaltz

Aslında paylaşılan klasörü istemiyorum. Ana makinem için IP adresi istiyorum. Bunu aldığımda, ana bilgisayarımdaki hizmetleri kullanmak için kullanmak istiyorum, yani: echo "GET /\r\n\r\n" | nc 192.168.100.100 80(ana bilgisayarıma
misafirden

1
Bu durumda, Konuk İşletim Sistemi ağ adaptörünüzü bir Köprü'ye ayarlamanız gerekebilir. Bu, DHCP'nizden veya Yönlendiricinizden bir IP adresi çeker. Daha sonra VBox Paylaşımlı Klasörü yerine ana makinenize IP adresi üzerinden yerel olarak erişebileceksiniz.
kobaltz

0

Ek bir ağ arayüzü kullanarak ve ana bilgisayarın ek bir arayüz üzerinden yönlendirmesi için yönlendirilen trafiği ayarlayarak bu sorunun başka bir çözümü .


4
Süper Kullanıcıya Hoşgeldiniz! Cevabın önemli kısımlarını buraya dahil etmek ve bağlantıyı sadece ileride referans almak üzere sağlamak güzel olurdu .
slhck
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.