Não é possível resolver o host local no Mac OS X Server

9

Eu tenho um servidor executando o OS X Server 10.5 e ele não pode resolver o host local para 127.0.0.1.

Quando tento executar ping, é o que acontece:

> ping localhost
ping: não é possível resolver localhost: host desconhecido

Os navegadores SSH e web obtêm resultados semelhantes (host desconhecido). Se eu tentar usar 127.0.0.1 ou o endereço IP atribuído na LAN, todo o trabalho acima funciona.

Aqui está o conteúdo do meu arquivo / etc / hosts:

> cat / etc / hosts
##
# Banco de Dados Host
#
# localhost é usado para configurar a interface de loopback
# quando o sistema está inicializando. Não altere esta entrada.
##
127.0.0.1 localhost
255.255.255.255 broadcasthost
:: 1 localhost 
fe80 :: 1% lo0 localhost

Não tenho nenhum serviço DNS local em execução.

Alguém tem alguma idéia de por que isso pode estar acontecendo ou como posso corrigi-lo?

iainbeeston
fonte
11
Rename / etc / hosts para /etc/hosts.justworks
ta.speot.is
Quais são as suas configurações de DNS na sua caixa de servidor? Você está executando um serviço DNS?
Shaggy Frog

Respostas:

6

Eu tive esse mesmo problema com o Mountain Lion (10.8.2). Eu o resolvi desativando o "Modo furtivo" em Segurança e privacidade -> Firewall -> Opções de firewall.

Kevin
fonte
Também foi corrigido o problema com o El Capitan 10.11
suspeitous
3

Provavelmente, isso não está relacionado à sua pergunta original, mas há outro problema que pode afetar as pesquisas de DNS no Mac OS X Lion, especificamente localhostou quaisquer outras entradas nas quais você possa ter /etc/hosts.

Aparentemente, o /etc/hostsarquivo não oferece mais suporte a vários domínios por linha no arquivo, portanto, cada registro precisa de sua própria linha:

127.0.0.1 localhost
127.0.0.1 some.site.local
127.0.0.1 some.site.dev

Encontrei isso no blog de Justin Carmony . Ele continua descrevendo outro comportamento "interessante" se você estiver usando /etc/hosts, então leia se ainda está tendo problemas.

pix0r
fonte
1

Eu sei que é um pouco tarde, mas no meu caso, alterar as terminações de linha para UNIX, substituindo abas por espaços e salvando o arquivo como UTF-8 o fez funcionar no Mountain Lion (10.8.2)

Espero que este trabalho para outra pessoa.

victmo
fonte
1

A codificação pode ser um problema; editei o arquivo / etc / hosts usando o Sublime Text, o que me leva ao problema de reeditá-la usando o vi corrigido. certifique-se de que catproduz o conteúdo.

Issam Zoli
fonte
isso aconteceu comigo! graças eu estava ficando louco
Asgaroth
1

No meu computador (mesmos sintomas), meu /etc/hostsarquivo foi usado para usar as terminações de linha do Macintosh (CR— 0x13) em vez das terminações de linha do Unix (LF— 0x10). Caso contrário, o arquivo estava correto.

Minha solução foi:

brew install dos2unix
sudo dos2unix -c mac /etc/hosts
Phrogz
fonte
0

Eu tenho o mesmo problema. Acabei de configurar um novo laptop mac e ele estava funcionando até migrar do meu antigo. Agora, o ping localhost não pode ser resolvido. Deve ser uma configuração que eu mude em algum lugar, mas não sei onde ...

Eu descobri que "ping localhost". trabalho. A adição de um ponto final deve ignorar a pesquisa do nome "localhost" em outros domínios de pesquisa. Isso é legal, mas ainda não entendo por que a entrada / etc / hosts não está funcionando ...

editar: resolvido.

bash-3.2# dscl . read /Hosts/localhost    
AppleMetaNodeLocation: /Local/Default
RecordName: localhost
RecordType: dsRecTypeStandard:Hosts
bash-3.2# ping localhost
ping: cannot resolve localhost: Unknown host
bash-3.2# dscl . append /Hosts/localhost IPAddress 127.0.0.1
bash-3.2# dscl . read /Hosts/localhost
AppleMetaNodeLocation: /Local/Default
IPAddress: 127.0.0.1
RecordName: localhost
RecordType: dsRecTypeStandard:Hosts
bash-3.2# ping localhost
PING localhost (127.0.0.1): 56 data bytes
64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.083 ms
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.140 ms

voila!

De alguma forma, o registro de serviços de diretório estava fora de sincronia com o arquivo / etc / hosts. E quando não há endereço IP na configuração dos serviços de diretório, a tentativa de resolver o nome vai para o mDNSResponder, que solicita o DNS.

Matt Connolly
fonte
0

No final, apenas começou a trabalhar novamente. Encontrei alguma configuração de DNS não ortodoxa (e desnecessária) no servidor e mudei para o que deveria ter sido, e talvez isso tenha resolvido o problema? Não tenho certeza, porque eu não estava tentando resolver o problema do host local no momento e, portanto, não testei o host local antes e depois.

iainbeeston
fonte
0

Eu editei meus / etc / hosts com Sublime Text e tive o mesmo problema, tente editar e salvar seu arquivo / etc / hosts com vi ou nano, que o corrigiu para mim ...

Helmut
fonte
0

Não deixe de ler o log de erros do Apache, porque nem todos os erros são lançados no console ao iniciar o serviço. Pode haver problemas, mesmo se a sintaxe estiver correta.

Por padrão, eles devem ser armazenados em / var / log / apache2 / e o arquivo de log é error.log.

Eu tinha exatamente o mesmo problema, que o host poderia ser resolvido e o apache não relatou nenhum problema no console. O "problema" simples era que o error.log definiu que minha configuração vhost não pôde ser criada após a troca de uma unidade externa.

Markus Zeller
fonte
-1

Remova o arquivo hosts e veja o que acontece então. Também reinicie sem conectar-se a nenhuma rede.

Josh K
fonte
Estou cansado de excluir o / etc / hosts porque é exatamente o mesmo que os arquivos / etc / hosts nos meus outros macs (e eles podem resolver o host local). Além disso, este é o nosso servidor de produção ... Tentei reiniciar sem conectar a nenhuma rede, mas ele ainda não conseguiu resolver o host local.
Iainbeeston 20/05
Em um mac diferente (que não tem esse problema), tentei renomear / etc / hosts para outra coisa e reiniciei. Não fez nenhuma diferença visível, mas o os x não substituiu / etc / hosts por uma nova cópia. Então, novamente, estou cansado de excluir o arquivo, a menos que o sistema operacional o regenere.
Iainbeeston 20/05
Se este for um servidor de produção, você deverá ter backups recentes. Restaurar a partir de um backup.
Josh K
Receio que não seja um problema recente - é assim há mais de um ano (desde que eu esteja no cargo). Portanto, a restauração do backup seria difícil. De qualquer forma, eu esperava encontrar a causa do problema, e não apenas estragar tudo, na esperança de que ele comece a funcionar novamente!
iainbeeston
Você não está "bagunçando" tudo, é um procedimento padrão, especialmente com servidores. Se você notar um problema e não conseguir encontrar a fonte, o método mais fácil e mais usado para resolver o problema seria restaurar a partir de um backup. A primeira coisa que eu teria feito no trabalho seria corrigi-lo. Deixar os problemas purificarem não os faz desaparecer.
Josh K