Atualização (2): OSX 10.10.5 traz o retorno de mDNSResponder
.
Atualização: OSX 10.10 Yosemite substituiu mDNSResponder por "discoveryd". Não atualizei, então não tenho certeza do comportamento do discoveryd com pesquisas de DNS e /etc/hosts
.
O resolvedor de DNS do sistema no Lion é o mDNSResponder
processo.
Você pode estar pensando "mas mDNSResponder é o respondedor dns multicast". Você está certo; era para isso que servia originalmente e ainda cumpre essa função. No entanto, nas versões mais recentes do MacOS, ele também faz pesquisas de host padrão.
No Lion, não parece reler automaticamente /etc/hosts
quando muda, pelo menos não sempre. Matar mDNSResponder
(e permitir que seja reiniciado automaticamente) parece resolver o problema.
sudo killall mDNSResponder
deve fazer o truque.
abaixo está minha resposta original para a posteridade. Suponho que ainda possa ser um problema em alguns casos.
Certifique-se de que seu /etc/hosts
arquivo seja um arquivo de texto no estilo Unix, com alimentações de linha no final ao invés de cr.
A edição com TextWrangler ou um editor de texto unix deve preservar o arquivo.
Se o seu arquivo já estiver bagunçado, tente isso para corrigir
tr '\015' '\012' < /etc/hosts > /tmp/hosts.$$
mv /etc/hosts /etc/hosts.bad
mv /tmp/hosts.$$ /etc/hosts
# fix up permissions while we are at it
chown root:wheel /etc/hosts
chmod 644 /etc/hosts
crédito para esta correção em:
http://techpatio.com/2011/guides-how-to/fixed-mac-osx-lion-etc-hosts-bugs-dns