Konuktan Ana Bilgisayara Sanal Kutu “bağlantı noktası ileri” [kapalı]


162

İşte benim kurulum:

- Host: Windows XP
- Guest: Ubuntu 10.04
- Networking: NAT

Konuk bir Apache web sunucusu ayarlıyorum, ancak bunu Windows makinesinde yapabilmek istiyorum:

- go to the browser, type http://localhost:8000

Ayrıca, ağımı köprüye değiştirmeye çalıştım ve yeni bir IP aldım. Ama http: //: 8000 yapmaya çalıştığımda bağlanamadığını söylüyor.


1
Ben de aynı problemi yaşadım. Konuk işletim sisteminin 80 numaralı bağlantı noktasını engelleyen etkin bir güvenlik duvarı olduğu ortaya çıktı.
Nicholas Shanks

149
Günlük iş akışımın bir parçası olarak VirtualBox kullanan bir web geliştiricisi olarak, bunun konu dışı olarak işaretlenmesine katılmıyorum. Lütfen yeniden açmayı düşünün.
sparecycle

1
1. VM'ye gidin 2. ifconfig (yerel IP al - 10.0.2.X olmalıdır) 3. Ana makineye ulaşmak için ssh 10.0.2.2
Mark Roberts

@deeperDATA Bir web geliştiricisinin işi kapsamında olabilir, ancak yığın taşması işin her bölümünü kapsamak anlamına gelmez. Mesleğimizin karmaşıklığının, gereksinimlerinin çoklu yığın değişim sitelerini kapsadığının bir kanıtıdır.
Kevin Lawrence

1
Çalışması uzun zaman aldı. Bizim sorunumuz konuk sisteminde uygulamanın ip bağlamasıydı, makine adına bağlandı, ubuntu'da 127.0.1.1 anlamına geliyor. Bağlamayı 0.0.0.0 olarak değiştirdik. Bağlantı noktası yönlendirme ayarları: Ana Bilgisayar IP = DNS Ana Bilgisayar IP, Ana Bilgisayar Bağlantı Noktası = 8080, Konuk IP = eth0 IP'si, Konuk Bağlantı Noktası = 8080.
yavaş

Yanıtlar:


222

Ağ iletişimi Ana Bilgisayarı -> Konuk

Misafir'e bağlanın ve ip adresini bulun:

ifconfig 

sonuç örneği (ip adresi 10.0.2.15):

eth0      Link encap:Ethernet  HWaddr 08:00:27:AE:36:99
          inet addr:10.0.2.15  Bcast:10.0.2.255  Mask:255.255.255.0

Vbox örneği penceresine gidin -> Menü -> Ağ bağdaştırıcıları:

  • adaptör NAT olmalıdır
  • "port yönlendirme" yi tıklayın
  • yeni kayıt ekle (+ simgesi)
    • host ip için 127.0.0.1 girin ve konuk ip adresi için prev. adım (benim durumumda 10.0.2.15)
    • durumda portunuz 8000'dir - her ikisine de koyun, ancak isterseniz ana makine bağlantı noktasını değiştirebilirsiniz

Ana sisteme gidin ve tarayıcıda deneyin:

http://127.0.0.1:8000

veya ağ ip adresinizi (ana makinede çalıştırarak öğrenin: ipconfig).

Ağ iletişimi Konuk -> Sunucu

Bu durumda bağlantı noktası yönlendirme gerekli değildir, iletişim LAN üzerinden ana bilgisayara geri döner.

Ana makinede - netw ip adresinizi öğrenin:

ipconfig

sonuç örneği:

IP Address. . . . . . . . . . . . : 192.168.5.1

Konuk makinede ana bilgisayarla doğrudan iletişim kurabilirsiniz, örneğin ping ile kontrol edin:

# ping 192.168.5.1
PING 192.168.5.1 (192.168.5.1) 56(84) bytes of data.
64 bytes from 192.168.5.1: icmp_seq=1 ttl=128 time=2.30 ms
...

11
Her iki bağlantı noktası 8000 olmayacak. Ana bilgisayar bağlantı noktası 8000 veya istediğiniz whaterver olacak, ancak konuk bağlantı noktası 80 olmalıdır
Yasin

5
Bu durumda VM'den ana bilgisayara almak, VM'ye gidip ITS IP adresi (aşağıdaki gibi 10.0.2.15) alarak mümkün olmalıdır. Ana makineye VM'den ulaşmak için IP 10.0.2.2'dir (kural gereği).
Mark Roberts

5
Konuk için NAT kullanılıyorsa ... Ana bilgisayarda çalışan hizmet yalnızca 127.0.0.1'e bağlıysa, konuk bu hizmete bağlanmak için ana bilgisayarın genel ipini kullanamaz (örnek hizmet: privoxy). Bunun yerine, Mark tarafından belirtildiği şekilde 10.0.2.2'yi kullanmanız veya varsayılan 'ağ geçidi' olarak gösterilen 'rota -n' (konuk üzerinde çalışır) kullanmanız gerekir.
desm


2
Ana Bilgisayar veya Konuk IP adreslerini belirtmenin gerekli olmadığını gördüm ve kutuları boş bırakabilirsiniz. Her ne kadar sadece localhost'tan bağlanmak istiyorsanız, muhtemelen Ev Sahibi olarak 127.0.0.1 koymak iyi bir fikirdir.
mwfearnley

14

Bu mümkün değil. localhosther zaman yerel işletim sistemindeki geri döngü aygıtını varsayılan olarak kullanır .
Sanal makineniz kendi işletim sistemini çalıştırdığından, dışarıdan erişemediğiniz kendi geridöngü aygıtına sahiptir.

Örneğin tarayıcıda erişmek istiyorsanız, bunun yerine yerel IP'yi kullanarak bağlanın:

http://192.168.180.1:8000

Bu sadece bir örnek ifconfig, misafir işletim sistemindeki bir kabuk üzerinde bir komut vererek gerçek IP'yi bulabilirsiniz .


Bunu da denedim, ancak hem NAT hem de köprü için çalışmadı. Konuktaki apache günlükleri herhangi bir hata vermez ve apache konukta çalışır durumdadır.
Carmen

Doğru IP'yi kullandığınızdan emin misiniz? Sanal makinenin içinden adrese erişmeye çalışarak bunu doğrulayabilirsiniz . Bu başarısız olursa, yanlış bir IP kullanıyorsunuz veya apache 8080 bağlantı noktasını dinleyecek şekilde ayarlanmamış.
Chris

Benim için çalıştı - teşekkürler!
Matt Frear

Benim için de çalıştı. "Localhost" u ana işletim sistemi IP adresiyle değiştirmeden önce / etc / ssh / sshd_config dosyasında LogLevel DEBUG3'e rağmen /var/log/auth.log dosyasında açıklama yapmadan her zaman "Sunucu anahtarınızı reddetti" ve "Erişim reddedildi" ifadelerini aldım
VR

@Chris, ana bilgisayarda, gibi sanal ana bilgisayar girişlerine mysite.localhostGuest makinesi tarafından erişilemeyeceği anlamına gelir, çünkü Host'a yalnızca IP adresi kullanarak başvurmam gerekir mi?
danjah
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.