Escolar Documentos
Profissional Documentos
Cultura Documentos
Conhecer o DNS e o
DHCP
Introdução
Gerenciar o DNS e o DHCP é uma tarefa comum para administradores de sistema.
Em empresas de grande porte, isso pode ser feito com programas complexos e até
contar com uma equipe especializada. Em redes menores, é possível que você seja a
única pessoa responsável por todos esses serviços. Nesse caso, convém usar uma
solução simples, como o dnsmasq.
Neste laboratório, vamos usar vários comandos do Linux que foram explicados
durante o Curso 3. Veja um lembrete do que eles fazem:
O cenário
Atualmente, quase todo o intervalo do DHCP é usado para exibir IPs dinâmicos.
Vários servidores serão adicionados à rede e precisam ser configurados com IPs
conhecidos.
Configuração da rede
Como você respeita a regra de nunca testar no ambiente de produção, primeiro fará
as mudanças necessárias em uma máquina que simula a rede. Não teste os
comandos no servidor DNS real.
Além disso, temos outra interface de rede virtual. Ela vai ser usada para simular um
cliente que se comunica com o servidor e solicita tráfego DNS ou DHCP. Essa
interface se chama eth_cli. Para ver o estado dela, use um comando equivalente
ao exemplo acima:
Configuração atual
cat /etc/dnsmasq.d/mycompany.conf
Copiado.
content_copy
# É nesta interface que o servidor DHCP vai detectar o que for
necessário.
interface=eth_srv
Observação: se você receber um prompt do tipo lines 1-18/18 (END), role a tela
para a direita para mostrar a parte da saída que não está visível no momento.
Pressione q para sair dessa visualização.
log-queries
log-facility=/var/log/dnsmasq.log
Depois de fazer isso, pressione "Ctrl-X" para sair do editor. Ele vai perguntar se você
quer salvar as alterações. Pressione "Y" para responder que sim, depois aperte
"Enter" quando ele pedir o nome de arquivo.
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;example.com. IN A
;; ANSWER SECTION:
example.com. 21599 IN A 93.184.216.34
Agora vamos analisar os registros de depuração gravados pelo dnsmasq para ver a
resposta sobre a consulta:
sudo tail /var/log/dnsmasq.log
Copiado.
content_copy
Aug 11 10:52:25 dnsmasq[1217]: query[A] example.com from 127.0.0.1
Aug 11 10:52:25 dnsmasq[1217]: forwarded example.com to 169.254.169.254
Aug 11 10:52:25 dnsmasq[1217]: reply example.com is 93.184.216.34
Isso indica que ele encaminhou a solicitação para outro servidor DNS. Esse é o
comportamento normal de um serviço de DNS com armazenamento em cache como
o dnsmasq. Vamos ver o que acontece ao fazer a mesma solicitação outra vez.
Execute o mesmo comando dig. Dica: pressione a seta para cima para não ter que
digitar o comando novamente.
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;example.com. IN A
;; ANSWER SECTION:
example.com. 21482 IN A 93.184.216.34
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;example.local. IN A
;; AUTHORITY SECTION:
. 86399 IN SOA a.root-servers.net.
nstld.verisign-grs.com. 2021081100 1800 900 604800 86400
Listening on LPF/eth_cli/aa:fd:16:47:4a:cf
Sending on LPF/eth_cli/aa:fd:16:47:4a:cf
Sending on Socket/fallback
Created duid "\000\001\000\001(\246i\245\252\375\026GJ\317".
DHCPDISCOVER on eth_cli to 255.255.255.255 port 67 interval 6
DHCPOFFER of 192.168.1.142 from 192.168.1.1
DHCPREQUEST for 192.168.1.142 on eth_cli to 255.255.255.255 port 67
DHCPACK of 192.168.1.142 from 192.168.1.1
Received variables:
Hostname: afcdeabc7bc3
IP address: 192.168.1.142
Network: 192.168.1.0
Netmask: 255.255.255.0
Router: 192.168.1.1
Domain Name: mycompany.local
DNS server: 192.168.1.1
bound to 192.168.1.142 -- renewal in 39980 seconds.
O script de depuração transmitido com o parâmetro -sf faz com que, em vez de
modificar todas as configurações de rede desta máquina, possamos ver as
informações recebidas do servidor.
Além disso, ele sabe que a máquina com o endereço MAC eth_cli se chama linux-
instance. O domínio da rede está definido como mycompany.local. Isso significa
que é possível consultar o endereço IP de linux-
instance.mycompany.local para ver o endereço recebido pelo DHCP:
• aa:bb:cc:dd:ee:b2 - 192.168.1.2
• aa:bb:cc:dd:ee:c3 - 192.168.1.3
• aa:bb:cc:dd:ee:d4 - 192.168.1.4
Além disso, sabemos que será preciso configurar mais servidores no futuro. Por
isso, deixe os primeiros 20 endereços IP fora do intervalo dinâmico.
dhcp-host=aa:bb:cc:dd:ee:b2,192.168.1.2
dhcp-host=aa:bb:cc:dd:ee:c3,192.168.1.3
dhcp-host=aa:bb:cc:dd:ee:d4,192.168.1.4
Copiado.
content_copy
Para editar a configuração novamente, interrompa o servidor usando o comando
service.
dhcp-host=aa:bb:cc:dd:ee:b2,192.168.1.2
dhcp-host=aa:bb:cc:dd:ee:c3,192.168.1.3
dhcp-host=aa:bb:cc:dd:ee:d4,192.168.1.4
log-queries
log-facility=/var/log/dnsmasq.log
Depois de fazer isso, pressione "Ctrl-X" para sair do editor. Ele vai perguntar se você
quer salvar as alterações. Pressione "Y" para responder que sim, depois aperte
"Enter" quando ele pedir o nome de arquivo.
Importante: não mude o endereço MAC das máquinas reais da rede, porque isso
pode causar vários problemas de rede difíceis de depurar. Só é possível usar essa
técnica no laboratório porque esta é uma simulação de teste.
Listening on LPF/eth_cli/aa:bb:cc:dd:ee:c3
Sending on LPF/eth_cli/aa:bb:cc:dd:ee:c3
Sending on Socket/fallback
DHCPREQUEST for 192.168.1.142 on eth_cli to 255.255.255.255 port 67
DHCPREQUEST for 192.168.1.142 on eth_cli to 255.255.255.255 port 67
DHCPDISCOVER on eth_cli to 255.255.255.255 port 67 interval 4
DHCPOFFER of 192.168.1.3 from 192.168.1.1
DHCPREQUEST for 192.168.1.3 on eth_cli to 255.255.255.255 port 67
DHCPACK of 192.168.1.3 from 192.168.1.1
Received variables:
Hostname: afcdeabc7bc3
IP address: 192.168.1.3
Network: 192.168.1.0
Netmask: 255.255.255.0
Router: 192.168.1.1
Domain Name: mycompany.local
DNS server: 192.168.1.1
bound to 192.168.1.3 -- renewal in 8244 seconds.
Neste caso, o cliente primeiro tentou solicitar o mesmo endereço IP de antes (as
linhas DHCPREQUEST), mas não recebeu resposta. Por fim, ele tentou conseguir um
novo endereço com DHCPDISCOVER e recebeu uma resposta com o endereço
desejado.
Conclusão
Parabéns! Você fez testes com consultas DNS e modificou a configuração de um
servidor DHCP.
Essa não foi uma tarefa fácil. Você colocou em prática tudo o que sabe sobre
gerenciamento de serviços, além do seu conhecimento de redes. Ótimo!