Inhaltsverzeichnis

bind9

GUI für DNS

caching-only-NameServer

Wenn von einem System viele DNS-Abfragen erzeugt werden, wie z.B. von einem WebServer oder einem LoadBalancer, dann ist es ratsam hier einem caching-only-NameServer einzurichten.

Ein caching-only-NameServer besitzt keine eigenen Zonen-Dateien. Wird an ihn eine NameServer-Anfrage zum ersten mal gestellt, dann fragt er seinerseits die ihm bekannten NameServer und speichert die Antwort für eine gewisse Zeit lokal. Dadurch wird der "echte" NameServer nur mit unbekannten Anfragen belastet, alle bereits angefragten Namen bzw. IP's, die bereits einmal angefragt wurden, kann der caching-only-NameServer von nun an (für eine gewisse Zeit) selber beantworten.

Weil die Installation und Konfiguration so einfach ist, sollte man es auf jeden Fall für die entsprechenden Systeme in Betracht ziehen.

Installation

als erstes holen wir uns die IP's der für uns zuständigen NameServer:

> cat /etc/resolv.conf
nameserver 50.40.30.21
nameserver 50.40.30.22
nameserver 50.40.30.23
search erstedomain.de zweitedomain.de drittedomain.de

jetzt installieren wir den Bind9 ("dnsutils" ist nicht nötig aber das Programm "nslookup" daraus ist tum testen sehr praktisch, weil in der Ausgabe auch immer der abgefragte NameServer angegeben wird):

> aptitude install bind9 dnsutils

jetzt konfigurieren wir den Bind9 als caching-only-NameServer:

> vi /etc/bind/named.conf.options
options {
        directory "/var/cache/bind";

        // If there is a firewall between you and nameservers you want
        // to talk to, you may need to fix the firewall to allow multiple
        // ports to talk.  See http://www.kb.cert.org/vuls/id/800113

        // If your ISP provided one or more IP addresses for stable
        // nameservers, you probably want to use them as forwarders.
        // Uncomment the following block, and insert the addresses replacing
        // the all-0's placeholder.

        forwarders {
                50.40.30.21;
                50.40.30.22;
                50.40.30.23;
        };

        //========================================================================
        // If BIND logs error messages about the root key being expired,
        // you will need to update your keys.  See https://www.isc.org/bind-keys
        //========================================================================
        //dnssec-validation auto;

        auth-nxdomain no;    # conform to RFC1035
        listen-on-v6 { none; };

        version         "[secured]";
};

Unter forwarders werden unsere NameServer aus der Datei /etc/resolv.conf eingetragen. Wenn wir kein IPv6 einsetzen, dann muss das durch ein none abgeschaltet werden. Auch DNSSEC müsste konfiguriert werden, da wir das jetzt nicht tun wollen, werden wir vor die Zeile dnssec-validation auto; Kommentarzeichen (//) setzen und es dadurch abschalten. Zur Sicherheit sollte man auch seine Versionsnummernausgabe mit der zusätzlichen Zeile version "[secured]"; abschalten.

caching-only-NameServer aktivieren:

> service bind9 restart

caching-only-NameServer in Betrieb nehmen, dazu muss der eigene Rechner (127.0.0.1) in der Datei /etc/resolv.conf als alleiniger NameServer angegeben werden:

> vi /etc/resolv.conf
nameserver 127.0.0.1
search erstedomain.de zweitedomain.de drittedomain.de

zum testen werden wir einen HostNamen abfragen, von dem wir wissen, dass unsere regulären NameServer ihn übersetzen können:

> nslookup spielrechner
Server:         127.0.0.1
Address:        127.0.0.1#53

Non-authoritative answer:
Name:   spielrechner.erstedomain.de
Address: 192.168.0.100

es ist mit nslookup auch möglich einen speziellen NameServer abzufragen:

> nslookup spielrechner 50.40.30.21
Server:         50.40.30.21
Address:        50.40.30.21#53

Non-authoritative answer:
Name:   spielrechner.erstedomain.de
Address: 192.168.0.100
# dig +short A www.google.com @localhost
74.125.237.148
74.125.237.144
74.125.237.145
74.125.237.146
74.125.237.147

Wenn alles klappt, sieht die Ausgabe so ungefähr aus.