Problema nº 1 - tipos de rede de VM
Existem 3 modos de rede:
- NAT
- Somente host
- Pontuado
Detalhes sobre como configurá-los
- Este AU Q & A intitulado: " No VirtualBox, como eu configuro máquinas virtuais somente host que podem acessar a Internet? ", mostra como fazer # 2.
- Este artigo intitulou: " Como Configurar Adições e Rede de Convidados do VirtualBox ", mostra como fazer # 3.
Quando usar cada um?
- # 1 : para desenvolvimento de aplicativos do Facebook / Web que estão em outros servidores
- # 2 : se você quiser criar seu próprio aplicativo e testá-lo no host do VirtualBox (não apenas na VM guest)
- # 3 : se você quiser criar um aplicativo e testá-lo em outros sistemas na LAN
Problema nº 2 - bloqueio de firewall?
Dependendo de qual distro você está usando, o firewall pode estar impedindo que o seu navegador acesse sua instância do Apache. Isso faria sentido, já que você pode fazer ping no sistema, mas não acessá-lo pela porta 80, que é a porta em que o Apache está escutando.
desativando temporariamente
No CentOS você usa este comando para desativá-lo.
$ /etc/init.d/iptables stop
verifique se o Apache está escutando
Você também pode confirmar que está escutando nessa porta.
$ netstat -antp | grep :80 | head -1 | column -t
tcp 0 0 :::80 :::* LISTEN 3790/httpd
confirma a desativação do firewall
O firewall pode ser confirmado que está totalmente aberto.
$ 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
Se isso resolver seu problema, você poderá adicionar permanentemente uma regra que permita o tráfego na porta TCP 80.
adicionando uma regra para a porta TCP 80
$ /etc/init.d/iptables restart
$ iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
$ /etc/init.d/iptables save
NOTA: Isso fará com que a regra persista entre as reinicializações.
o firewall está aceitando a porta TCP 80
Um sistema que tenha a porta 80 aberta seria parecido com isto:
$ 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 ouvindo?
Na edição acima, vimos que o Apache estava ouvindo, mas às vezes ele é mal configurado, de modo que ele esteja apenas ouvindo um endereço IP ou que esteja ouvindo em uma interface de rede diferente. O comando netstat
pode ser usado para verificar isso, bem como revisar os arquivos de configuração do Apache.
$ netstat -anpt | grep :80 | column -t
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1750/httpd
Isso mostra que o Apache está escutando em todas as interfaces (IP 0.0.0.0).
Não vou repetir o que @a resposta do Lekensteyn , que aborda este assunto específico em mais detalhes aqui.