Entendendo TCP/IP (Parte 3) - Resolução de nomes

Neste terceiro artigo sobre TCP/IP, vou descrever o processo de resolução de nomes. Mostrarei como configurar
o cliente DNS, bem como a diferença entre nomes Netbios e DNS. Após entendidos os conceitos, passarei a falar
sobre o DNS Server, desde o registro um domínio na Fapesp até a configurações do Bind9, passando pelas
zonas de transferência e questões de segurança.

[ Hits: 40.600 ]

Por: Ricardo Lino Olonca em 07/05/2011


Introdução ao conceito de resolução de nomes



Como vimos em meu segundo artigo, a comunicação através de uma rede TCP/IP, como a Internet, é feita através dos endereços IP.

No começo da Internet, no início dos anos 70, era relativamente fácil decorar a dúzia de endereços IP usados na rede. Mas a medida que esta foi crescendo, isso se tornou impraticável. Foi necessário criar uma forma de associar os IP a algo mais fácil de decorar. A idéia inicial foi criar um arquivo que tivesse todos os ips usados na rede associados a um nome. Este arquivo era então replicado entre as máquinas da Internet. É mais fácil decorar um nome, como por exemplo www.vivaolinux.com.br, do que o seu IP, 174.123.53.162. Este arquivo é o /etc/hosts.

O arquivo /etc/hosts contém uma estrutura bem simples. Do lado esquerdo estão os IPs, e do lado direito os nomes, como no exemplo abaixo.

# cat /etc/hosts

172.20.16.60 olonca
127.0.0.1 localhost.localdomain localhost
127.0.1.1 olonca
172.20.1.14 intranet.minhaempresa.com.br

Você pode editar esse arquivo como quiser. Por exemplo, adicionando-se no arquivo /etc/hosts a linha abaixo:

174.123.53.162 vivaolinux www.olinuxeomaximo.com.br

Fará com que o IP do site www.vivaolinux.com.br responda pelo nomes vivaolinux e www.olinuxeomaximo.com.br.

# ping -c 1 vivaolinux

Resposta:

PING vivaolinux (174.123.53.162) 56(84) bytes of data.
64 bytes from vivaolinux (174.123.53.162): icmp_req=1 ttl=49 time=151 ms

--- vivaolinux ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 151.889/151.889/151.889/0.000 ms

# ping -c 1 www.olinuxeomaximo.com.br

Resposta:

PING www.olinuxeomaximo.com.br (174.123.53.162) 56(84) bytes of data.
64 bytes from vivaolinux (174.123.53.162): icmp_req=1 ttl=49 time=151 ms

--- www.olinuxeomaximo.com.br ping statistics ---
rtt min/avg/max/mdev = 151.976/151.976/151.976/0.000 ms

Com o passar o tempo, o arquivo hosts ficou grande demais. Ficou inviável replicá-lo para todas as máquinas a todo instante. Se esse esquema tivesse permanecido, em 2008 o arquivo hosts teria mais de 150.000.00 de linhas, segundo o Netcrafft.

Foi necessário criar um novo mecanismo de resolução de nomes e em novembro de 1987 foram criadas as especificações do Domain Name System (DNS) através da RFC 1035.

Vamos ver como o DNS funciona.
    Próxima página

Páginas do artigo
   1. Introdução ao conceito de resolução de nomes
   2. Funcionamento do DNS
   3. Comandos úteis
   4. Nomes Netbios X nomes DNS
   5. Considerações finais
Outros artigos deste autor

MooseFS - Sistema de arquivos distribuído

Deduplicação com LessFS

Entendendo TCP/IP (parte 2) - Endereços IP

O fim está próximo

Problemas encontrados na adoção do IPv6

Leitura recomendada

Apt-mirror: Como criar um mirror para o Ubuntu 9.04

Navegando anônimo na internet

Anon-Proxy no Debian Lenny

Experiencias de um viajante - binômio sidux/Ceni novamente destaque

VNC + Hamachi

  
Comentários
[1] Comentário enviado por julio_hoffimann em 07/05/2011 - 18:51h

Oi Ricardo, parabéns!

É muita informação! Obrigado por explicar de maneira didática todos esses conceitos. A série como um todo já está nos meus favoritos. ;-)

Abraço!

[2] Comentário enviado por embura em 28/02/2012 - 13:38h

para usar esses comandos no fedora precisa do pacote bind-utils.

[3] Comentário enviado por sk4d1nh4 em 04/06/2013 - 11:07h

Só uma observação...
Configuramos dois ou mais servidores DNS para consulta para o caso de indisponibilidade de um o outro ser consultado.
O texto informa que se o primeiro nao conseguir resolver o nome ele passa para o segundo e nao funciona bem assim. O segundo servidor só é consultado se o primeiro não estiver disponível. Mas se o primeiro já responder que não conseguiu resolver o nome o erro já é retornado para o sistema operacional.

[4] Comentário enviado por ricardoolonca em 06/06/2013 - 10:17h

Você está correto, sk4d1nh4. É isso mesmo. Um segundo dns só será usado se o primeiro não responder. Se o primeiro responder mas não conseguir resolver o nome, o segundo dns não será usado e uma mensagem de erro será exibida.

Obrigado pela correção.


[5] Comentário enviado por removido em 20/02/2017 - 00:17h

Olá Ricardo.

Apenas uma informação para somar com o conteúdo. você escreveu no artigo que o Linux só consegue fazer até o passo 4 descrito na paǵina 4. Mas se for configurado, ele pode sim fazer os outros passos até a resolução de nomes NetBIOS utilizando o servidor Wins.

Basta configurar o arquivo /etc/nsswitch.conf e incluir uma nova base de dados que será consultada para resolução de nomes, nesse caso o WINS. é lógico que deve existir um servidor wins e o servidor linux deve ter o samba configurado e instalado, além do winbind instalado.

[6] Comentário enviado por ricardoolonca em 20/02/2017 - 10:00h


[5] Comentário enviado por eabreu em 20/02/2017 - 00:17h

Olá Ricardo.

Apenas uma informação para somar com o conteúdo. você escreveu no artigo que o Linux só consegue fazer até o passo 4 descrito na paǵina 4. Mas se for configurado, ele pode sim fazer os outros passos até a resolução de nomes NetBIOS utilizando o servidor Wins.

Basta configurar o arquivo /etc/nsswitch.conf e incluir uma nova base de dados que será consultada para resolução de nomes, nesse caso o WINS. é lógico que deve existir um servidor wins e o servidor linux deve ter o samba configurado e instalado, além do winbind instalado.


Correto. Obrigado pela informação, eabreu. É que geralmente isso não vem configurado por padrão.


Contribuir com comentário