VirtualBox konuk işletim sistemi ana işletim sistemindeki yerel sunucuya erişiyor


107

Ubuntu sunucumda yerel web sunucum var. VirtualBox ve Debian'ı misafir olarak kurdum.

Debian konuğunun Ubuntu sunucumda çalışan web sunucuma ulaşabilmesini istiyorum (örneğin, sadece http://localhost:8080/Debian altındaki tarayıcıyı giriyorum).

Bu nasıl yapılabilir?

Yanıtlar:


176

ONE ağ adaptörünü etkinleştirin. NAT olarak ayarlayın ve makinenizi başlatın. Hiçbir şey yapılandırmanıza gerek yok.

Konuk makinenin tarayıcısına , ana bilgisayar işletim sistemindeki "localhost" ile aynı içeriği gösterecek olan http://10.0.2.2 yazın .

10.0.2.2, NAT bağlantıları için "varsayılan ağ geçidi" dir ve konuk işletim sisteminizin IP adresi 10.0.2.15'tir.

Elbette bir "Gelişmiş" konfigürasyona izin verecek bir "HOST-ONLY" veya "Dahili Ağ" ayarlayabilirsiniz. NAT ile kalmak öneririz.

Keyfini çıkarın

M.


1
Msgstr "ONE ağ adaptörünü etkinleştir". Bu nerede yapılır?
jshen

1
Not: Ana makinenizde apache'de yapılandırılmış, ad tabanlı bir sanal ana makineniz varsa, bu makineye yalnızca konuk makinelerinin ana bilgisayarları dosyasında bir eşleme oluşturarak erişebilirsiniz10.0.2.2 yourvirtualhostname.local (or whatever)
Kullanıcı

@ Kullanıcı, son yorumunuzun işe yarayacağından emin misiniz? VB sunucumda ayarlanmış sanal bir ana bilgisayarım var http://example.devve 10.0.2.2VB konuğumdaki herhangi bir şeyle eşleştirmek hiçbir şekilde erişime yardımcı olmuyor.
Томица Кораћ

1
@ ТомицаКораћ işe yarıyor. Örneğin, bakınız: askubuntu.com/questions/36183/… ancak bu sorunu çözmek için muhtemelen ayrı bir soru açmalısınız.
Kullanıcı

1
"Bir ağ bağdaştırıcısını etkinleştir", sanal makinenizin ağ ayarlarının altında (VirtualBox içinde) bağdaştırıcılardan yalnızca birini etkinleştireceği anlamına gelir. İlk okuduğumda kafam biraz karıştı.
Marquez

5

Ayrıca, 10.0.2.2'nin ip adresini kullanırken yapılması gereken nokta, MAMP kullanıyorsanız, örneğin port numarasını ekleyin: 8888, böylece tam adres http://10.0.2.2:8888


3

VirtualBox Guest makinenize kesintisiz erişime izin vermenin en kolay yolu, ağ cihazını LAN'ınızda eth0'ınıza 'köprü' olarak ayarlamaktır.

Konuk makine, yönlendiricinizden DHCP yoluyla bir LAN IP'si alır.


Açıklığa kavuşturmak için: Bu istemci uygulamasında bir ayardır. Benim için işe yaradı - farkına varmak biraz zaman aldı, çünkü IE adres çubuğuna bir IP adresi ve bağlantı noktası yazdığımda HTTP bağlantısı istediğimi varsaymak için fazla aptaldı.
Michael Scheper 19:15

2

Benim için sorunu bulduğumda, Windows VirtualHost-Only bağdaştırıcısının ip aralığı için .1 adresine ayarlandığından ve sanal kutudaki ana bilgisayar bağdaştırıcımın yalnızca bağdaştırıcının 192.168.58.20 olduğunu, ancak Windows bağdaştırıcısının ipinin 192.168 olduğunu belirttiğimden emin oldum. 58.1


2

@Melvyn'in çözümü işe yaramıyorsa, alternatif olarak ağ bağdaştırıcısını köprülenecek şekilde ayarlayabilirsiniz.
Git Settings-> Network-> ardından Attached toKöprülü Adaptör olarak değiştirin .

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

Ana bilgisayarı, ana bilgisayar adına veya harici IP adresine göre Komut istemine giderek ve yazarak arayabilmeniz gerekir. ipconfig /all görüntü tanımını buraya girin

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

Güncelleştirme Visual Studio ile hata ayıklama yapıyorsanız ve IIS Express kullanıyorsanız.

gitmek C:\Users\[uesername]\Documents\IISExpress\config\applicationhost.config

web sitenizi bulun <configuration>/<system.applicationHost>/<sites>/<site> (ad yanıltıcı olabilir, diskteki konumunu physicalPathözniteliği kontrol etmeyi deneyin )

sonra <bindings>bölüme yeni ciltleme ekleyin

<bindings>
    <binding protocol="http" bindingInformation="*:50766:localhost" />
    <binding protocol="http" bindingInformation="*:50766:48qzr12" />
</bindings>

bindingInformation nerede *:[port]:[machineName]

Umarım bu size biraz zaman kazandırır.


-1

Debian'ın web sunucunuza ulaşmasını sağlayabilir, ancak localhost kullanmayabilirsiniz. Ubuntu sunucusunun IP adresini kullanmanız gerekir.

Misafir işletim sisteminin ağa bağlı olduğunu varsayarsak, IP'yi açıp bir terminal açıp yazın ifconfig. Gibi bir şey olmalı 192.168.0.2.


Selam! Çok geç cevap verdiğim için özür dilerim. ev sahibimdeki ifconfig, eth0 için 192.168.0.102 gösteriyor. Bu ipi misafirime firefox'a girdiğimde bir süre bağlanmaya çalışıyor ve ardından bağlantı sonlandırılıyor: "192.168.0.102'deki sunucu yanıt vermesi çok uzun sürüyor" ... Peki şimdi ne denemeliyim? Şimdiden teşekkürler.
Maxim
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.