Virtualbox: come accedere al server Web sul SO guest dal SO host?


10

Dopo molti forum di RTFM e di lettura, ho ancora problemi e ho bisogno di consigli. Uso Virtualbox su Ubuntu e ho installato un server Centos come ospite. Il mio problema è che non riesco ad accedere al web server sul SO guest dal SO host.

Ecco i dettagli: Il sistema operativo host è Ubuntu 12.04 LTS (kernel 3.2.0-24-generico) a 64 bit.

Uso Virtualbox 4.1.12.

Ricevo il mio indirizzo IP dal mio router wireless:

eth0      Link encap:Ethernet  HWaddr 18:03:73:42:3d:ac  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
          Interrupt:47 Base address:0xe000 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:3784 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3784 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:378673 (378.6 KB)  TX bytes:378673 (378.6 KB)

wlan0     Link encap:Ethernet  HWaddr 64:27:37:69:c5:d2  
          inet addr:192.168.1.15  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::6627:37ff:fe69:c5d2/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:124013 errors:0 dropped:0 overruns:0 frame:0
          TX packets:82469 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:164307087 (164.3 MB)  TX bytes:9744555 (9.7 MB)

Quindi, ho installato CentOS come SO guest e desidero accedere al suo server http. Nelle Impostazioni di rete in Virtualbox ho questo: allegato a Bridged Adapter

Nome: wlan0

Autorizzo la modalità Promiscua per le macchine virtuali.

E 'Cable Connected' spuntato.

Sulla macchina CentOS, l'interfaccia eth0 ha rilevato l'indirizzo IP 192.168.1.20 con la maschera 255.255.255.0. Finora sembra tutto a posto, i due sistemi possono fare un rumore metallico. Ho avviato il web server ed è in ascolto sulla porta 80 - verificato con netstat. (Tuttavia non ho modificato il file di configurazione predefinito del server web.)

Quando voglio collegarmi al server web sulla macchina CentOS, non posso. "Impossibile connettersi", dice Firefox, Chrome non è soddisfatto: Chrome non è riuscito a connettersi a 192.168.1.20. (Non sto usando alcun proxy qui.)

Ho provato a telnet alla porta 80 sul sistema guest - nessuna gioia:

:~$ telnet 192.168.1.20 80
Trying 192.168.1.20...
telnet: Unable to connect to remote host: No route to host

Non sono sicuro che sia importante, ma la tabella delle rotte sul SO guest è qui:

[root@centos ~]# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.1.0     *               255.255.255.0   U     0      0        0 eth0
link-local      *               255.255.0.0     U     1002   0        0 eth0
default         192.168.1.1     0.0.0.0         UG    0      0        0 eth0

(È divertente, ho appena capito che posso ssh da Ubuntu a CentOS.)

Ho provato diverse impostazioni in Virtualbox, ma quanto sopra è il più vicino a ciò che le persone suggeriscono su forum diversi. Ho provato NAT con port forwarding, adattatore solo host ma non sono riuscito a risolverlo.

Qualcuno può accendere alcune luci per me, per favore? Saluti


Inoltre ... Sul mio SO host (Ubu) ho fatto un traceroute e ha trovato un percorso per il SO guest. E come detto le macchine possono fare un rumore metallico e ssh sta funzionando. Creato un file HTML fittizio chiamato index_x.html e posso leggere la pagina dal guest stesso con lynx. Questo può essere un problema con il firewall?
Petkaux,

Hai un firewall in esecuzione sul sistema operativo guest? In tal caso, sta bloccando la porta 80?
Fran,

Sì, hai ragione, Fran. iptables mi stava bloccando sul CentOS guest. L'ho spento temporaneamente per vedere cosa stava succedendo e voilà, potevo accedere al web server! Yippeee!
Petkaux,

@Petkaux Ho un problema di esempio con lo stesso ambiente. Non sono bravo in Linux .. Quindi, per favore, puoi darmi il comando / i passaggi che cosa hai provato per il tuo problema. ?
Mr. Black,

Risposte:


8

La soluzione era aprire la porta sul firewall del sistema operativo guest, come descritto qui: http://wiki.centos.org/HowTos/Network/IPTables

Le impostazioni di rete in Virtualbox erano OK - Bridged Network è l'impostazione corretta.


Grazie, questo mi ha impiegato un po 'di tempo per capire. firewall-cmd --zone=external --add-service=http --permanent; firewall-cmd --reload
Christopher Markieta,

3

La disabilitazione del firewall interno del SO guest come di seguito dovrebbe consentire l'accesso. genere

service iptables stop
chkconfig iptables off

dalla riga di comando quando si trova nel SO guest.


Grazie, ho passato ore a provare diverse impostazioni per accedere al server sulla mia VM CentOS.
1313

Semplice ed elegante!
Edward_178118,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.