DNS-Server · 3 min read · Oct 02, 2025

Sauberer djbDNS DNS-Server auf CentOS - dnscache und tinydns - A bis Z

Sauberer djbDNS DNS-Server auf CentOS - dnscache und tinydns - A bis Z

Was ist djbDNS? Und warum verwenden wir djbDNS? Es gibt einen neuen Ansatz, um den DNS-Dienst bereitzustellen - jede Funktionalität des DNS-Servers ist ein separater Dienst, wie Autorität, Cache, Weiterleitung und so weiter. Der andere Unterschied sind die Daemon-Tools, die Dienste schnell neu starten, um Zombies zu verhindern.

Anforderungen:

Saubere Installation von CentOS 5.4

Als Root einloggen.

# yum update
# yum install gcc
# mkdir pkg
# cd pkg

Der erste Schritt besteht darin, die Daemon-Tools zu installieren:

# cd ~/pkg
# wget http://cr.yp.to/daemontools/daemontools-0.76.tar.gz
# gunzip daemontools-0.76.tar
# tar -xpf daemontools-0.76.tar
# rm -f daemontools-0.76.tar
# cd admin/daemontools-0.76
# vi src/conf-cc

Fügen Sie die folgende Zeile am Ende der gcc-Zeile hinzu:

-include /usr/include/errno.h
# ./package/install

Ein weiteres Paket, das wir vorbereiten müssen, damit djbdns funktionsfähig ist, ist ucspi:

# cd ~/pkg
# wget http://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz
# gunzip ucspi-tcp-0.88.tar
# tar -xf ucspi-tcp-0.88.tar
# cd ucspi-tcp-0.88
# vi src/conf-cc

Fügen Sie die folgende Zeile am Ende der gcc-Zeile hinzu:

-include /usr/include/errno.h
# make
# make setup check

Der nächste Schritt ist die Dokumentenveröffentlichung:

# cd ~/pkg
# wget http://cr.yp.to/djbdns/doc.tar.gz

Als nächstes entpacken wir die Dokumente unter /doc:

# gunzip < doc.tar.gz | (cd /; tar -xf -)

Verwenden Sie das folgende Skript, um die Systemdokumente zusammenzuführen:

#!/bin/sh
for i in packages commands cfunctions fileformats
do
  sort -f /dev/null `find /doc/merge -name $i.html` > /doc/$i.new
  mv /doc/$i.new /doc/$i.html
done

Speichern Sie das Skript in einer Datei: script.sh

# chmod +x script.sh
# ./script.sh
# cd ~/pkg
# wget http://cr.yp.to/djbdns/djbdns-1.05.tar.gz
# gunzip djbdns-1.05.tar
# tar -xf djbdns-1.05.tar
# cd djbdns-1.05
# vi src/conf-cc

Fügen Sie die folgende Zeile am Ende der gcc-Zeile hinzu:

-include /usr/include/errno.h
# make
# make setup check

Alle Kompilierungen sind abgeschlossen.

Der nächste Schritt ist die Konfiguration des DNS-Servers.

DNSCACHE

Erstellen Sie zwei Systembenutzerkonten:

# useradd -d /var/dnscache -s /bin/false dnscache
# useradd -d /var/dnscache -s /bin/false dnslog

Konfigurieren Sie den Cache:

# dnscache-conf dnscache dnslog /var/dnscache/dnscache 

Beispiel: dnscache-conf dnscache dnslog /var/dnscache/dnscache 192.168.20.1

Erlauben Sie dem Rest Ihres Netzwerks, dnscache abzufragen:

# touch /var/dnscache/dnscache/root/ip/

Beispiel: touch /var/dnscache/dnscache/root/ip/192.168

Fügen Sie dnscache zur Liste der Dienste hinzu, die von svscan überwacht werden:

# ln -sf /var/dnscache/dnscache /service/

Wenn Sie ms-windows mögen… können Sie einen Neustart durchführen, um sicherzustellen, dass alles an seinem Platz ist.

Es gibt einen Punkt, an dem Sie immer noch nicht von Ihrem Cache-Server abfragen können, da Ihre Clients jetzt im Umkehrmodus aufgelöst werden können.

Wie bereits erwähnt, ist es eine der Sicherheitsfunktionen des DNS-Caches, Clients rückwärts zu überprüfen. Im nächsten Schritt werden wir an tinydns arbeiten, um für uns zu handeln.

DNSTINY

Einmal mehr benötigen wir zwei Systembenutzerkonten:

# useradd -d /var/dnscache -s /bin/false tinydns
# useradd -d /var/dnscache -s /bin/false tinylog
# tinydns-conf tinydns tinylog /var/dnscache/tinydns 127.0.0.1

Jetzt ist es an der Zeit, Knoten in die DNS-Datenbank hinzuzufügen:

# cd /var/dnscache/tinydns/root
# ./add-ns internal 192.168.20.1
# ./add-ns 20.168.192.in-addr.arpa 192.168.20.1
# ./add-mx internal 192.168.20.2
# ./add-host ns.internal 192.168.20.1
# ./add-host mail.internal 192.168.20.2
# ./add-alias unagi.internal 192.168.20.2
# make

Diese Knoten werden in die Datenbankdatei /var/dnscache/tinydns/root/data eingefügt, die Sie manuell bearbeiten können.

Der letzte Schritt ist der Start des DNS-Dienstes:

# ln -sf /var/dnscache/tinydns /service
Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.