Comando host e um pouco sobre DNS
- Gerar link
- X
- Outros aplicativos
Claro que você já conhece o comando host mas vamos então repassar o que sabemos, pois uma revisão nunca é demais.
Para resolver um nome para um IP:
$ host www.intelligencesoftware.com.br
www.intelligencesoftware.com.br has address 199.36.158.100
Beleza, mas e como ele buscou está informação? Eu tenho um linux aqui e os servidores de DNS ficam armazenados no arquivo "resolv.conf", na prática esse arquivo já não é mais utilizado, isso era usado em versões mais antigas, agora quem gerencia os nameserver é o network manager. Segue o arquivo resolv.conf para exemplificar.
$ cat /etc/resolv.conf
nameserver 127.0.0.53
options edns0 trust-ad
Você podia configurar nameservers (que são dns resolvers) manualmente com as diretivas:
nameserver (IP do servidor)
Mas no meu caso ele está configurado para buscar os nameservers automáticamente por dhcp, rodando este comando ele mostra quem é o meu dns:
$ nmcli device show wlp2s0 | grep IP4.DNS
IP4.DNS[1]: 192.168.1.254
Onde está o wlp2s0 é a interface de rede. Mas e para configurar nameservers estáticos agora? Isso você faz no diretório
/etc/netplan
e editando o arquivo
01-network-manager-all.yaml
, há formas de você editar este arquivo para setar as configurações de rede de forma fixa e aí sim você pode indicar os endereços de dns.
Bom agora sabemos que ao executar o comando host acima ele faz uma consulta utilizando o nameserver configurado na própria máquina de forma fixa ou por dhcp, mas antes disso ele faz outra consulta ele procura por entradas no arquivo
/etc/hosts
neste arquivo você pode inserir suas próprias entradas de dns para resolver nomes locais, segue um exemplo do arquivo:
$ cat /etc/hosts
127.0.0.1 localhost
127.0.1.1 nevermind
192.168.1.64 teste.com
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
Veja que há uma entrada teste.com apontando para 192.168.1.64, essa eu adicionei para fazer testes de uma aplicação web que podia ser acessada apenas com um apontamento de DNS pois ela utilizava virtualhost. Este arquivo /etc/host é uma primeira forma de dns que surgiu, ele está presente no windows também. Ele foi criado pois lembramos melhor nomes do que números e foi a primeira alternativa para traduzir nomes para IPs, porém com o crescimento da rede ficou inviável para cada novo serviço disponibilizado ter que adicionar uma nova entrada no hosts em cada um dos computadores pertencentes à rede foi então que surgiu o sistema de domínios e evoluiu até o que é hoje, assim há uma melhor gerencia de como registrar novos domínios e aplicações.
Ok. Para fazer uma consulta dns é primeiro buscado no arquivo /etc/hosts após ele busca no nameserver que está na máquina seja fixo ou seja por dhcp. E é isso, isso é tudo para que uma consulta dns seja feita. Mas tem mais, e se eu quero indicar um servidor de nomes para a minha consulta, eu utilizo o comando host desta forma:
Using domain server:
Name: 8.8.8.8
Address: 8.8.8.8#53
Aliases:
www.intelligencesoftware.com.br has address 199.36.158.100
Veja que agora ele ao invés de fazer a pergunta para o dns configurado na máquina ele perguntou para o DNS do google, esta resposta quem trouxe foi o DNS do google e não o dns configurado na máquina.
Ok. Mas há outros comandos além do host, há também o nslookup, há o dig, e o dns possui outros tipos de entrada como A, AAAA, NS, MX e outras.
Sim há muito mais sobre DNS mas por enquanto ficamos com isto, nos vemos em um próximo post onde pretendo falar mais sobre outros assuntos e avançar ainda mais com o DNS. vlw!
- Gerar link
- X
- Outros aplicativos
Comentários
Postar um comentário