Pular para o conteúdo

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.
Ricardo Lino Olonca ricardoolonca
Hits: 44.455 Categoria: Linux Subcategoria: Internet
  • Indicar
  • Impressora
  • Denunciar

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.
   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

Deduplicação com LessFS

O fim está próximo

Entendendo o TCP/IP

Problemas encontrados na adoção do IPv6

Entendendo TCP/IP (Parte 6) - Firewall

Configurando um domínio pelo serviço ipturbo empresarial (Brasil Telecom)

Apache 2 para Debian

MSN-Proxy no Debian Etch

DHCP e BIND9 - Se entendendo via Dynamic DNS

Linux em Router Wireless (WRT54G Vs OpenWrt)

#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

Entre na sua conta para comentar.