DNS-Server mit bind8

bind8 - Eine gute Lösung für den eigenen Nameserver. Die Installation erfolgt mit
apt-get install bind
Für einen privaten Masterserver sind in der Regel drei Dateien nötig, aktuell 5, bedingt durch das zweite Subnetz:

- vier Zonendateien unter /etc/bind

- die named.conf unter /etc/bind
Die Form der Zonendateien in meiner Version sehen wie folgt aus:
192.168.0.zone:

$TTL 2D
0.168.192.in-addr.arpa. IN SOA  firewall.svenali. root.localhost. (
                                2005080601      ; serial
                                1D              ; refresh
                                2H              ; retry
                                1W              ; expiry
                                2D )            ; minimum
                        IN NS   firewall.svenali.

1                       IN PTR  firewall.svenali.
2                       IN PTR  anakin.svenali.
3                       IN PTR  notebook.svenali.
4                       IN PTR  videopc.svenali.
5                       IN PTR  athlonxp.svenali.
Sobald sie erstellt wurde, abspeichern unter <ihreIPdesServers>.zone unter /etc/bind. In der svenaliserver.zone-Datei wird definiert, welche Namen zu welcher IP-Adresse gehört. Diese Datei wird unter <ihrservername>.zone abgespeichert in /etc/bind. In dieser Datei sind die Relationen zwischen IP-Adresse und URL-Adresse/HOSTNAME gespeichert.
svenaliserver.zone:
$TTL 2D
svenali.  IN SOA          firewall        root.localhost. (
                                2005080601      ; serial
                                1D              ; refresh
                                2H              ; retry
                                1W              ; expiry
                                2D )            ; minimum
                IN NS           firewall

firewall        IN A            192.168.0.1
anakin          IN A            192.168.0.2
notebook        IN A            192.168.0.3
videopc         IN A            192.168.0.4
athlonxp        IN A            192.168.0.5
Damit ist das Subnetz 192.168.0.0 fertig definiert. Nun folgt die Definition des zweiten Subnetzes. Auch hierfür werden zwei Zonendateien angelegt. Die erste ist
digitaltv.zone:
$TTL 2D
digitaltv.      IN SOA          firewall        root.localhost. (
                                2005080601      ; serial
                                1D              ; refresh
                                2H              ; retry
                                1W              ; expiry
                                2D )            ; minimum
                IN NS           firewall

anakin          IN A            192.168.1.1
dbox            IN A            192.168.1.210
Danach auch hier eine Zonendatei für die umgekehrte Auflösung:
192.168.1.0.zone:
$TTL 2D
1.168.192.in-addr.arpa. IN SOA  firewall.digitaltv. root.localhost. (
                                2005080601      ; serial
                                1D              ; refresh
                                2H              ; retry
                                1W              ; expiry
                                2D )            ; minimum
                        IN NS   anakin.digitaltv.

1                       IN PTR  anakin.digitaltv.
210                     IN PTR  dbox.digitaltv.
Zu guter Letzt ist die named.conf zu bearbeiten. "Offnet man sie unter /etc/bind muß sie wie in diesem Beispiel konfiguriert werden.
#
# /etc/named.conf
#

options {
    directory "/var/named";
    forwarders { 194.25.2.129;  217.5.115.7; };   # Nameserver der Telekom
    listen-on port 53 { 127.0.0.1; 192.168.0.1; };
    query-source address * port 53;
    allow-query { 127.0.0.1; 192.168.0/24; };     # localhost u. pr. Netz haben Erlaubnis
    cleaning-interval 120;                        # Cache loeschen nach 120min
    statistics-interval 0;
    notify no;
};

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

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

zone "." in {
    type hint;
    file "root.hint";
};

zone ßvenali" in {
    type master;
    file ßvenali.zone";                    # Die Zonendateien
};

zone "0.168.192.in-addr.arpa" in {
    type master;
    file "192.168.0.zone";                        # Die Zonendateien
};

zone "digitaltv" in {
        type master;
        file "digitaltv.zone";
};

zone "1.168.192.in-addr.arpa" in {
        type master;
        file "192.168.1.zone";
};
Die wichtigsten Einstellungen sind kommentiert. Ist auch diese Datei ordnungsgemäß erstellt worden, dann steht dem Start des DNS-Servers nichts mehr im Wege. Ein einfaches /etc/init.d/bind start reicht aus. Möchte man auch hier ein automatisches Starten beim Bootvorgang, so muß man wieder eine entsprechende Verlinkungen veranlasst werden. Ob der Nameserver auch funktioniert, erfährt man durch den Aufruf von nslookup. Ein Tool, mit der sich Adressen testweise auflösen lassen. Ab Debian Linux 3.1 (Sarge) kann es passieren, daß beim Testen des DNS-Servers Fehlermeldungen auftreten, die besagen, daß sich die Root-Server nicht abfragen lassen. Dieser Fehler wird behoben, in dem man in der named.conf den Eintrag
forward only;
hinzufügt. Jetzt kann man seinen eigenen DNS-Server in der /etc/resolv.conf eintragen. Eine IP des Servers reicht aus. Wichtig ist, daß die Forwarder an die DNS-Adressen der Deutschen Telekom korrekt sind, sonst werden keine Internetadressen aufgelöst.



Sven Alisch 2005-08-28