Forçar o sistema a usar o arquivo de hosts locais antes do DNS (OS X El Capitan)

1

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.

ortonomy
fonte
Eu acho que você entendeu mal como funciona a resolução de DNS e VPN! Além disso, há uma diferença se você usar VPN (e qual tipo de VPN!) Para se conectar da sua empresa / casa / nem casa ou empresa à Internet real melhorando o GreatFirewall ou se você usar VPN de casa / fora de sua empresa para a empresa. Por favor, refaça sua pergunta.
klanomath
Não tenho certeza de como posso refazer minha pergunta sem mais orientações? Eu perguntei, dado os detalhes que eu sei. Eu uso Astrill como o serviço. Tem apenas uma opção 'túnel internacional sites', que encapsula tudo, exceto uma lista disponível aqui: github.com/shadowsocks/ChinaDNS/blob/master/chnroute.txt (que é o intervalo de endereços IP da China). Ainda não consigo acessar recursos locais quando estou conectado a ele, mesmo que alguns IPs EXTERNOS não sejam sintonizados pela VPN.
ortonomy
Isso depende em parte do aplicativo VPN que você está usando. Alguns provedores de VPN, como o meu, fornecem um aplicativo que me permite encapsular todo o tráfego ou apenas o tráfego de saída. Ao mesmo tempo, eu também posso usar o Tunnelblick (como o aplicativo "padrão") para usar o mesmo serviço de VPN com um comportamento diferente. O problema da maioria dos provedores de VPN (que vendem seus serviços na RP da China) é a corrida contínua entre a altura crescente e a espessura da GF e dos "perfuradores de túneis". E está ficando mais complicado a cada dia.
klanomath
Até agora nem sabíamos qual provedor de serviços você escolheu e ainda não sabemos se você usa o Tunnelblick ou algum aplicativo personalizado (como o aplicativo Astrill).
klanomath
"ainda não sabemos se você usa o Tunnelblick ou algum aplicativo personalizado (como o aplicativo Astrill)." - umm, diga o que? Eu disse que usei Astrill. "Eu acho que você entendeu mal como funciona a resolução de DNS e VPN!" - críticas não úteis. Eu entendo como o DNS funciona. Esta é uma questão de software sobre o OSX e como Está trabalhos de resolução. Quero dizer, o quanto você acha que está sendo útil ao fazer esses comentários? Certamente não parece que você está simplesmente tentando "melhorar a qualidade das perguntas".
ortonomy

Respostas:

1

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.

jksoegaard
fonte