Arquivo do Windows 7 etc / hosts quebrado?

0

Eu tenho um servidor local em execução que gostaria de acessar como myserver.localhost, então eu adicionei uma entrada

127.0.0.1       myserver.localhost

para C:\Windows\System32\drivers\etc\hosts . Isso funcionou bem.

Então algo aconteceu. Entre outros, tive que desabilitar o Controle de Acesso do Usuário do Windows, mas duvido que essa seja a causa. Agora o sistema não reage mais às mudanças no arquivo hosts. Eu comentei a entrada, adicionei novas entradas de teste, esvaziei o cache DNS várias vezes, reiniciei a máquina, fiz uma pausa, nada ajuda.

nslookup ainda retorna 127.0.0.1 para myserver.localhost e domínio inexistente para quaisquer entradas de teste que eu adicione. Para mim, parece que o próprio arquivo está quebrado de alguma forma (é apenas um arquivo de texto, mas de qualquer forma ...) e o Windows não funciona com ele e, portanto, apenas retorna o que acha que foi o último bom resultado.

Alguém tem uma ideia de como voltar a um arquivo de hosts em funcionamento sem reinstalar o sistema inteiro?

    
por ssc 26.08.2010 / 09:15

5 respostas

0

Infelizmente, não há solução para esse problema e nenhuma razão explicável para a causa. Algo quebrou o arquivo e a única maneira de consertá-lo parece ser uma reinstalação completa de todo o sistema. Abandonamos o Windows como plataforma de desenvolvimento e passamos para o Mac e o Linux.

    
por 29.08.2010 / 14:09
4

Como você editou o arquivo hosts? Talvez o editor tenha adicionado uma extensão (.txt) ao arquivo! Verifique no prompt do dos ( dir C:\Windows\System32\drivers\etc\hosts* ).

    
por 26.08.2010 / 09:26
3

Há um equívoco geral sobre como o arquivo HOSTS no Windows e a ferramenta nslookup interagem. O valor que você digita no arquivo HOSTS é o que é usado pelo sistema quando você estabelece uma conexão com qualquer nome de domínio que você possa especificar. Isso é essencialmente codificado por você inserindo-o no arquivo HOSTS. No entanto, nslookup ignora o arquivo HOSTS para qualquer coisa diferente de localhost. Tente isto: adicione uma entrada ao seu arquivo HOSTS e salve o arquivo. Faça um nslookup: ele deve retornar o endereço IP real (ou nenhum se o endereço real não existir). Agora pingue o host. Deve pingar o IP que você especificou no arquivo HOSTS.

Eu não sei a razão exata para esse comportamento, mas acredito que pode ser que o nslookup sempre faça uma consulta DNS e, para qualquer coisa em *.localhost , ele pergunte à máquina local qual é o endereço (daí você resultado do arquivo HOSTS), mas para qualquer outra coisa, ele pergunta ao servidor DNS que você configurou. Esta parte é apenas especulação, mas o comportamento real que descrevi é algo que observei muitas vezes.

    
por 26.08.2010 / 11:41
0

As alterações em etc\hosts são obtidas instantaneamente. Se isso não funcionar, você está editando o arquivo errado (digamos que está trabalhando remotamente e acidentalmente pegou o servidor errado para a montagem SMB) ou um vírus está interferindo. Verifique se o antivírus está atualizado e verifique todo o seu sistema. Tente um segundo verificador de vírus apenas para estar seguro.

    
por 26.08.2010 / 09:24
0

Você precisa editar esse arquivo como administrador. Caso contrário, você não pode alterá-lo.

Basta pressionar o botão Iniciar - digite cmd na caixa de entrada de pesquisa, clique com o botão direito em cmd e execute-o como administrador. Insira o bloco de notas e abra o arquivo novamente, faça suas edições e salve.

Esta é a maneira que você precisa usar no Windows 7.

    
por 26.08.2010 / 10:02