[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.

	Prezado Paulino

	Consegui configurar o DNS e o DHCP para que os dois consigam trocar
informações e o DHCP atualizar o DNS(Bind). Segue abaixo os procedimentos que
eu segui.


#: Title : DDNS Howto
#: Date : 2010-10-13
#: Author : "Caio Abreu Ferreira" <idic_terra.com.br>
#: Version : 1.0
#: Description : Integração entre o Bind9 e o DHCP no GNU/Linux Debian Stable
#: Options : None
#: Reference : www.debian-administration.org/article/343/Configuring_Dynamic_DNS__DHCP_on_Debian_Stable 
#: Technical information
	servidor DNS primario	192.168.0.5
	servidor DNS secundario	192.168.0.6
	servidor DHCP server	192.168.0.7

# aptitude install bind9 dnsutils (dns master)

# dnssec-keygen -a hmac-md5 -b 128 -n USER dhcpupdate (dns master)

# cat Kdhcpupdate.+157+62711.key (master)
	dhcpupdate. IN KEY 0 3 157 xOxhRZXVrtaDjbZs5f9mgg==

# named.conf.local (master)
	// Master zones
	zone "particula.local" {
	        type master;
	        file "/etc/bind/db.particula.local";
	        allow-transfer { 192.168.0.6; };
		allow-update { key dhcpupdate; };
		notify yes;
	};

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

	key "dhcpupdate" {
        	algorithm hmac-md5;
	        secret "xOxhRZXVrtaDjbZs5f9mgg==";
	};

# db.particula.local (dns master)
	; Start of Authority (SOA) record
	$TTL   900
	@ IN SOA ns1.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 ns1.particula.local.
				IN NS ns2.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
	ns1			IN A 192.168.0.5
	ns2			IN A 192.168.0.6
	server			IN A 192.168.0.7

	; 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 (dns master)
	; Start of Authority (SOA) record
	$TTL   900
	@ IN SOA ns1.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 ns1.particula.local.
				IN NS ns2.particula.local.

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

# aptitude install bind9 dnsutils (dns slave)

# named.conf.local (dns slave)
	// Slave zones
	//
	zone "particula.local" {
        	type slave;
        	file "/etc/bind/db.particula.local";
	        masters { 192.168.0.5; };
		allow-notify { 192.168.0.5; };
	};

# /etc/dhcp3/dhcpd.conf (dhcp server)
	option domain-name "particula.local";
	option domain-name-servers 192.168.0.5, 192.168.0.6;

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

	authoritative;

	ddns-update-style interim;
	update-static-leases on;

	log-facility local7;

	key dhcpupdate {
	        algorithm hmac-md5;
		secret xOxhRZXVrtaDjbZs5f9mgg==;
	}	

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

	zone particula.local. {
	        primary 192.168.0.5;
	        key dhcpupdate;
	}

	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;
	}

# /root/test_ddns (ns1)
	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
	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.

# nsupdate -y dhcpupdate:xOxhRZXVrtaDjbZs5f9mgg== test_ddns (ns1)

# host teste.particula.local (ns1)
teste.particula.local has address 192.168.0.123

# /root/test_ddns (server)
	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
	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.

# nsupdate -y dhcpupdate:xOxhRZXVrtaDjbZs5f9mgg== test_ddns (server)

# host teste.particula.local (server)
teste.particula.local has address 192.168.0.123

# /etc/dhcp3/dhclient.conf (client)
	send host-name "client";

	Muito obrigado pela ajuda !

-- 
 

 .''`.   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: