Aliases do host local no Mac OS X misteriosamente pararam de funcionar

3

Por alguma razão, os aliases do meu Mac OS X localhost parecem ter parado de funcionar de repente. Presumivelmente, seguir alguma atualização causou isso, embora eu não tenha certeza do quê.

Veja meu arquivo de hosts:

##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting.  Do not change this entry.
##
127.0.0.1   localhost
255.255.255.255 broadcasthost
::1             localhost
fe80::1%lo0 localhost


127.0.0.1 ian.dev
127.0.0.1 d8.dev

Apesar de ian.dev estar em 127.0.0.1 aqui quando eu depurar usando dscacheutil -q host -a name ian.dev eu recebo:

name: ian.dev
ip_address: 127.0.53.53

O próprio localhost está funcionando e eu posso alcançar as subpastas dentro do localhost também, mas qualquer novo alias parece sempre apontar para esse IP e não para o 127.0.0.1.

    
por Ian Bullock 17.01.2015 / 22:44

2 respostas

1

Encontrou a correção eventual de esta resposta no Stack Overflow .

Parece que meu arquivo de hosts foi corrompido de alguma forma. A série de comandos para limpar o arquivo acabou consertando:

tr '5' '2' < /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
    
por 17.01.2015 / 23:49
0

Quando um endereço IP retornar 127.0.53.53 quando houver um possível problema de colisão de nome conforme descrito aqui na documentação oficial da ICANN :

127.0.53.53 is a special IPv4 address that will appear in system logs alerting system administrators that there is potential name collision issue, enabling a quick diagnosis and remediation. The "53" is used as a mnemonic to indicate a DNS-related problem owing to the use of network port 53 for the DNS service.

Sabendo disso, acredito que o problema vem de você ter duas entradas com .dev conectadas a elas; ian.dev e d8.dev . Meu pensamento é que o resolvedor de DNS no sistema vê o .dev , tente adicionar .dev à .local zone, que é o tradicional localhost "TLD". E isso só engasga por algum motivo. Ou talvez esteja tentando resolver .dev no mundo real e considere sua configuração local de .dev como uma colisão com um domínio de nível superior .dev do mundo real?

Suponho que você esteja fazendo isso para algum tipo de desenvolvimento de host virtual baseado em nome do Apache em sua máquina. Nesse caso, veja o que acontece se você alterar esses aliases para remover o ponto ( . ) para que eles se tornem assim: ian_dev e d8_dev . Ou talvez altere-os para ian.local e d8.local '.

Isso seria demorado para ajustar seu ambiente de desenvolvimento, mas acredito que isso funcione.

Exceto isso, você pode fazer algo um pouco mais invasivo em um nível de sistema, o que pode funcionar. A ideia vem de esta resposta na falha do servidor . Basta abrir o arquivo resolv.conf do DNS assim:

sudo nano /etc/resolv.conf

Adicione a seguinte linha options ao final do arquivo:

options ndots:2

Isso pode funcionar também. Mais detalhes deste site . Além disso, contanto que você tenha resolv.conf , talvez queira fazer o check-in para ver se há alguma outra configuração lá no meio das obras. Por exemplo, aqui está o conteúdo do meu resolv.conf :

#
# Mac OS X Notice
#
# This file is not used by the host name and address resolution
# or the DNS query routing mechanisms used by most processes on
# this Mac OS X system.
#
# This file is automatically generated.
#
nameserver 208.67.220.222
nameserver 208.67.220.220

As duas únicas entradas que tenho são para os servidores nams do OpenDNS. Nada mais. Se você tiver algo além de nameserver entradas - ou talvez nem tanto; sua configuração pode estar vazia, então eu recomendaria comentar essas entradas e ver o que acontece.

    
por 17.01.2015 / 23:09