Problema n. ° 1: tipos de redes de VM
Hay 3 modos de redes:
- NAT
- Solo host
- Puenteado
Detalles sobre cómo configurarlos
¿Cuándo usar cada uno?
- # 1 : para el desarrollo de aplicaciones de Facebook / web que están en otros servidores
- # 2 : si desea crear su propia aplicación y probarla desde el host VirtualBox (no solo la máquina virtual invitada)
- # 3 : si desea crear una aplicación y probarla desde otros sistemas en LAN
Problema 2: ¿bloqueo de firewall?
Dependiendo de la distribución que esté utilizando, el firewall podría estar bloqueando el acceso de su navegador web a su instancia de Apache. Esto tendría sentido dado que puede hacer ping al sistema, pero no acceder a él a través del puerto 80, que es el puerto en el que Apache está escuchando.
deshabilitándolo temporalmente
En CentOS, usa este comando para deshabilitarlo.
$ /etc/init.d/iptables stop
comprueba que Apache está escuchando
También puede confirmar que está escuchando en este puerto.
$ netstat -antp | grep :80 | head -1 | column -t
tcp 0 0 :::80 :::* LISTEN 3790/httpd
confirmar que el firewall está apagado
Se puede confirmar que el firewall está abierto de par en par.
$ iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Si esto resuelve su problema, puede agregar permanentemente una regla que permita el tráfico a través del puerto TCP 80.
Agregar una regla para el puerto TCP 80
$ /etc/init.d/iptables restart
$ iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
$ /etc/init.d/iptables save
NOTA: Esto hará que la regla persista entre reinicios.
el firewall está aceptando el puerto TCP 80
Un sistema que tenga el puerto 80 abierto se vería así:
$ iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT icmp -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:http
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:https
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:8834
REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
Chain FORWARD (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT icmp -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Problema # 3 - ¿Apache escuchando?
En el problema anterior, vimos que Apache estaba escuchando, pero a veces está mal configurado para que solo escuche en 1 dirección IP, o que esté escuchando en una interfaz de red diferente. El comando netstat
se puede usar para verificar esto y para revisar los archivos de configuración de Apache.
$ netstat -anpt | grep :80 | column -t
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1750/httpd
Esto muestra que Apache está escuchando en todas las interfaces (IP 0.0.0.0).
No repetiré la respuesta de @ Lekensteyn que cubre este tema en particular aquí con más detalles.
Referencias
:::80
, entonces Apache solo está escuchando conexiones IPv6. ¿Has intentado comprobar tusListen
directivas?