Tabla de Contenidos

Configuracion DHCP-BIND

Receta para servidor DHCP con registros dinamicos en un servidor BIND.

Está realizado con ubuntu-server 10.04

Configuración previa

 apt-get install bind9 dhcp3-server

Crear llave de actualizacion DNS

 # dnssec-keygen -a hmac-md5 -b 128 -n USER dynamic-key
 Kdynamic-key.+157+14638
 #
 # cat Kdynamic-key.+157+14638.key
 dynamic-key. IN KEY 0 3 157 N8Hk2RUFO84bEVl3uGTD2A== 
 #
 cp Kdynamic-key.+157+14638.key /etc/bind/dynamic.key
 #
 # chown bind /etc/bind/dynamic.key
 #

Configuración Bind 9

/etc/bind/named.conf.local

 controls {
      inet 127.0.0.1 allow {localhost; } keys { "dynamic-key"; };
 };
 // Definición de la zona dinamica aqui
 zone "network.micasa" {
      type master;
      file "network.micasa.zone";
      allow-update { key "dynamic-key"; };
      notify yes;
 };
 
 zone "0.168.192.in-addr.arpa" {
      type master;
      file "192.micasa.zone";
      allow-update { key "dynamic-key"; };
      notify yes;
 };
 
 include "/etc/bind/dynamic.key";

/etc/bind/dynamic.key

 key "dynamic-key" {
      algorithm       hmac-md5;
      secret          "lgkbhjhtthgtlghtl6567==";
 };

/var/cache/bind/network.micasa.zone

Hacer dos network.micasa.zone y 192.micasa.zone con este contenido

 $TTL 86400	; 1 dia
 @     IN SOA	server.network.micasa. root.network.micasa. (
              200806327  ; serial
              28800      ; refresh (8 hours)
              7200       ; retry (2 hours)
              2419200    ; expire (4 weeks)
              86400      ; minimum (1 day)
              )
 
        IN NS	server.network.micasa.
       
 server IN A  192.168.0.2      
 # chgrp bind network.micasa.zone 192.micasa.zone
 #
 # /etc/init.d/bind9 restart | tail -f /var/log/daemon.log

Probar DNS dinamico

 # nsupdate
 > server localhost
 > key dynamic-key N8Hk2RUFO84bEVl3uGTD2A==
 > zone network.micasa
 > update add feliz.network.micasa. 600 IN A 192.168.0.50
 > send
 # dig @localhost feliz.network.micasa
 
 ;;ANSWER SECTION
 feliz.network.micasa.   600   IN   A   192.168.0.50

Configuracion DHCP server

Disponibilizar key

 # cd /etc/dhcp3
 # ln /etc/bind/dynamic.key

(dhcpd corre enjaulado, aparentemente, y necesita tener la clave en su directorio)

/etc/default/dhcp3-server

 INTERFACES="eth0"

/etc/dhcp3/dhcpd.conf

Tocar estas lineas:

 server-identifier           server;
 ddns-updates                on;
 ddns-update-style           interim;
 ddns-domainname             "network.mycasa.";
 ddns-rev-domainname         "in-addr.arpa.";
 ignore                      client-updates;
 
 include                     "/etc/dhcp3/dynamic.key";
 
 zone 0.168.192.in-addr.arpa. {
     primary 127.0.0.1;
     key "dynamic-key";
 }
 
 zone network.micasa. {
     primary 127.0.0.1;
     key "dynamic-key";
 }
 
 option domain-name "network.micasa";
 option domain-name-servers server.network.micasa;
 
 subnet 192.168.0.0 netmask 255.255.255.0 {
  range                       192.168.0.100 192.168.0.200;
  option broadcast-address    192.168.0.255;
  option routers              192.168.0.1;
  allow                       unknown-clients;
 }

Referencias