DHCP e BIND9 - Se entendendo via Dynamic DNS

Como fazer as máquinas de sua rede DHCP terem seus nomes alocados dinamicamente no seu DNS interno? Usando o ISC DHCPv3 e o BIND9 iremos fazer estes dois serviços monstros (no bom sentido) se entenderem. :-)

[ Hits: 172.872 ]

Por: Frederico Costa em 17/05/2004


Introdução



Neste artigo iremos configurar um servidor de DHCP e DNS para que estes dois serviços se comuniquem e possam estabelecer um DNS dinâmico.

Apesar do artigo colocar os dois serviços no mesmo equipamento, a sua configuração pode facilmente ser alterada para que estes serviços estejam em máquinas diferentes.

    Próxima página

Páginas do artigo
   1. Introdução
   2. Requisitos e instalação dos pacotes
   3. Configuração do DHCP
   4. Configuração do BIND9
   5. Testes e referências
Outros artigos deste autor

SSH: Autenticando através de chaves

Leitura recomendada

Apache 2 + mod_perl 2.0.1

Mozilla Firefox: um guia de instalação para iniciantes

Criando relatórios estatísticos da web com o awstats

255.255.255.0: A matemática das máscaras de rede

Canal IRC do VOL - Participe você também!

  
Comentários
[1] Comentário enviado por naoexistemais em 17/05/2004 - 01:27h

òtimo artigo, um detalhe para quem tem rede mista, teve uma vez que montei um DHCP no Linux e DNS erá Windows 2000 (devido o AD) e nessa rede tmb tinha um servidor proxy com autenticação via LDAP.

Parece ser algo de outro mundo, mas funciona é trabalhoso..

Parabens pelo artigo.

Até,

[2] Comentário enviado por fabio em 17/05/2004 - 01:49h

Fred, uma dúvida básica:

Configurei o servidor DHCP e DNS em 10.4.0.1, minha rede local responde por escritorio.uau e tenho um ponto de rede com a seguinte configuração de interface de rede (/etc/network/interfaces):

---
iface eth0 inet dhcp
hostname kajuru
---

Preciso criar uma entrada para kajuru,escritorio.uau associado a determinado IP ou o próprio cliente DHCP ao informar seu hostname já faz com que o servidor crie dinamicamente uma entrada:

kajuru.escritorio.uau -> 10.4.0.x

Pergunto isso porque fiz essa configuração e em nenhum momento está rolando um update na zona configurada no dhcpd.conf. Até removi o "key" para me certificar de que não era erro de chave.

[]'s

[3] Comentário enviado por fredcosta em 17/05/2004 - 03:42h

Fábio,

O próprio DHCP se encarrega de se comunicar com o DNS e registrar o nome e o reverso. Veja no teste (pagina 5) como esta comunicação é registrada.

Se quiser me mande os seus arquivos .conf e um extrato do syslog que dou uma olhada.

Cheers,

Frederico

[4] Comentário enviado por alphainfo em 17/05/2004 - 11:55h

Ei fredcosta, blx?

Aqui, será que esse procedimento consegue substituir aqueles serviços de DNS dinâmico na WEB, como o DynDNS???

[]'s

Daniel

[5] Comentário enviado por fredcosta em 24/05/2004 - 20:37h

Adendo/Errata
-----------------

Pessoal,
Após adicionar uma chave ao Bind, este pede que o rndc, o programa de controle de seus processos, também seja configurado para utilizar esta chave!
para fazer etsa configuração é rapido e rasteiro! Siga os passos abaixo:

1) crie o arquivo /etc/rndc.conf com o conteúdo abaixo:
####
key mykey {
algorithm hmac-md5;
secret "<segredo>";
};
options {
default-server 127.0.0.1;
default-key mykey;
};
####
aonde segredo é o secret que voce definiu no arquivo /etc/bind/named.conf

2) no scritp de inicialização do serviço (/etc/init.d/bind9), crie uma variavel (logo abaixo de OPTS) logo no início da seguinte maneira:

RNDC_OPTS="-c /etc/rndc.conf"

depois, em todas as linhas em que aparecer a chamada /usr/sbin/rndc, coloque $RNDC_OPTS antes do primeiro parâmetro. Por exemplo:

/usr/sbin/rndc $RNDC_OPTS stop

Pronto! Agora está tudo rodando certinho...

Desculpem pela bobeada... ;-)

Shit happens!!!!


[6] Comentário enviado por pedromanoel em 16/07/2004 - 03:39h

Duvidas fredcosta, segui seu artigo de cabo a rabo mas o bind9 esta lento para fazer o restart e aparece a mensagem de erro a seguir namedrndc:connect failed: timed out isso no stop e ai o start vai rapido e sem mensagem de erros o que poderia fazer para arrumar uso o Debian com kernel 2.4.18

[7] Comentário enviado por fredcosta em 16/07/2004 - 14:51h

Pedro,

se você seguiu os passos corretamente (inclusive do meu ultimo comentário, exatamente sobre colocar a chaveno rndc).

Se puder mande seus arquivos de configuração para eu poder analisar... :-)

[]ao

[8] Comentário enviado por eduardok em 04/10/2004 - 10:27h

E ai Frederico Blz?
Cara tira uma dúvida minha, quando eu gera as chaves elas tem que ficar aonde? no /etc ou no /var/named?

Valeu

[9] Comentário enviado por fredcosta em 07/10/2004 - 14:40h

Eduardo,

Você pode criá-lo em qualquer diretório, desde que o named.conf aponte corretamente para ele... ok?

[]ao

Frederico

[10] Comentário enviado por jclinux em 31/12/2004 - 01:57h

E ai, tudo bem?
Segue passo a passo, só que qdo uma estação pede IP acontece o seguinte no syslog:

Dec 31 01:30:08 NEO kernel: eth0: Media Link Off
Dec 31 01:30:22 NEO kernel: NETDEV WATCHDOG: eth0: transmit timed out
Dec 31 01:30:22 NEO kernel: eth0: Transmit timeout, status 00000004 00000000
Dec 31 01:30:23 NEO kernel: eth0: Media Link On 100mbps full-duplex
Dec 31 01:30:23 NEO named[9621]: client 192.168.1.1#33366: update 'LINUX/IN' denied
Dec 31 01:30:23 NEO dhcpd: Unable to add forward map from rzanatta.LINUX to 192.168.1.90: timed out
Dec 31 01:30:23 NEO dhcpd: DHCPREQUEST for 192.168.1.90 from 00:0b:cd:ec:10:5d (rzanatta) via eth0
Dec 31 01:30:23 NEO dhcpd: DHCPACK on 192.168.1.90 to 00:0b:cd:ec:10:5d (rzanatta) via eth0

oq pode ser ?

[11] Comentário enviado por adrianoc em 25/01/2005 - 17:33h

segui este artigo de cabo a rabo, ná fussei em tudo que eu podia.
estrou tendo problemas com o arquivo .jnl não consigo resolver.

Jan 25 17:32:15 ptbh-deb named[13481]: client 127.0.0.1#1812: updating zone 'ptbh.net.br/IN': adding an RR
Jan 25 17:32:15 ptbh-deb named[13481]: client 127.0.0.1#1812: updating zone 'ptbh.net.br/IN': adding an RR
Jan 25 17:32:15 ptbh-deb named[13481]: journal file /etc/bind/ptbh.db.jnl does not exist, creating it
Jan 25 17:32:15 ptbh-deb named[13481]: /etc/bind/ptbh.db.jnl: create: permission denied
Jan 25 17:32:15 ptbh-deb named[13481]: client 127.0.0.1#1812: updating zone 'ptbh.net.br/IN': error: journal open failed: un$
Jan 25 17:32:15 ptbh-deb dhcpd: Unable to add forward map from ptbh-f.ptbh.net.br to 13.13.13.16: timed out
Jan 25 17:32:15 ptbh-deb dhcpd: DHCPREQUEST for 13.13.13.16 from 00:0b:cd:bb:99:41 (ptbh-f) via eth1
Jan 25 17:32:15 ptbh-deb dhcpd: DHCPACK on 13.13.13.16 to 00:0b:cd:bb:99:41 (ptbh-f) via eth1

[12] Comentário enviado por fredcosta em 26/01/2005 - 11:50h

Adriano,

Me parece que está havendo um problema de permissão de escrita, leia bem esta mensagem:

Jan 25 17:32:15 ptbh-deb named[13481]: /etc/bind/ptbh.db.jnl: create: permission denied

Verifique se o diretório /etc/bind tem como dono o mesmo usuário que o bind está sendo executado (geralmente "bind" - no debian - ou "named").

[]s

[13] Comentário enviado por rbn_jesus em 26/01/2005 - 19:55h

#log cliente linux
Jan 26 19:41:19 server09 dhcpd: DHCPNAK on 172.16.0.59 to 00:07:95:fa:3d:93 via eth0
Jan 26 19:41:19 server09 dhcpd: DHCPDISCOVER from 00:07:95:fa:3d:93 via eth0
Jan 26 19:41:20 server09 dhcpd: DHCPOFFER on 192.168.9.8 to 00:07:95:fa:3d:93 via eth0
Jan 26 19:41:20 server09 dhcpd: DHCPREQUEST for 192.168.9.8 (172.16.9.200) from 00:07:95:fa:3d:93 via eth0
Jan 26 19:41:20 server09 dhcpd: DHCPACK on 192.168.9.8 to 00:07:95:fa:3d:93 via eth0

#Log cliente winxp
Jan 26 19:11:59 server09 dhcpd: DHCPDISCOVER from 00:07:95:2d:9a:f8 via eth0
Jan 26 19:11:59 server09 dhcpd: DHCPOFFER on 192.168.9.5 to 00:07:95:2d:9a:f8 (XP02) via eth0
Jan 26 19:11:59 server09 named[5598]: client 192.168.9.200#32841: updating zone '9.168.192.in-addr.arpa/IN': deleting an rrset
Jan 26 19:11:59 server09 named[5598]: client 192.168.9.200#32841: updating zone '9.168.192.in-addr.arpa/IN': adding an RR
Jan 26 19:11:59 server09 dhcpd: added reverse map from 5.9.168.192.in-addr.arpa. to XP02.cpd09.Eib
Jan 26 19:11:59 server09 dhcpd: DHCPREQUEST for 192.168.9.5 (172.16.9.200) from 00:07:95:2d:9a:f8 (XP02) via eth0
Jan 26 19:11:59 server09 dhcpd: DHCPACK on 192.168.9.5 to 00:07:95:2d:9a:f8 (XP02) via eth0


#dhcpd.leases fedora
lease 192.168.9.8 {
starts 3 2005/01/26 21:41:20;
ends 4 2005/01/27 03:41:20;
binding state active;
next binding state free;
hardware ethernet 00:07:95:fa:3d:93;
}

#dhcpd.leases winxp
lease 192.168.9.5 {
starts 3 2005/01/26 21:42:28;
ends 4 2005/01/27 03:42:28;
binding state active;
next binding state free;
hardware ethernet 00:07:95:2d:9a:f8;
uid "{COMENTARIO}01{COMENTARIO}00{COMENTARIO}07\225-\232\370";
set ddns-rev-name = "5.9.168.192.in-addr.arpa.";
set ddns-client-fqdn = "XP02.cpd09.Eib";
client-hostname "XP02";
}

Quando conecto uma maquina linux(Fedora), o servidor nao recebe as informações do hostname. Somente quando conecto clientes winxp.

Necessito realizar alguma configuração no cliente para funcionar o dns dinâmico?

[14] Comentário enviado por fredcosta em 27/01/2005 - 00:19h

Caro Ricardo,

No Linux, de uma olhada no arquivo /etc/dhclient.conf e descomente (alterando) a linha:

#send host-name "blahblah";

para algo como

send host-name "estacao-ricardo";

e reinicie suas interfaces de rede.

O Default do dhclient é não vir configurado.

Abs,

Frederico

[15] Comentário enviado por mselecto em 29/04/2005 - 15:21h

Frederico,

Primeiramente parabéns pelo artigo, ta sendo de muito proveito para mim.
Observou algum problema com clientes Windows 2000, Com Win XP e Win 98 tudo funcionou. Com o Windows 2000 não funciona, veja o linhas no syslog:


log quando windows 2k renova o ip:

Apr 29 11:44:14 SW_SEC dhcpd: DHCPDISCOVER from 00:50:bf:5c:85:45 via eth0
Apr 29 11:44:15 SW_SEC dhcpd: DHCPOFFER on 10.100.1.173 to 00:50:bf:5c:85:45 (suporte) via eth0
Apr 29 11:44:19 SW_SEC dhcpd: DHCPDISCOVER from 00:50:bf:5c:85:45 (suporte) via eth0
Apr 29 11:44:19 SW_SEC dhcpd: DHCPOFFER on 10.100.1.173 to 00:50:bf:5c:85:45 (suporte) via eth0
Apr 29 11:44:27 SW_SEC dhcpd: DHCPDISCOVER from 00:50:bf:5c:85:45 (suporte) via eth0
Apr 29 11:44:27 SW_SEC dhcpd: DHCPOFFER on 10.100.1.173 to 00:50:bf:5c:85:45 (suporte) via eth0
Apr 29 11:44:27 SW_SEC dhcpd: delete IN PTR 173.1.100.10.in-addr.arpa. add 21600 IN PTR 173.1.100.10.in-addr.arpa. suporte.intranet.sw: timed out.
Apr 29 11:44:27 SW_SEC dhcpd: DHCPREQUEST for 10.100.1.173 (10.100.1.9) from 00:50:bf:5c:85:45 (suporte) via eth0
Apr 29 11:44:27 SW_SEC dhcpd: DHCPACK on 10.100.1.173 to 00:50:bf:5c:85:45 (suporte) via eth0
Apr 29 11:44:29 SW_SEC dhcpd: delete IN PTR 173.1.100.10.in-addr.arpa. add 21600 IN PTR 173.1.100.10.in-addr.arpa. suporte.intranet.sw: timed out.
Apr 29 11:44:29 SW_SEC dhcpd: DHCPREQUEST for 10.100.1.173 from 00:50:bf:5c:85:45 (suporte) via eth0
Apr 29 11:44:29 SW_SEC dhcpd: DHCPACK on 10.100.1.173 to 00:50:bf:5c:85:45 (suporte) via eth0
Apr 29 11:51:20 SW_SEC dhcpd: delete IN PTR 173.1.100.10.in-addr.arpa. add 21600 IN PTR 173.1.100.10.in-addr.arpa. suporte.intranet.sw: timed out.
Apr 29 11:51:20 SW_SEC dhcpd: DHCPREQUEST for 10.100.1.173 from 00:50:bf:5c:85:45 (suporte) via eth0
Apr 29 11:51:20 SW_SEC dhcpd: DHCPACK on 10.100.1.173 to 00:50:bf:5c:85:45 (suporte) via eth0
Apr 29 11:54:56 SW_SEC dhcpd: delete IN PTR 173.1.100.10.in-addr.arpa. add 21600 IN PTR 173.1.100.10.in-addr.arpa. suporte.intranet.sw: timed out.
Apr 29 11:54:56 SW_SEC dhcpd: DHCPREQUEST for 10.100.1.173 from 00:50:bf:5c:85:45 (suporte) via eth0
Apr 29 11:54:56 SW_SEC dhcpd: DHCPACK on 10.100.1.173 to 00:50:bf:5c:85:45 (suporte) via eth0
Apr 29 11:55:13 SW_SEC dhcpd: delete IN PTR 173.1.100.10.in-addr.arpa. add 21600 IN PTR 173.1.100.10.in-addr.arpa. suporte.intranet.sw: timed out.
Apr 29 11:55:13 SW_SEC dhcpd: DHCPREQUEST for 10.100.1.173 from 00:50:bf:5c:85:45 (suporte) via eth0
Apr 29 11:55:13 SW_SEC dhcpd: DHCPACK on 10.100.1.173 to 00:50:bf:5c:85:45 (suporte) via eth0
Apr 29 12:03:19 SW_SEC dhcpd: delete IN PTR 173.1.100.10.in-addr.arpa. add 21600 IN PTR 173.1.100.10.in-addr.arpa. suporte.intranet.sw: timed out.
Apr 29 12:03:19 SW_SEC dhcpd: DHCPREQUEST for 10.100.1.173 from 00:50:bf:5c:85:45 (suporte) via eth0
Apr 29 12:03:19 SW_SEC dhcpd: DHCPACK on 10.100.1.173 to 00:50:bf:5c:85:45 (suporte) via eth0


Obs.: Com o Cliente do Win 2k não vejo ele tentando o registro no DNS direto e somente no reverso... não entendi...


log quando windows 98 SE renova ip:

Apr 29 11:32:53 SW_SEC dhcpd: DHCPDISCOVER from 00:a0:0c:4f:dc:94 via eth0
Apr 29 11:32:54 SW_SEC dhcpd: DHCPOFFER on 10.100.1.172 to 00:a0:0c:4f:dc:94 (portatil) via eth0
Apr 29 11:32:54 SW_SEC named[3901]: client 10.100.1.9#1045: updating zone 'intranet.sw/IN': update failed: 'name not in use' prerequisite not satisfied (YXDOMAIN)
Apr 29 11:32:54 SW_SEC dhcpd: if IN A portatil.intranet.sw domain doesn't exist add 21600 IN A portatil.intranet.sw 10.100.1.172 add 21600 IN TXT portatil.intranet.sw "31edf29f41d965973ddaf8476e56ce0b5e": domain already exists.
Apr 29 11:32:54 SW_SEC named[3901]: client 10.100.1.9#1045: updating zone 'intranet.sw/IN': deleting an rrset
Apr 29 11:32:54 SW_SEC named[3901]: client 10.100.1.9#1045: updating zone 'intranet.sw/IN': adding an RR
Apr 29 11:32:54 SW_SEC dhcpd: if IN TXT portatil.intranet.sw "31edf29f41d965973ddaf8476e56ce0b5e" rrset exists delete IN A portatil.intranet.sw add 21600 IN A portatil.intranet.sw 10.100.1.172: success.
Apr 29 11:32:54 SW_SEC dhcpd: delete IN PTR 172.1.100.10.in-addr.arpa. add 21600 IN PTR 172.1.100.10.in-addr.arpa. portatil.intranet.sw: timed out.
Apr 29 11:32:54 SW_SEC dhcpd: DHCPREQUEST for 10.100.1.172 (10.100.1.9) from 00:a0:0c:4f:dc:94 (portatil) via eth0
Apr 29 11:32:54 SW_SEC dhcpd: DHCPACK on 10.100.1.172 to 00:a0:0c:4f:dc:94 (portatil) via eth0

OBS.: Também estou tendo problema no DNS reverso como ver também na renovação de IP pelo Win 98.

Grato,

Marcos

[16] Comentário enviado por marlonp em 09/05/2005 - 15:25h

Caro Frederico

Parabens pelo artigo
Estou tendo um problema, o named não atualiza os nomes,e não cria o arquivo jnl para o dns reverso.
Poderia me dar uma ajuda

[17] Comentário enviado por agk em 09/05/2005 - 23:01h

Boa noite colegas!

Estou configurando um DHCP+BIND com Dynamic DNS para atualizar os nomes das estações automaticamente.
Estou com algumas dúvidas:
1 - Em que proporções é recomendado utilizar esse sistema? ex: uma rede com 250 computadores.
2 - Isso funciona utilizando o DNS em chroot?
3 - Posso controlar o DHCP por mac-address utilizando Dynamic DNS?

São algumas dúvidas que tenho, se alguém souber e puder me ajudar, desde já agradeço.

[18] Comentário enviado por lucianojs em 13/05/2005 - 09:20h

Tentei alterar o dhclient.conf mas não obtive sucesso.
As maquinas Windows são cadastradas no DNS sem problemas, já as maquinas linux só pegam o ip, sem registrar o nome no DNS.

[19] Comentário enviado por eduardok em 28/12/2005 - 15:58h

Boa tarde Fred!

O os registro ficam gravados num arquivo ".jnl" certo? E se eu quiser liberar uma máquina como eu faço? e Pq ele não grava as ocorrencias no arquivos de zona? Desde já muito obrigado!

[20] Comentário enviado por hhanbr em 24/02/2006 - 07:58h

Excelente artigo, segui todos os passos e funcionou corretamente, porém me deparei com o seguinte problema:
As estações Windows enviam o nome da máquina para registrar no DNS, mas as estações Linux não.
Por exemplo, Log do Servidor quando uma máquina Windows requisita IP:
Feb 24 06:46:43 localhost dhcpd: DHCPREQUEST for 10.20.0.199 from 00:13:d3:00:12:d4 (micro36) via eth0
Feb 24 06:46:43 localhost dhcpd: DHCPACK on 10.20.0.199 to 00:13:d3:00:12:d4 (micro36) via eth0
Veja que aparece o nome da máquina (micro36).
Log do Servidor quando uma máquina Linux requisita IP:
Feb 24 06:38:11 localhost dhcpd: DHCPREQUEST for 10.20.0.200 (10.20.0.6) from 00:0c:6e:9c:59:16 via eth0
Feb 24 06:38:11 localhost dhcpd: DHCPACK on 10.20.0.200 to 00:0c:6e:9c:59:16 via eth0
Veja que não aparece o nome da máquina.

[21] Comentário enviado por removido em 13/03/2006 - 11:06h

E ae fred blz
naum teria como vc publicar esse artigo para o fedora????

[22] Comentário enviado por agk em 24/03/2006 - 09:11h

O final do artigo você ensina a testar se tudo está funcionando, correto?
# host papaleguas.escritorio.lcl
papaleguas.escritorio has address 10.4.0.100
# host 10.4.0.100
100.0.4.10.in-addr.arpa domain name pointer papaleguas.escritorio.

Os testes a partir do host onde foram configurados os serviços funcionaram perfeitamente.
Agora se eu fizer isso a apartir de uma estação Linux ele não dá ping pra ninguém, nem pelo endereço ip, nem pelo dns, mesma coisa acontece no Windows.
OBS: nas estações Linux testei também com o comando host e não funcionou, aparece a mensagem que não foi possível encontrar o servidor DNS.
OBS2: Meu resolv.conf está corretamente configurado.
É assim mesmo que funciona ou todos as máquinas deveriam conseguir pingar umas nas outras tanto pelo ip como pelo nome+sufixo_dns?

[23] Comentário enviado por AvengerBR em 05/04/2006 - 10:57h

Para aparecer o nome dos clientes *nix (freebsd e linux) coloquei o seguinte em /etc/dhclient.conf:

interterface "sis0" {
send host-name "nome_do_computador";
}

[24] Comentário enviado por ismair em 02/05/2006 - 11:00h

muito legal o artigo,

Alguem sabe me explicar como eu faco pra configurar em servidores diferentes, exemplo DNS esta em uma maquina e o DHCP esta em outra.

[25] Comentário enviado por agk em 03/05/2006 - 13:44h

Acho que é só especificar o IP no servidor DNS dentro do arquivo do DHCP.
zone escritorio. {
primary 10.4.0.1;
key mykey;
}

zone 0.4.10.in-addr.arpa. {
primary 10.4.0.1;
key mykey;
}

Onde diz primary você coloca o IP do seu DNS.

[26] Comentário enviado por cold_feelings em 05/09/2006 - 19:51h

vlw pelo artigo, eu tava precisando mesmo de uma ajuda a respeito de DHCP...

T+

[27] Comentário enviado por jorgelluiz em 14/09/2006 - 00:14h

meu servidor para de resolver nome depois que termino de configurar o bind e o dhcp o que posso fazer, desculpe a ignorancia

[28] Comentário enviado por joaobites em 24/10/2006 - 21:15h

Frederico,

Primeiramente muito obrigado e parabéns pelo artigo,

não consigo fazer o dhcp conversar com o dns olha o log

Oct 24 21:07:49 localhost named[3223]: client 10.223.60.164#32793: request has invalid signature: tsig verify failure
Oct 24 21:07:49 localhost dhcpd: Unable to add forward map from nbk00023.minc.gov.br to 10.223.66.100: bad DNS key
Oct 24 21:07:49 localhost dhcpd: dns.minc.gov.br: host unknown.
Oct 24 21:07:49 localhost dhcpd: DHCPREQUEST for 10.223.66.100 from 00:00:e2:6e:4a:3f (nbk00023) via eth0
Oct 24 21:07:49 localhost dhcpd: DHCPACK on 10.223.66.100 to 00:00:e2:6e:4a:3f (nbk00023) via eth0
Oct 24 21:07:52 localhost named[3223]: client 10.223.60.164#32793: request has invalid signature: tsig verify failure
Oct 24 21:07:52 localhost dhcpd: Unable to add forward map from nbk00023.minc.gov.br to 10.223.66.100: bad DNS key
Oct 24 21:07:52 localhost dhcpd: DHCPREQUEST for 10.223.66.100 from 00:00:e2:6e:4a:3f (nbk00023) via eth0
Oct 24 21:07:52 localhost dhcpd: DHCPACK on 10.223.66.100 to 00:00:e2:6e:4a:3f (nbk00023) via eth0
Oct 24 21:08:00 localhost named[3223]: client 10.223.60.164#32793: request has invalid signature: tsig verify failure
Oct 24 21:08:00 localhost dhcpd: Unable to add forward map from nbk00023.minc.gov.br to 10.223.66.100: bad DNS key
Oct 24 21:08:00 localhost dhcpd: DHCPREQUEST for 10.223.66.100 from 00:00:e2:6e:4a:3f (nbk00023) via eth0
Oct 24 21:08:00 localhost dhcpd: DHCPACK on 10.223.66.100 to 00:00:e2:6e:4a:3f (nbk00023) via eth0

[29] Comentário enviado por tognado em 23/02/2007 - 01:34h

e ae Frederico,
achei mto legal a iniciativa de dar uma ajuda à comunidade com seu artigo... Já faz um tempo que estou tentando pingar resolver o nome das maquinas locais usando o dhcp3 + bnd9 e num tá rolando...

Segui QUASE que ao pé da letra o que você ensinou.. no entanto, os arquivos "db.casa" e "db.192.168.0" não foram criados automaticamente pelo bind (e vc num disse como ;-] )...

Se puder ajudar, ficaria muito grato... Estou num debian stable com dhcp3-server, dhcp3-client, bind9 e provedor VIRTUA.. kernel 2.6.8-3-k7


Aquelas rotinas pra verificar se ta tud certinho não rodam aqui... ou seja, não consigo resolver o ip de uma makina e nem descobrir o nome da makina pelo ip.

qdo faço /etc/init.d/bind9 restart, ele fala que num achou os arquivo db.casa e db.19.168.0 que me referi acima.

Arquivo rndc.key
*********************************************************
key "rndc-key" {
algorithm hmac-md5;
secret "<SEGREDO>";
};

Arquivo dhcp.conf
*********************************************************
include "/etc/bind/rndc.key";
ddns-update-style interim;

option domain-name "debian-domain";
option domain-name-servers 192.168.0.1, ns0.xname.org;

default-lease-time 6000;
max-lease-time 72000;
authoritative;
log-facility local7;

zone casa. {
primary 192.168.0.1;
key "rndc-key";
}

zone 0.168.192.in-addr.arpa.{
primary 192.168.0.1;
key "rndc-key";
}


subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.100 192.168.0.200;
option routers 192.168.0.1;
option domain-name "debian-domain";
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.0.255;
one-lease-per-client on;
option netbios-name-servers 192.168.0.1;
}

Arquivo named.conf
*********************************************************

include "/etc/bind/rndc.key";
include "/etc/bind/named.conf.options";

controls {
inet 127.0.0.1 port 953
allow { 127.0.0.1; }
keys { "rndc-key"; };
};

zone "casa" {
type master;
notify no;
file "/etc/bind/db.casa";
allow-update { key "rndc-key"; };
};

zone "0.168.192.in-addr.arpa" {
type master;
notify no;
file "/etc/bind/db.192.168.0";
allow-update { key "rndc-key"; };
};

// prime the server with knowledge of the root servers
zone "." {
type hint;
file "/etc/bind/db.root";
};


zone "localhost" {
type master;
file "/etc/bind/db.local";
};

zone "127.in-addr.arpa" {
type master;
file "/etc/bind/db.127";
};

zone "0.in-addr.arpa" {
type master;
file "/etc/bind/db.0";
};

zone "255.in-addr.arpa" {
type master;
file "/etc/bind/db.255";
};

include "/etc/bind/named.conf.local";


Caso prefira:
email: tognado@gmail.com
msn: tognado@hotmail.com
icq: 36726710


sem mais,
Thiago.

[30] Comentário enviado por pajewski em 09/03/2007 - 17:20h

Olá Frederico,

Tive um problema ao configurar o dhcp e o dns, executei todos os passos desse artigo, mas só é atualizado o ip reverso, não aparece nenhuma informação da zona do dominio interno. Segue abaixo resultado do syslog:

Mar 9 17:05:02 localhost dhcpd: DHCPOFFER on 192.168.2.199 to 00:40:f4:f6:21:52 via eth0
Mar 9 17:05:02 localhost named[4714]: client 192.168.1.63#1073: updating zone '168.192.in-addr.arpa/IN': deleting rrset at '199.2.168.192.in-addr.arpa' PTR
Mar 9 17:05:02 localhost named[4714]: client 192.168.1.63#1073: updating zone '168.192.in-addr.arpa/IN': adding an RR at '199.2.168.192.in-addr.arpa' PTR
Mar 9 17:05:02 localhost dhcpd: added reverse map from 199.2.168.192.in-addr.arpa. to niapoio.hmmg.sp.gov.br
Mar 9 17:05:02 localhost dhcpd: DHCPREQUEST for 192.168.2.199 (192.168.1.63) from 00:40:f4:f6:21:52 via eth0
Mar 9 17:05:02 localhost dhcpd: DHCPACK on 192.168.2.199 to 00:40:f4:f6:21:52 via eth0
Mar 9 17:05:09 localhost named[4714]: client 192.168.1.63#1073: updating zone '168.192.in-addr.arpa/IN': deleting rrset at '199.2.168.192.in-addr.arpa' PTR
Mar 9 17:05:09 localhost named[4714]: client 192.168.1.63#1073: updating zone '168.192.in-addr.arpa/IN': adding an RR at '199.2.168.192.in-addr.arpa' PTR
Mar 9 17:05:09 localhost dhcpd: added reverse map from 199.2.168.192.in-addr.arpa. to niapoio.hmmg.sp.gov.br
Mar 9 17:05:09 localhost dhcpd: DHCPREQUEST for 192.168.2.199 from 00:40:f4:f6:21:52 via eth0
Mar 9 17:05:09 localhost dhcpd: DHCPACK on 192.168.2.199 to 00:40:f4:f6:21:52 via eth0

Alguem teria uma pista de porque isso acontece?

[31] Comentário enviado por pajewski em 13/04/2007 - 17:29h

Para resolver o problema acima eu acrescentei o ip do servidor na linha allow-update.
Ex: allow-update { 192.168.0.1; key "rndc-key"; };
Nas maquinas clientes foi necessario desativar a opção:
Registrar os endereços desta conexão no DNS. (desmarcar)

Os clientes Windows passaram a ter seus endereços atualizados pelo DHCP, mas os clientes Linux não. Para resolver isso acrescentei ao dhcp.conf a seguinte linha dentro das configurações do host:
ddns-hostname "nome_do_host";

Espero que esses problemas que passei funcionem como dicas para quem estiver configurando dhcp/dns.

[32] Comentário enviado por alerocha79 em 08/06/2010 - 15:22h

Problema resolvido. O problema era :

Stopping domain name service...: bind9rndc: connection to remote host closed
This may indicate that
* the remote server is using an older version of the command protocol,
* this host is not authorized to connect,
* the clocks are not syncronized, or
* the key is invalid.

Meu named.conf :

key "rndc-key" {
algorithm hmac-md5;
secret "xxxxxxxxxxxxx";
};


controls {
inet 127.0.0.1 allow { localhost; } keys { "rndc-key"; };
};

include "/etc/bind/named.conf.options";

(...)

Meu dhcpd.conf:

ddns-update-style interim;
default-lease-time 6000;
max-lease-time 72000;
log-facility local7;

key "rndc-key" {
algorithm hmac-md5;
secret "xxxxxxxxxxxxxxx";
};


# DNS zones to update
zone 3.168.192.in-addr.arpa. {
primary 192.168.3.1;
key rndc-key;
}

zone alex.net.br. {
primary 192.168.3.1;
key rndc-key;
}

(...)

Meu named.conf.local:

zone "xxxxx.net.br" {
type master;
file "/var/cache/bind/db.xxxxxx";
allow-update { key "rndc-key"; };

};

zone "3.168.192.in-addr.arpa" {
type master;
file "/var/cache/bind/rev.xxxxxx";
allow-update { key "rndc-key"; };
};


SOLUÇÃO: Por incrível que apareça é só reiniciar o linux, no meu caso o Debian. Aí reiniciei o bind9 e a mensagem de erro não apareceu. Brincadeira!!!! Dois dias tentando arrumar o bendito rndc!!!!

Mensagens:
DHCP iniciado:
Jun 4 18:38:28 localhost dhcpd: Internet Systems Consortium DHCP Server V3.1.1
Jun 4 18:38:28 localhost dhcpd: Copyright 2004-2008 Internet Systems Consortium.
Jun 4 18:38:28 localhost dhcpd: All rights reserved.
Jun 4 18:38:28 localhost dhcpd: For info, please visit http://www.isc.org/sw/dhcp/
Jun 4 18:38:28 localhost dhcpd: Internet Systems Consortium DHCP Server V3.1.1
Jun 4 18:38:28 localhost dhcpd: Copyright 2004-2008 Internet Systems Consortium.
Jun 4 18:38:28 localhost dhcpd: All rights reserved.
Jun 4 18:38:28 localhost dhcpd: For info, please visit http://www.isc.org/sw/dhcp/
Jun 4 18:38:28 localhost dhcpd: Wrote 4 leases to leases file.

Bind iniciado:
Jun 4 18:37:43 localhost named[3557]: automatic empty zone: D.F.IP6.ARPA
Jun 4 18:37:43 localhost named[3557]: automatic empty zone: 8.E.F.IP6.ARPA
Jun 4 18:37:43 localhost named[3557]: automatic empty zone: 9.E.F.IP6.ARPA
Jun 4 18:37:43 localhost named[3557]: automatic empty zone: A.E.F.IP6.ARPA
Jun 4 18:37:43 localhost named[3557]: automatic empty zone: B.E.F.IP6.ARPA
Jun 4 18:37:43 localhost named[3557]: command channel listening on 127.0.0.1#953
Jun 4 18:37:43 localhost named[3557]: zone 0.in-addr.arpa/IN: loaded serial 1
Jun 4 18:37:43 localhost named[3557]: zone 127.in-addr.arpa/IN: loaded serial 1
Jun 4 18:37:43 localhost named[3557]: zone 3.168.192.in-addr.arpa/IN: loaded serial 2009270401
Jun 4 18:37:43 localhost named[3557]: zone 255.in-addr.arpa/IN: loaded serial 1
Jun 4 18:37:43 localhost named[3557]: zone alex.net.br/IN: loaded serial 2009270401
Jun 4 18:37:43 localhost named[3557]: zone localhost/IN: loaded serial 2
Jun 4 18:37:43 localhost named[3557]: running

O negócio está redondo:

debian:/etc/squid# host prmtXP.alex.net.br
prmtXP.alex.net.br has address 192.168.3.8
debian:/etc/squid# host aluno-desktop.alex.net.br
aluno-desktop.alex.net.br has address 192.168.3.10
debian:/var/cache/bind# ls -l
total 16
-rw-rw-r-- 1 root bind 345 Jun 1 16:23 db.alex
-rw-r--r-- 1 bind bind 1334 Jun 8 13:57 db.alex.jnl
-rw-rw-r-- 1 root bind 330 Jun 1 16:24 rev.alex
-rw-r--r-- 1 bind bind 1415 Jun 8 13:57 rev.alex.jnl


Eu coloquei as zonas no /var/cache/bind,
para que os arquivos jnl pudessem ser criados automaticamente, uma vez que dentro do /etc/bind não tem permissão para criar jnl.

Por fim configurei o Sarg para gerar os relatórios por nome da máquina e não por ip.

Sites & Users
NUM USUÁRIO CONEXÃO BYTES %BYTES IN-CACHE-OUT TEMPO GASTO MILISEG %TEMPO
1 G T prmtXP.alex.net.br 331 4.30M 62.87% 16.17% 83.83% 00:01:21 81,008 64.51%
2 G T aluno-desktop.alex.net.br 160 2.54M 37.13% 5.10% 94.90% 00:00:44 44,570 35.49%

valeu.

E alterei meu sarg.conf para :

# TAG: resolve_ip yes/no
# Convert ip address to dns name
# sarg -n
resolve_ip yes

# TAG: user_ip yes/no
# Use Ip Address instead userid in reports.
# sarg -p
user_ip no

Por fim:
É só executar o sarg com a opção -n

debian:/etc/squid# sarg -n
SARG: Unknown option site_user_time_date_type table

Deu esse aviso, porém gerou os relatório com os nomes dos computadores no lugar do ip.

blz.



valeu.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts