SelfLinux Internet Domain Name System Abschnitt 15 | SelfLinux-0.13.0

| Domain Name System | Autor Formatierung GFDL

#### 18 Eine Zone für "localhost"

Der Name "localhost" sollte immer mit der IP 127.0.0.1 verknüpft sein. Um dies per DNS zu erreichen, gibt es zwei grundlegende Herangehensweisen, die in der Praxis auftauchen. Einmal denkt man sich "localhost" zu einer Zone zugehörig, zum Beispiel als "localhost.selflinux.de.". In diesem Fall wird der Name einfach als Address-Record in das entsprechende Zonefile eingetragen.

Eine andere Möglichkeit ist, den Namen als "localhost." zu interpretieren. Aus Sicht des DNS handelt es sich dabei um eine Toplevelzone (mit einer IP-Adresse, aber keinen weiteren darunterliegenden Records). Das verletzt allerdings etwas das Konzept von den Toplevel-Domains, funktioniert in der Praxis jedoch sehr gut. Um dies zu erreichen, erzeugt man ein entsprechendes Zonefile:

/var/named/localhost.zone

    $TTL 1d

    localhost. IN SOA pri-ns.selflinux.de. admin.selflinux.de. (
            2000012501 ; Serial (Seriennummer)
            3H         ; Refresh (Aktualisierung)
            1H         ; Retry (neuer Versuch)
            1M         ; Expire (ungültig nach)
            1D )       ; min. TTL (mindeste Gültigkeit)

                    IN  NS    ns1.selflinux.de.
                    IN  NS    ns2.selflinux.de.

                    IN  A     127.0.0.1

Eine zugehörige Reverse-Zone:

/var/named/0.0.127.zone

    $TTL 1d

    0.0.127.in-addr.arpa. IN SOA pri-ns.selflinux.de. admin.selflinux.de. (
            2000012501 ; Serial (Seriennummer)
            3H         ; Refresh (Aktualisierung)
            1H         ; Retry (neuer Versuch)
            1M         ; Expire (ungültig nach)
            1D )       ; min. TTL (Mindestgültigkeit)

                    IN  NS    ns1.selflinux.de.
                    IN  NS    ns2.selflinux.de.

    1               IN  PTR   localhost.

In der named.conf werden beide Zonen eingetragen:

/etc/named.conf

    zone "localhost" {
            type master;
            file "localhost.zone";
    };

    zone "0.0.127.in-addr.arpa" {
            type master;
            file "0.0.127.zone";
    };

Wird die erste Methode verwendet, also localhost als Host einer Domain interpretiert, so wird nur die Reverse-Zone benötigt (da es ja keine Toplevel-Zone "localhost." gibt). In dieser muß der PTR-Record dann konsistenterweise auf die Domain zeigen, beispielsweise "localhost.selflinux.de.". Man kann auch eine Mischung aus beiden Methoden konfigurieren. Dazu wird eine Zone "localhost." erzeugt, und ein Hosteintrag in der Domain. Dieser Eintrag im Zonefile der Domain ist sinnvollerweise ein CNAME auf "localhost.":

/var/named/localhost.zone

    localhost       IN CNAME localhost.

Die Reverse-Zone sieht damit wie im Beispiel aus.
Vergleicht man beide Methoden, stellt man fest, dass deren Funktion von der Konfiguration der Clients abhängt. Normalerweise muß eine Maschine in der Lage sein, "localhost" aufzulösen. Verwendet man die erste Methode, muß also eine Suchliste definiert sein, bei der unter mindestens einer Domain der Host "localhost" existiert. Hier liegt also ein Vorteil der zweiten Methode.
Der Hauptnachteil der zweiten Methode ist, dass man eine "localhost."-Topleveldomain definiert, was das Toplevel-Konzept etwas verletzt, und dadurch von einigen Administratoren als unsauber bezeichnet wird. In der Praxis hat sich jedoch die zweite Methode bewährt, die zudem etwas performanter ist, und findet breiten Einsatz.