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: 165.492 ]

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

Bem vindo ao planeta Viva o Linux

Instalando e configurando o aMule (Debian)

Aircrack-ng e sua família para quebrar WEP e WPA1

Tor + Privoxy + Squid3

Acesso remoto para principiantes

  
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: [email protected]
msn: [email protected]
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