Você está na página 1de 4

Pgina 1 de 4

micro HOW TO DHCPD + BIND Rafael V. Aroca - rva@grad.icmc.sc.usp.br Thu May 2 15:20:25 BRT 2002

DNS Dinmico

Introduo
Este documento explica de forma rpida e prtica como configurar um servidor para oferecer DNS dinmico. Este tipo de servio, trabalha em conjunto com o DHCP, de forma que quando uma mquina ligada, ou solicita ao servidor de DHCP um IP e os dados da rede, esta mquina automaticamente adicionada ao DNS. Isto torna-se bem prtico na hora de configurar e adicionar novas mquinas na rede. O funcionamento o seguinte: 1) Mquina solicita IP e configuraes da rede por DHCP devido a interveno de usurio ou boot 2) Servidor de dhcp (dhcpd) entrega os dados 3) Servidor de dhcp manda uma mensagem ao servidor de DNS (named) pedindo para atualizar os dados do dominio

Requisitos
Estes testes foram feitos numa mquina rodando Slackware 8.0, sendo que tanto no Slack quanto em outras distribuies foi necessrio atualizar o dhcp, enquanto que a verso do bind (bind=named) que vem j suficiente. dhcp: 3.0.1rc8 named: 9.1.2 Ambos so desenvolvidos pela Internet Software Consortium, e podem ser obtidos atravs do site http://www.isc.org/ ou de pacotes para sua distro preferida. O named e o dhcpd rodam na mesma mquina, embora isto no seja necessrio. O nome da mquina unit0, e o domnio que estamos configurando chama-se acqua.

Configurao
Para configurar precisaremos criar uma chave que autentica o dhcpd no named. Para tal execute o seguinte comando: # dnssec-keygen -a HMAC-MD5 -b 128 -n USER DHCP_UPDATER Aps rodar este comando ser criado um arquivo com a chave que utilizaremos: # cat KDHCP_UPDATER.+157+47818.key

http://mail.grad.icmc.usp.br/~rva/doc/ddns.html

27/04/03

Pgina 2 de 4

DHCP_UPDATER. IN KEY 0 2 157 2MXOy+MWw4zal3u3000XiA== Com isto, apenas o servidor que tiver a chave poder fazer alteraes no servidor de DNS.

Configurao do dhcpd
Para explicar, nada melhor do que um arquivo de configurao que funciona comentado: vi /etc/dhcpd.conf #Configuraes para DNS dinmico server-identifier unit0.acqua; option domain-name "acqua"; ddns-update-style interim; ddns-domainname acqua; #Para fins de segurana ao atualizar DNS key DHCP_UPDATER { algorithm HMAC-MD5.SIG-ALG.REG.INT; secret 2MXOy+MWw4zal3u3000XiA==; }; #Para atualizao automtica do dominio acqua zone acqua { primary 192.168.1.1; key DHCP_UPDATER; } #Para atualizao automtica do reverso zone 1.168.192.in-addr.arpa { primary 192.168.1.1; key DHCP_UPDATER; } use-host-decl-names on; #Configuraes j conhecidas do dhcpd.conf option domain-name-servers 192.168.1.1, 200.204.0.10, 200.231.25.52; option subnet-mask 255.255.255.0; default-lease-time 600; max-lease-time 7200; subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.5 192.168.1.200; option broadcast-address 192.168.1.255; option routers 192.168.1.1; } #Outras diretivas de configurao

http://mail.grad.icmc.usp.br/~rva/doc/ddns.html

27/04/03

Pgina 3 de 4

Feito isto, basta rodar o dhcpd: #dhcpd

Configurao do named
O named foi instalado e feita uma configurao bsica, com apenas uma entrada no dns para unit0 para que o servio pudesse comear rodar corretamente. vi /etc/named.conf options { directory "/var/named"; version "x.y.z"; forwarders { 200.204.0.10; //dns oficial telefonica 1 200.204.0.138; //dns oficial telefonica 2 200.231.25.52; //dns oficial Linkway (provedor da acqua) }; listen-on { 192.168.1.1; 127.0.0.1; }; allow-query { 192.168.1.0/24; };

};

#Aceitar updates de quem tiver esta chave key DHCP_UPDATER { algorithm HMAC-MD5.SIG-ALG.REG.INT; secret 2MXOy+MWw4zal3u3000XiA==; }; zone "acqua" IN { type master; allow-update { key DHCP_UPDATER; 192.168.1.1; }; file "acqua"; notify no; }; zone "1.168.192.in-addr.arpa" IN { type master; allow-update { key DHCP_UPDATER; 192.168.1.1; }; file "acqua.rev"; notify no; };

Contedo de /var/named:

http://mail.grad.icmc.usp.br/~rva/doc/ddns.html

27/04/03

Pgina 4 de 4

acqua.rev: $ORIGIN . $TTL 86400 ; 1 day 1.168.192.in-addr.arpa IN SOA unit0.acqua. root.unit0.acqua. ( 2002050248 ; serial 3600 ; refresh (1 hour) 900 ; retry (15 minutes) 1209600 ; expire (2 weeks) 43200 ; minimum (12 hours) ) NS unit0.acqua. $ORIGIN 1.168.192.in-addr.arpa. 1 PTR unit0.acqua. acqua: $ORIGIN . $TTL 86400 acqua

; 1 day IN SOA unit0.acqua. root.unit0.acqua. ( 2002020575 ; serial 3600 ; refresh (1 hour) 900 ; retry (15 minutes) 1209600 ; expire (2 weeks) 43200 ; minimum (12 hours) ) NS unit0.acqua. MX 5 unit0. $ORIGIN acqua. unit0 A 192.168.1.1 Pronto! Com estes dois arquivos bsicos, a coisa j comea a funcinar. interessante notar, que as atualizaes de DNS so feitas primeira para um arquivo de journal (*.jnl), e depois descarregadas para os arquivos que contem o banco de dados de DNS. Se vc ver o conteudo destes arquivos depois de um tempo ter o prazer de ver todas mquinas que entraram na rede por dhcp la listadas.

http://mail.grad.icmc.usp.br/~rva/doc/ddns.html

27/04/03