
Estou tentando resolver esse problema (intermitentemente) há três meses, mas ainda não consigo fazê-lo funcionar nem mesmo entender por que isso acontece.
O CENÁRIO:
Eu tenho um VirtualBox instalado no meu {HP 32bit, Windows 7}
laptop
Neste VB instalei CentOs 6.5 mínimo, Nginx, PHP-FPM sem problemas.
Resumindo, tudo funciona bem.
O problema
O problema é que só consigo acessar locahost
se estiver conectado à Internet.
Enquanto estiver conectado à Internet, se eu for para http://192.168.1.100/
tudo funcionar, posso ver meus arquivos index.html
perfeitamente, mas assim que fico off-line, não recebo nada, como se estivesse tentando acessar o Google sem estar conectado à Internet.
Esta é uma captura de tela das minhas configurações do Vbox:
Também aqui está a configuração para/etc/sysconfig/network-scripts/ifcfg-eth0
:
Eu fiz o seguinte várias vezes.
Tentei com
iptables
desativado/ativado
Tentei apenas com host, adaptadores em ponte NAT
Tentei com IP estático e DHCP..
redes atualizadas várias vezes
Tenho certeza de que a resposta está em algum lugar, porque ainda não tenho as configurações perfeitas, mas misturo muitas coisas à medida que vou, então ainda não consigo fazê-lo funcionar.
Responder1
Nas configurações da rede VirtualBox, você tem a máquina CentOS 'ligada' à sua rede WiFi, com um endereço IP estático.
Seu laptop não terá um endereço IP fixo em sua conexão WiFi; quando você não está conectado ao WiFi, o Windows não tem conexão de rede instalada e funcionando e não sabe como acessar o servidor CentOS. Quando você se conecta ao WiFi, seu roteador fornece ao Windows um endereço na mesma rede e então ele pode chegar ao servidor CentOS.
Eles estão sendo executados no mesmo computador, mas são separados e não podem se comunicar automaticamente entre si. A solução é alterar a configuração da rede de alguma forma, e como você a altera depende do que você deseja fazer.
A maneira mais fácil seria ir ao Painel de Controle do Windows, Conexões de Rede e encontrar o seucom fioadaptador de rede (supondo que seu laptop tenha um e você não o use), vá para as propriedades e defina um endereço de rede TCP/IP de 192.168.1.101, máscara de sub-rede de 255.255.255.0, sem gateway.
Isso fingirá que seu computador está sempre na mesma rede que a máquina CentOS e sempre pode acessá-la, mas ainda assim deve permitir que a conexão WiFi assuma o controle e seja sua conexão com a Internet quando você a usa, e ainda permitir que o CentOS saia para a Internet quando o WiFi está conectado e ainda permite que outros computadores se conectem ao CentOS e ainda permite que seu computador funcione em outras redes WiFi, mas impedirá que sua conexão com fio funcione em tantos lugares.
Existem outras abordagens que você pode adotar, mas todas elas afetarão um ou mais desses casos de uso e exigirão mais trabalho para serem implementadas posteriormente.
[Editar: estou ignorando onde você diz "não consigo acessar localhost
". Isso pode ser importante. Você deve descrever exatamente qual é o seu teste - qual computador você está usando, qual software você está carregando, onde você está digitando localhost?]
Editar: Nova configuração sugerida
Isso envolve ter uma rede separada de dois computadores apenas para o Windows se comunicar com o CentOS.
No Windows, na imagem que você mostrou aquihttps://i.stack.imgur.com/a3CIZ.jpg- vá para as propriedades do adaptador VirtualBox Host-Only Network, nas propriedades do Internet Protocol TCP/IP v4, e defina um endereço IP de 192.168.250.1 e uma máscara de sub-rede de 255.255.255.0, deixe as outras configurações vazias e OK. disso.
Nas configurações da Máquina Virtual CentOS (com ela desligada), vá para as configurações de Rede e defina o Adaptador 1 como "Adaptador Somente Host".
Ligue a máquina CentOS. Edite
/etc/sysconfig/network-scripts/ifcfg-eth0
e defina o endereço IP 192.168.250.2 e a máscara de sub-rede 255.255.255.0. Não tem gateway nem servidores DNS. Reinicie a rede ou reinicie a máquina CentOS.
Agora você deve ter esta nova rede separada de 192.168.250.1 – 192.168.250.2 para conversar entre eles. Execute seu NGinX para que ele escute o endereço 192.168.250.2 e visite http://192.168.250.2/
o Windows para acessá-lo.
Isso deve funcionar com ou sem WiFi. O único problema é que o CentOS não consegue acessar a Internet para fazer atualizações ou instalações. Se isso for um problema:
Desligue a máquina CentOS e vá para as configurações do VirtualBox, em Rede. Escolha a guia Adaptador 2, habilite-a e defina-a como Adaptador em ponte.
Ligue a máquina CentOS e configure uma interface eth1. Configure isso para obter um endereço IP dinamicamente/por DHCP. Eu uso
system-config-network-tui
, mas tive que instalar. Você pode copiar./etc/sysconfig/network-scripts/ifcfg-eth0 to /etc/sysconfig/network-scripts/ifcfg-eth1
Reinicie a rede e certifique-se de que ela apareça.
Ele deve ter uma conexão de rede associada ao seu WiFi como a original, que só funciona quando o WiFi está conectado, mas o CentOS pode usá-lo para acessar a Internet.