0x1b - ESCAPE
HTML PDF Postscript
 DHCP to DNS 
Computer Geschrieben von Beat Rubischon (Link) am Donnerstag, 26. Januar 2006, 16:33
aus dem isc-tools-works-together dept.

Weil mich heute gerade jemand im Chat angefragt hat, hier eine kurze Anleitung wie man den ISC DHCPd an BIND anknüpft. Die Doku dazu ist extrem spärlich. Vielleicht hilft dieses Posting dazu, die Konfig besser zu verstehen?

Die Idee ist folgende: Clients, welche eine dynamische IP beziehen, sollen unter ihrem Namen in ein Zonenfile eingetragen werden. Ich habe dazu eine separate Zone dhcp.0x1b.ch um Kollisionen mit meiner eigentlichen Zone zu vermeiden. Weiterhin schalte ich den Eintrag der Reverse-IP ab, indem ich diesen in eine Dummy-Zone schreibe, die nicht benutzt wird.

Installiert sind bei mir die Debian Pakete dhcp3-server und bind9. Zwei Konfigfiles müssen angepasst werden:

/etc/dhcp3/dhcpd.conf

ddns-update-style interim;
ddns-domainname "dhcp.0x1b.ch";
ddns-rev-domainname "in-addr.dummy";
deny client-updates;

key dhcp-key {
  algorithm hmac-md5;
  secret "+xxxxxxxxxxxxxxxxxxxxx==";
}

zone dhcp.0x1b.ch. {
  primary 127.0.0.1;
  key dhcp-key;
}

zone in-addr.dummy. {
  primary 127.0.0.1;
  key dhcp-key;
}

/etc/bind/named.conf

key "dhcp-key" {
  algorithm hmac-md5;
  secret "+xxxxxxxxxxxxxxxxxxxxx==";
};

zone "dhcp.0x1b.ch" {
  type master;
  file "/etc/bind/db.dhcp.0x1b.ch";
  allow-update { key dhcp-key; };
};

zone "in-addr.dummy" {
  type master;
  file "/etc/bind/db.in-addr.dummy";
  allow-update { key dhcp-key; };
};


Das gesharte Secret habe ich mir mit rndc-confgen erstellt. Es gibt bestimmt einen besseren Weg. Diesen zu finden überlasse ich dem geneigten Leser ;-)

Tja, dann braucht es noch die beiden "leeren" Zonenfiles:

/etc/bind/db.dhcp.0x1b.ch

$TTL 900
@       IN SOA max.0x1b.ch. hostmaster.0x1b.ch. (
                1      ; serial
                3600   ; refresh (1 hour)
                1800   ; retry (30 minutes)
                604800 ; expire (1 week)
                900    ; minimum (15 minutes)
        )
        NS      max.0x1b.ch.


/etc/bind/db.in-addr.dummy

$TTL 900
@       IN SOA  max.0x1b.ch. hostmaster.0x1b.ch. (
                55         ; serial
                3600       ; refresh (1 hour)
                1800       ; retry (30 minutes)
                604800     ; expire (1 week)
                900        ; minimum (15 minutes)
        )
        NS      max.0x1b.ch.


Ist das alles richtig eingegeben, so sollte ein Neustart von BIND und DHCPD reichen, um alle aktiven Leases in den DNS einzutragen. Ein Blick in /var/log/syslog verratet, ob auch alles in Ordnung ist.

Permalink

Das Kleingedruckte: Der Besitzer der folgenden Kommentare ist wer immer sie eingeschickt hat. Wir sind in keiner Weise für sie verantwortlich.

  • boesch_alex@gmx.ch Re: DHCP to DNS
    Geschrieben von alex (Link) am Donnerstag, 26. Januar 2006, 17:39

    hallo,

    habe gerade gestern es hingekriegt. es braucht einiges pröbeln und versuchen. jedes zeichen zu viel oder zu wenig kann zu witzigen fehlern führen (aber das kennst du ja sicher). ich habe +- nach http://www.pro-linux.de/t_netzwerk/dhcpunddns.html gearbeitet.am schluss lag es bei mir daran, dass der user bind, der die temporären leases ins bind directory schreibt keine schreibrechte auf diesen ordner hatte. ich kann dir sonst auch einmal die ganze config schicken.
    gruss
    alex

    • boesch_alex@gmx.ch Re: DHCP to DNS
      Geschrieben von alex (Link) am Donnerstag, 26. Januar 2006, 17:41

      was ich gerade noch gesehen habe
      algorithm hmac-md5;
      würde ich durch
      algorithm HMAC-MD5.SIG-ALG.REG.INT;
      ersetzen