[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Dynamic DNS (Bind) e DHCP



On (04/10/10 15:33), Paulino Kenji Sato wrote:
> 2010/10/4 Caio Abreu Ferreira <idic@terra.com.br>:
> >        Prezado Paulino
> >
> >        Estou utilizando a versão stable do debian. O problema que eu estou
> > enfrentando é que no log de ambos os softwares não esta aparecendo nenhum
> > erro. Tanto o DNS/Bind quando o DHCP estão funcionando corretamente. Fiz
> > vários testes com o aplicativo dig e o DNS respondeu corretamente, inclusive
> > os dados estão sendo replicados para o servidor secundário. Já o DHCP esta
> > respondendo corretamente e atribuindo IP para uma estação debian. O problema
> > é que as informações do DHCP não estão sendo transferidas paro DNS.
> >
> >        Um outro ponto de diferente que eu tenho encontrado nos textos[1] que
> > eu tenho encontrado na internet é que os softwares estão funcionando em
> > computadores diferentes. Os softwares precisam estar instalados no mesmo
> > computador ou podem operar em computadores separados?
> >
> 
> Nunca usei em computadores diferentes, mas acredito que seja indiferente.
> Verifique se o arquivo de zona esta com permissão de escrita para o
> usuário que roda o bind (usualmente o bind).
> 
> Tanto no host onde esta rodando o bind como no dhcp, tente fazer uma
> atualização de zona usando o nsupdate.
> crie um arquivo contendo o seguinte:
> server 127.0.0.1
> zone particula.local
> update delete teste.particula.local. A
> update add teste.particula.local. 86400 A 192.168.0.123
> send
> zone 0.168.192.in-addr.arpa
> update delete 123.0.168.192.in-addr.arpa PTR
> update add 123.0.168.192.in-addr.arpa 86400 PTR teste.particula.local.
> send
> quit
> 
> E chame o comando:
> nsupdate -y nome_chave:a_chave arquivo_acima
> E verifique com o host ou o dig que o host teste foi adicionado.
> 
> 
> Mas, acho que achei o seu problema.
> O
>  include "/etc/bind/rndc.key";
> 
> Tanto no named.conf como no dhcpd.conf
> A sintaxe da declaração da chave entre os dois parece que não são
> idênticas, ou include não funciona como esperado no dhcpd.conf.
> No dhcpd.conf e assim:
> key nome_da_chave {
>    algorithm HMAC-MD5;
>    secret a_chave;
> }
> 
> no named.conf e
> key "nome_da_chave" {
>         algorithm hmac-md5;
>         secret "a_chave";
> };
> 
> Existe uma pequena diferença, que quase não da para ser notada.
> As aspas.
> 
> Ou talvez não, o que me lembro que um dia tentei fazer usando o
> include, mas não funcionou.
> Tente por a declaração da chave dentro do dhcpd.conf e sem usar as aspas.
> 
> Paulino Kenji Sato
> http://www.nobel.com.br

	Prezado Paulino

	Para tentar identificar o que pode estar errado, resolvi simplificar
a situação. Montei uma nova rede virtual (vmware) com somente trẽs
computadores, gateway/server (DNS/DHCP) e client. Até goara fiz o seguinte:

# dados tecnicos
	servidor DNS/DHCP 	192.168.0.5
	client			dhcp

# aptitude install bind9 dnsutils dhcp3-server (192.168.0.5)

# named.conf.local (master)
	zone "particula.local" {
	        type master;
	        file "db.particula.local";
		allow-update { key "rndc-key"; };
		notify no;
	};

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

	include "/etc/bind/rndc.key";

# db.particula.local (192.168.0.5)
	; Start of Authority (SOA) record
	$TTL   900
	@ IN SOA server.particula.local. root.particula.local. (
	                        3600; 	serial
	                        3600; 	refresh, seconds
	                        3600; 	retry, seconds
	                        3600; 	expire, seconds
	                        900 ); 	minimum, seconds

	; Name Server (NS) records.
				IN NS server.particula.local.

	; Mail Exchange (MX) records.
				IN MX 10 server.particula.local.

	; Address (A) records. (real-names of machines)
				IN A 192.168.0.5
	server			IN A 192.168.0.5

	; Aliases in Canonical Name (CNAME) records...
	www                     IN CNAME server
	ftp                     IN CNAME server
	proxy                   IN CNAME server

# db.0.168.192.in-addr.arpa (192.168.0.5)
	; Start of Authority (SOA) record
	$TTL   900
	@ IN SOA server.particula.local. root.particula.local. (
                        	3600; 	serial
	                        3600; 	refresh, seconds
        	                3600; 	retry, seconds
        	                3600; 	expire, seconds
        	                900 ); 	minimum, seconds

	; Name Server (NS) records.
				IN NS server.particula.local.

	; Addresses point to canonical names (PTR) for reverse lookups
	5               	IN PTR    server.particula.local.

# /etc/dhcp3/dhcpd.conf (server)
	# Basic stuff to name the server and switch on updating
	server-identifier           192.168.0.5;
	ddns-updates                on;
	ddns-update-style           interim;
	ddns-domainname             "particula.local.";
	ddns-rev-domainname         "in-addr.arpa.";
	ignore                      client-updates;

	# This is the key so that DHCP can authenticate it's self to BIND9
	include                     "/etc/bind/rndc.key";

	# Normal DHCP stuff
	option domain-name 		"particula.local";
	option domain-name-servers 	192.168.0.5;

	default-lease-time 600;
	max-lease-time 7200;
	authoritative;

	log-facility local7;

	subnet 192.168.0.0 netmask 255.255.255.0 {
		range 192.168.0.100 192.168.0.200;
		option routers 192.168.0.2;
		option broadcast-address    192.168.0.255;
		allow                       unknown-clients;

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

		zone    particula.local. {
			primary 192.168.0.5;
			key             "rndc-key";
		}
	}

	Fiz o teste com o aplicativo nsupdate mas infelizmente não deu certo.

server:~# nsupdate
> server 127.0.0.1
> zone particula.local
> update delete teste.particula.local. A
> update add teste.particula.local. 86400 A 192.168.0.123
> send
update failed: REFUSED
> quit

server:~# nsupdate
> server 192.168.0.5
> zone particula.local
> update delete teste.particula.local. A
> update add teste.particula.local. 86400 A 192.168.0.123
> send
update failed: REFUSED
> quit

	Dando uma olhada no arquivo "/var/log/syslog" encontrei a seguinte
informação.

Oct  7 07:30:40 server dhcpd: Internet Systems Consortium DHCP Server V3.1.1
Oct  7 07:30:40 server dhcpd: Copyright 2004-2008 Internet Systems
Consortium.
Oct  7 07:30:40 server dhcpd: All rights reserved.
Oct  7 07:30:40 server dhcpd: For info, please visit
http://www.isc.org/sw/dhcp/
Oct  7 07:30:40 server dhcpd: Internet Systems Consortium DHCP Server V3.1.1
Oct  7 07:30:40 server dhcpd: Copyright 2004-2008 Internet Systems
Consortium.
Oct  7 07:30:40 server dhcpd: All rights reserved.
Oct  7 07:30:40 server dhcpd: For info, please visit
http://www.isc.org/sw/dhcp/
Oct  7 07:30:40 server dhcpd: Wrote 1 leases to leases file.
Oct  7 07:30:43 server /usr/sbin/cron[2532]: (CRON) INFO (pidfile fd = 3)
Oct  7 07:30:43 server /usr/sbin/cron[2533]: (CRON) STARTUP (fork ok)
Oct  7 07:30:43 server /usr/sbin/cron[2533]: (CRON) INFO (Running @reboot jobs)
Oct  7 07:30:49 server kernel: [   18.987324] eth0: no IPv6 routers present
Oct  7 07:31:12 server dhcpd: DHCPDISCOVER from 00:0c:29:11:c8:59 (client.particula.loca) via eth0
Oct  7 07:31:13 server dhcpd: DHCPOFFER on 192.168.0.100 to 00:0c:29:11:c8:59 (client.particula.loca) via eth0
Oct  7 07:31:13 server named[2488]: client 192.168.0.5#33048: request has invalid signature: TSIG rndc-key: tsig verify failure (BADKEY)
Oct  7 07:31:13 server dhcpd: Unable to add forward map from client.particula.loca.particula.local. to 192.168.0.100: bad DNS key
Oct  7 07:31:13 server dhcpd: DHCPREQUEST for 192.168.0.100 (192.168.0.5) from 00:0c:29:11:c8:59 (client.particula.loca) via eth0
Oct  7 07:31:13 server dhcpd: DHCPACK on 192.168.0.100 to 00:0c:29:11:c8:59 (client.particula.loca) via eth0
Oct  7 07:35:42 server named[2488]: client 127.0.0.1#18177: update 'particula.local/IN' denied
Oct  7 07:36:28 server named[2488]: client 192.168.0.5#19344: update 'particula.local/IN' denied

	Aparentemente a chave de criptografia, arquivo "/etc/bind/rndc.key"
esta com algum problema. O arquivo rndc.key foi gerado durante a instalação
do bind9 no servidor.

# cat /etc/bind/rndc.key 
key "rndc-key" {
	algorithm hmac-md5;
	secret "73/tmttfEPSjLn0dhFCgig==";
};

-- 

 .''`.   Caio Abreu Ferreira
: :'  :  idic@terra.com.br
`. `'`   Debian User
  `-     Key fingerprint = 97F8 61AC 605F 8A8B 3BA1  D479 8C9A 52E8 6478 601F 

Attachment: signature.asc
Description: Digital signature


Reply to: