Por que preciso especificar um servidor DNS no meu sistema operacional?

1

Eu tenho essa grande dúvida sobre o DNS. Eu tenho assistido alguns vídeos e lido sobre como o DNS funciona. Eu acho que não o tenho salvo, exceto em um ponto. Por que eu preciso especificar no meu win 7 OS ou no meu Ubuntu o servidor DNS? Às vezes é configurado como o que o meu ISP atribui a mim e às vezes eu testei os servidores de DNS públicos do google (8.8.8.8). Não entendo o que esses servidores DNS significam.

Até onde eu sei, o sistema operacional tem um servidor de nomes resolvendo . Este é o responsável por consultar os servidores de nomes ROOT para obter os servidores de nomes de DPNs e, em seguida, os servidores de nomes autoritativos para finalmente obter o IP. Os ips do servidor de nomes raiz são "codificados" no sistema operacional. Então eu não entendo porque eu preciso dos meus servidores de DNS do ISP ou do servidor de DNS do Google, o meu sistema operacional pode resolver isso por conta própria!

Muito obrigado!

    
por flyer88 27.07.2012 / 00:31

6 respostas

6

Resposta curta: você optou por não usar o DHCP, que configura automaticamente os endereços IP dos servidores de nome do seu provedor (ou a camada adicional de cache DNS do seu roteador doméstico).

Explicação:

Os resolvedores de DNS não consultam diretamente os servidores-raiz porque isso seria muito ineficiente. Os servidores raiz precisariam lidar com toda a carga de bilhões de dispositivos conectados à Internet e se os resolvedores fizessem isso várias consultas não recursivas (e mais complexas do que o necessário), as pesquisas de DNS podem ser drasticamente mais lentas.

Portanto, ISPs operam servidores de nomes "recursivos" ou "em cache" para os clientes usarem. Idealmente, os servidores estão localizados próximos para minimizar a latência. Muitos roteadores domésticos fornecem uma camada adicional de armazenamento em cache - se o endereço do seu servidor DNS for o mesmo do seu endereço de gateway, provavelmente é o caso.

Digamos, por exemplo, que o seu navegador da Web precise saber o endereço IP de superuser.com. e pergunte ao servidor de nomes do seu provedor. Aqui estão as vantagens de desempenho de fazer isso ao consultar diretamente servidores autoritativos:

  • O servidor de nomes do seu ISP pode realmente saber a resposta de quando outro resolvedor fez a mesma pergunta, economizando tempo e largura de banda.

  • Mesmo que o servidor de nomes do seu ISP ainda não saiba a resposta, ele provavelmente saberá onde procurar: os .com. servidores de nomes. Ele sabe seus endereços de quando um resolvedor perguntou sobre outro nome de domínio .com.

  • Ele pode lembrar a resposta caso receba mais tarde a mesma consulta. O "tempo de vida" (TTL) associado a uma resposta em particular faz com que o servidor o esqueça depois de um tempo para evitar que informações desatualizadas permaneçam para sempre.

Os servidores de nome de cada ISP têm endereços IP diferentes, portanto, os endereços IP DNS não podem ser codificados. Talvez todos os servidores DNS recursivos operados por ISP possam ser agrupados em um único endereço IP usando anycast como é o DNS público do Google, mas não faz sentido fazê-lo, pois o problema de configurar automaticamente o DNS já foi resolvido por protocolos como DHCP e PPP.

O DHCP e o PPP permitem não apenas configurar o endereço IP do cliente, mas também seus endereços de servidor DNS. Você só precisa especificar um endereço de servidor DNS manualmente se tiver escolhido especificamente não usar o DHCP.

    
por 27.07.2012 / 02:35
6

A menos que eu esteja gravemente enganado, os servidores de nomes raiz NÃO são "codificados" em nenhum sistema operacional. O DNS é usado, como você sabe, para resolver nomes de sites (ou nomes de servidores) para endereços IP. Seu servidor (ou caixa do Windows ou o que você tiver) NÃO conseguirá resolver nenhum endereço de site, a menos que sua caixa obtenha seu DNS de um servidor DHCP, OU a menos que tenha explicitamente informado ao seu servidor / computador quais servidores DNS consultar. / p>

No Linux, isso é feito editando o /etc/resolv.conf. No Windows, isso é feito editando as configurações do adaptador de rede.

    
por 27.07.2012 / 00:37
3

As far as I know the operating system has a resolving name server.

Não é por padrão (exceto se você instalou um.)

So I don't understand why I need my ISP dns servers or google's dns server, my OS can resolve that on his own!

Teoricamente, você pode instalar seu próprio servidor DNS e usá-lo em sua LAN para resolver todos os nomes de domínio. Os servidores do Google e do ISP podem poupar seu tempo na resolução de nomes porque eles têm um grande cache de nomes que eles resolveram recentemente. Eles podem economizar seus esforços na configuração de seu próprio servidor de nomes. Além disso, você deve notar que nem todas as pessoas comuns (não tecnológicas) estão dispostas a instalar qualquer servidor, etc., elas só querem trabalhar no computador.

    
por 27.07.2012 / 00:43
3

Seu resolvedor interno é um cliente de consulta que pode consultar várias origens de endereços, incluindo:

  • Seu arquivo de hosts locais (/ etc / hosts no Linux / UNIX)
  • DNS
  • WINS
  • mDNS (serviço de nome de configuração zero)

Os servidores DNS do seu provedor funcionam como um banco de dados local contendo os endereços dos hosts que você e seus vizinhos usaram recentemente. O servidor DNS armazenará em cache todos os endereços pesquisados por um período de tempo (geralmente vários dias). Eles também sabem como encontrar rapidamente o endereço de nomes que ainda não foram armazenados em cache. Servidores desse tipo são conhecidos como servidores DNS recursivos e normalmente não estão disponíveis para a Internet geral.

Para serviços como o Google, o Facebook e outros sites de alto volume, é útil usar um servidor local. Seu ISPs DNS deve ter os endereços que estão próximos (em termos de rede). Outros servidores DNS podem fornecer endereços que estão relativamente distantes, talvez até mesmo em continentes.

Os servidores raiz fornecem apenas servidores para TLDs (Top Level Domains), como .com .net, .uk, etc. Como a maioria dos servidores DNS na Internet, eles não fornecem serviços de nomes recursivos. Como os dados que eles fornecem são relativamente estáticos, eles serão armazenados em cache por servidores de nomes recursivos que os consultam. Embora os dados em cache sejam válidos, o servidor recursivo não precisará consultar os servidores raiz para esse TLD.

Se você obtiver um endereço IP usando DHCP, normalmente também obterá servidores de nome como parte da configuração automática. É assim que a maioria dos computadores que conheço obtém seus endereços IP, roteadores e servidores DNS.

Os hosts e servidores com endereços IP fixos exigem que os servidores DNS sejam especificados, se usados. Muitos dos servidores com os quais trabalhei usam servidores DNS locais que não estão disponíveis para usuários na Internet. Eles geralmente servem endereço para hosts e servidores locais. Selecionar servidores de nomes apropriados pode ser crítico para hosts e servidores em uma rede privada.

Estou ciente de alguns dos principais servidores DNS recursivos publicamente acessíveis. Estes são os servidores DNS do Google e os servidores OpenDNs. Acredito que ambos os servidores forneçam alguma proteção contra sites de malware. O OpenDNS fornece vários filtros que podem ser aplicados para restringir o acesso a determinados tipos de sites.

    
por 27.07.2012 / 02:53
2

A hierarquia do DNS foi projetada dessa maneira para limitar o número de consultas enviadas a servidores raiz. existem alguns servidores confiáveis e considerados seguros que fornecem resolução de DNS, como o link , você pode usar o servidor deles se você estiver preocupado com a segurança.

o seu servidor DNS do ISP pode armazenar em cache algumas consultas, respondendo assim a elas mais rapidamente.

    
por 27.07.2012 / 00:37
2

Os servidores de raiz são apenas "codificados" em um servidor que executa uma função de servidor DNS - sua máquina com Windows 7 não teria esses servidores configurados (a menos que esteja servindo como um servidor DNS). É importante distinguir que esses servidores raiz estão programados no mecanismo que atende DNS (BIND, por exemplo) e não no próprio sistema operacional.

Esses servidores DNS fazem referência aos servidores raiz para encontrar servidores autoritativos para o domínio que está sendo pesquisado. Os clientes fazem referência ao servidor DNS programado em seus adaptadores de rede ou arquivos / etc / hosts, e esses servidores fazem referência a servidores raiz.

    
por 27.07.2012 / 00:40