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.