Eu quero encontrar uma maneira de forçar meu sistema a resolver através do arquivo hosts local no meu sistema antes de fazer uma consulta DNS. Há uma razão para isso e aqui está o meu contexto:
- Eu moro na china. Eu preciso de uma VPN para chegar à Internet 'real'. No meu caso eu estou usando Astrill .
- Dentro da minha empresa, seu DNS local aponta nossa intranet, wiki e outros recursos on-line para IPs locais. Quando fora da empresa, as entradas do DNS são obviamente aquelas disponíveis em IPs externos para todos.
Quando conectado à VPN, não quero que minha máquina pesquise por IP público, quero continuar usando o IP local que o DNS local me fornece, mas todo o tráfego está passando pela VPN.
Uma solução que pensei foi colocar os IPs locais em uma entrada de DNS no arquivo de hosts.
Então eu li sobre uma técnica * nix que usa um arquivo chamado nsswitch.conf
para dizer ao sistema para sempre usar o arquivo primeiro, depois o DNS. Mas o OS X não parece usar isso (o arquivo não existe /etc/
de qualquer forma).
Isso seria ideal, porque eu poderia sempre tentar usar o recurso local onde quer que eu estivesse - a Internet normal, a conexão VPN ou dentro ou fora da minha empresa.
Não consigo encontrar nenhuma documentação para suporte ao OS X nsswitch.conf
ou informações sobre se ele verifica automaticamente os hosts antes do DNS.
Respostas:
Este já é o padrão no OS X. Ou seja Se você especificar um nome de host no arquivo de hosts, as pesquisas usarão o endereço IP especificado, em vez de fazer uma pesquisa de DNS.
Observe que isso é válido apenas para programas que usam as funções de resolução padrão do sistema. Os programas podem usar seu próprio mecanismo de resolução que não garante que honre qualquer coisa que você escrever no arquivo de hosts. No entanto, esses programas devem ser raros e distantes entre si.
fonte