Wir sind unabhängig, neutral und finanzieren uns teilweise über Werbung und Partnerprovisionen.
Danke wenn du uns unterstützt. Weitere Infos zum Bedanken findest Du hier. Diese Seite verwendet hierzu Cookies & Tracking-Cookies, weitere Informationen findest du hier. Wenn du diese Seite weiterhin besuchst, erklärst du dich damit einverstanden.

Diese seite ist neutral und unabhängig. Die Finanzierung erfolgt teilweise über Werbung und Partnerprovisionen. Danke wenn Du mich unterstützt.
Diese Seite verwendet Cookies & Tracking-Cookies, weitere Informationen findest Du hier. Wenn du diese Seite weiterhin besuchst, erklärst du dich damit einverstanden.

(x) Hinweise ausblenden/einblenden.
Diese Seite ist neutral und unabhängig.
Alle Anleitungen stehen zu 100 %
kostenlos zur Verfügung.
Die Finanzierung erfolgt teilweise
über Werbung und Partnerprovisionen.
Danke wenn Du mich dabei unterstützt.

Alle Infos zum Bedanken findest Du hier.

Besuche Amazon vor Deinem nächsten
Einkauf über diesen Danke Affiliate Link.


Hier kannst Du mir mit PayPal Danken.
Du kannst den Betrag auch anpassen.

Gefällt Dir meine Anleitung?
Hier kannst Du mich Bewerten.
5-Stars



bind9 DNS caching & forwarding Server
unter Ubuntu Linux © 2021-08-31 # ctaas.de




Was ist bind? Warum bind?:
bind9 führt DNS-Lookup-Requests aus und kann so z. B. die IP-Adresse zu einem Domainnamen/FQDN
bestimmen (z. B. die Auflösung des FQDN www.google.de in die IP-Adresse 216.58.213.35 ausführen).
Unter Windows verwendet man zur Auflösung von IP-Adressen oder zur Ermittlung von Domainnamen den Befehl [nslookup], unter Ubuntu/Linux verwendet man den Befehl [dig].
bind9 kann diese DNS-Lookups-Requests cachen und so den Zugriff auf häufig verwendete Webseiten enorm beschleunigen. bind verwendet dabei den Port 53 (UDP & TCP).
Um etwas besser den Hintergrund der nachfolgenden Anleitung zu verstehen kurz ein paar wichtige Basics.

Wichtige Abkürzungen zur Erinnerung kurz erklärt:
[A]     steht für eine IPv4-Adresse.
[AAAA]  steht für eine IPv6-Adresse.
[IN]    steht für Internet im Gegensatz zum lokalen Netzwerk. Die Ziffer vor [IN] bedeutet time-to-live (TTL) - wie lange soll die Abfrage gecacht werden.
[CNAME] der (Common Name) teilt einem mit, dass eine Domain unter einem anderen Namen verfügbar ist (der folgende CNAME www.ctaas.de verweist z. B. auf ctaas.de).
[PTR]   steht für Pointer Resource Records und dient der reverse DNS-Auflösung von IP-Adressen, zu A bzw. AAAA Resource Record Einträgen und ermöglicht so z. B. die Rückwärtsauflösung der IP-Adresse 8.8.8.8 in den FQDN google-public-dns-a.google.com.
[SOA]   steht für Start of Authority und bestimmt den Start der Zone (die root der entsprechenden Domain/Zone).
[NS]    steht für Name Server.
[FQDN]  steht für Fully Qualified Domain Name also für eine komplette Adresse wie z. B. www.ctaas.de.

Einige ausgewählte bind9 Abfragevarianten für Tests:
Unter Ubuntu/Linux:
[dig www.ctaas.de] - komplette DNS-Lookup Abfrage.
[dig www.ctaas.de +short] - kurze Abfrage nur IP-Adressauflösung.
[dig -x 8.8.4.4] - das [-x] steht für reverse lookup - es wird hier also der zu IP-Adresse dazugehörige FQDN ermittelt.
[dig -x 8.8.4.4 +short] - liefert nur den QFDN zurück (z. B. google-public-dns-b.google.com).
[dig @127.0.0.1 www.ctaas.de] - fragt nur den unter @IP-Adresse angegebenen Namenserver an - hier gibt man also die eigene IP-Adresse des eigenen bind9 Servers an.
[time dig test.de] - Mit Zeitmessung für Geschwindigkeitstests. Ergebnisse sind von der Leistungsfähigkeit des eigenen Systems abhängig. Systemlaufzeiten fließen mit in die Messung mit ein.

Unter Windows:
[nslookup -q=any ctaas.de -4] - eine IPv4-Anfrage an den Standard DNS-Server stellen.
[nslookup -q=any ctaas.de 8.8.8.8] - Anfrage an einen anderen DNS-Server stellen (hier der google-DNS-Server).
[nslookup 8.8.8.8] - reverse lookup - Auflösung des Domainnamens hier z. B. google-public-dns-a.google.com.
[nslookup IP-ADRESSE 8.8.8.8] - reverse lookup Anfrage an einen anderen DNS-Server stellen (hier der google DNS-Server).
Achtung erhält man unter Windows keine Antwort, so kann dies daran liegen das Windows standardmäßig versucht eine IPv6-Anfrage ab zu schicken.
Als Lösung hängt man an die Abfrage ein [-4] an, oder deaktiviert die IPv6-Unterstützung auf der Netzwerkkarte.

bind9 forwarding & caching einrichten:


1.
Zuerst die nötigen Pakete installieren:
apt-get install bind9 bind9utils bind9-doc


2.
Als nächstes geben wir die DNS-Server an über welche die Namensauflösung laufen soll.
Hier gibt man die DNS-Adressen des jeweiligen Internetproviders ein.
Alternativ kann man auch andere öffentliche DNS-Server wie z. B. die von Google (8.8.8.8) verwenden (siehe nachfolgenden Liste).
nano /etc/bind/named.conf.options

// Vertrauenswürdigen Netzbereich festlegen.
acl goodclients {
 192.168.0.0/24; // Lokales Netz (den IP-Adress-Bereich entsprechend anpassen).
 10.8.0.0/24; // OpenVPN Netzwerk User.
 localhost;
 localnets;
};

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.

    allow-query { goodclients; }; // Nur die oben als Vertrauenswürdig eingestuften User können den DNS nutzen.

    // Hier den forwarders Eintrag (für die Namensauflösung von externen Webseiten/Diensten) wie folgt aktivieren und anpassen.
    // Wichtig: Hier darf man nicht die IP-Adresse von einem standard DSL-Router angeben, da diese keinen echten DNS-Server bieten.
    // Stattdessen sollte man einen oder mehrere der hier aufgeführten DNS-Server verwenden.
    forwarders {

    9.9.9.9;         // Malware-Blockierung, DNSSEC-Validierung (typische Konfiguration/sehr Empfohlen) (www.quad9.net, Global Cyber Alliance (GCA) & Partner)
    9.9.9.10;        // Unsecured: Keine Malware-Blockierung, keine DNSSEC-Validierung (nur für Experten/Tests - weniger empfohlen)
    9.9.9.11;        // Secured w/ECS: Malware-Blockierung, DNSSEC-Validierung, ECS aktiviert

    208.67.222.123;  // OpenDNS Family Shield (block adult content/sehr Empfohlen)
    208.67.220.123;  // OpenDNS Family Shield (block adult content)

    1.1.1.1;         // Cloudflare und APNIC (1.1.1.1) (Empfohlen)
    1.0.0.1;         // Cloudflare und APNIC

    8.8.8.8;         // google-public-dns-a.google.com (Empfohlen)
    8.8.4.4;         // google-public-dns-b.google.com

                     // Alternativen (weniger Empfohlen):
                     // ccc.de, opennicproject.org
                     // T-Online betreibt ebenso mehrere Server die jedoch schnell wechseln - diese muss man daher ggf. auf Aktualität prüfen.

    141.1.1.1;       // Cable & Wireless ehemals ECRC.

    };

    //========================================================================
    // 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 { any; };
};


3.
Anschließend sollte man den Dienst neu starten:
service bind9 restart


4.
Als nächstes sollte auf dem Server die Netzwerkeinstellungen so anpassen, dass zukünftig bind9 alle DNS-Anfragen auflöst:
nano /etc/network/interface

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static
 address 192.168.0.3 # Die IP-Adresse des DNS-Servers selbst.
 netmask 255.255.255.0 # Subnetzmaske entsprechend des eigenen Netzes.
 gateway 192.168.0.1 # Standard-Gateway (in der Regel der heimische DSL-Router).
 dns-nameservers 192.168.0.3 # lokale DNS-Server IP-Adresse (Anfragen über bind9 ausführen).
 dns-search mein.lan # Optional: Welche Suchdomain wird automatisch angehängt? [+]
 dns-domain mein.lan # Optional: Welche Domain wird verwendet? [+]
 broadcast 192.168.0.255 # Optional: Den Bereich vom Netzwerk Broadcast festlegen.
 network 192.168.0.0 # Optional: Den Netzwerkbereich festlegen.


5.
bind9 IPv6-Unterstützung ausschalten (auf Systemebene können noch andere Änderungen notwendig sein):
nano /etc/default/bind9

# Hier den folgenden Parameter ergänzen:
OPTIONS="-4 -u bind"

6.
Auch auf allen Clients die den DNS-Cache-Server ab sofort nutzen wollen trägt man jetzt die IP-Adresse des bind9-Servers ein. Hier im Beispiel wäre dies die 192.168.0.3.
Als fallback, für den Fall das der DNS-Server mal ausfallen sollte kann man als zweiten DNS-Server den Standard DSL-Router angeben. Dieser wird von den Clients nur genutzt wenn der erste DNS-Server nicht antwortet.
Hinweis: Bei Windows Clients sollte man zu Beginn die IPv6-Unterstützung ausschalten, denn sonst muss man alle Abfragen mit dem Parameter [-4] für IPv4 ergänzen.
Beispiel: Windows 10 Client Netzwerkeinstellungen.

7.
Nun kann man testen ob das caching klappt:
dig @127.0.0.1 ctaas.de

; <<>> DiG 9.9.5-3ubuntu0.5-Ubuntu <<>> @127.0.0.1 www.ctaas.de
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 28185
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 13, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.ctaas.de. IN A

;; ANSWER SECTION:
www.ctaas.de. 3541 IN A 82.165.98.180

;; AUTHORITY SECTION:
. 1387 IN NS l.root-servers.net.
. 1387 IN NS b.root-servers.net.
. 1387 IN NS h.root-servers.net.
. 1387 IN NS d.root-servers.net.
. 1387 IN NS f.root-servers.net.
. 1387 IN NS i.root-servers.net.
. 1387 IN NS j.root-servers.net.
. 1387 IN NS c.root-servers.net.
. 1387 IN NS m.root-servers.net.
. 1387 IN NS g.root-servers.net.
. 1387 IN NS a.root-servers.net.
. 1387 IN NS k.root-servers.net.
. 1387 IN NS e.root-servers.net.

;; Query time: 1 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Tue Sep 29 21:04:26 CEST 2015
;; MSG SIZE rcvd: 268

Erklärung dazu:
Interessant ist hier besonders der Eintrag: [Query time: 1 msec].
Die erste Anfrage dauert in der Regel deutlich länger.
Startet man die Anfrage darauf jedoch erneut, so sollte die Antwort sehr schnell kommen < 10 ms, da diese Anfrage dann aus dem cache beantwortet wird.
Liegt die Anfragezeit auf der console trotzdem um ca. 20-30 msec, so ist der PC nicht schnell genug.
Der Effekt kann auch im Terminal unter VirtualBox auftreten, da hier meist keine Grafikbeschleunigung aktiv ist.
Umgehen kann man dies in dem man die Anfragen unter einem X11-Server mit Grafikbeschleunigung durchführt oder sich per Putty/SSH remote verbindet,
dann sinken die Zeiten auch auf ca. 0-10 msec.

Zuletzt kann man wenn man will noch die Firewall aktivieren:
ufw allow 53/udp
ufw allow 53/tcp
ufw enable

Das einfache caching ist hiermit abgeschlossen.

bind9 logging aktivieren:


8.
Wenn man das Logging nutzen möchte, so muss man in der [named.conf] folgendes hinzufügen:
nano /etc/bind/named.conf

// This is the primary configuration file for the BIND DNS server named.
//
// Please read /usr/share/doc/bind9/README.Debian.gz for information on the
// structure of BIND configuration files in Debian, *BEFORE* you customize
// this configuration file.
//
// If you are just adding zones, please do that in /etc/bind/named.conf.local

include "/etc/bind/named.conf.options";
include "/etc/bind/named.conf.local";
include "/etc/bind/named.conf.default-zones";

logging
{
  channel queries_log
 {
    file "/var/log/named/bind_queries.log" versions 3 size 5m;
    severity dynamic;
    print-time yes;
 };

  category queries { queries_log; };
};

Wichtig:
Das Logfile muss zwingend im Verzeichnis [/var/log/named/] liegen. Versucht man das Logging auf ein anderes Verzeichnis umzuleiten, so schlägt der Start von bind9 fehl.
Weiterhin muss man den Ordner noch anlegen und die entsprechenden Berechtigungen vergeben:
mkdir /var/log/named
chmod 777 /var/log/named

Alternative Logging Varianten:
logging
{
    channel default_file {
        file "/var/log/named/default.log" versions 3 size 5m;
        severity dynamic;
        print-time yes;
    };
    channel general_file {
        file "/var/log/named/general.log" versions 3 size 5m;
        severity dynamic;
        print-time yes;
    };
    channel database_file {
        file "/var/log/named/database.log" versions 3 size 5m;
        severity dynamic;
        print-time yes;
    };
    channel security_file {
        file "/var/log/named/security.log" versions 3 size 5m;
        severity dynamic;
        print-time yes;
    };
    channel config_file {
        file "/var/log/named/config.log" versions 3 size 5m;
        severity dynamic;
        print-time yes;
    };
    channel resolver_file {
        file "/var/log/named/resolver.log" versions 3 size 5m;
        severity dynamic;
        print-time yes;
    };
    channel xfer-in_file {
        file "/var/log/named/xfer-in.log" versions 3 size 5m;
        severity dynamic;
        print-time yes;
    };
    channel xfer-out_file {
        file "/var/log/named/xfer-out.log" versions 3 size 5m;
        severity dynamic;
        print-time yes;
    };
    channel notify_file {
        file "/var/log/named/notify.log" versions 3 size 5m;
        severity dynamic;
        print-time yes;
    };
    channel client_file {
        file "/var/log/named/client.log" versions 3 size 5m;
        severity dynamic;
        print-time yes;
    };
    channel unmatched_file {
        file "/var/log/named/unmatched.log" versions 3 size 5m;
        severity dynamic;
        print-time yes;
    };
    channel queries_file {
        file "/var/log/named/queries.log" versions 3 size 5m;
        severity dynamic;
        print-time yes;
    };
    channel network_file {
        file "/var/log/named/network.log" versions 3 size 5m;
        severity dynamic;
        print-time yes;
    };
    channel update_file {
        file "/var/log/named/update.log" versions 3 size 5m;
        severity dynamic;
        print-time yes;
    };
    channel dispatch_file {
        file "/var/log/named/dispatch.log" versions 3 size 5m;
        severity dynamic;
        print-time yes;
    };
    channel dnssec_file {
        file "/var/log/named/dnssec.log" versions 3 size 5m;
        severity dynamic;
        print-time yes;
    };
    channel lame-servers_file {
        file "/var/log/named/lame-servers.log" versions 3 size 5m;
        severity dynamic;
        print-time yes;
    };

    category default { default_file; };
    category general { general_file; };
    category database { database_file; };
    category security { security_file; };
    category config { config_file; };
    category resolver { resolver_file; };
    category xfer-in { xfer-in_file; };
    category xfer-out { xfer-out_file; };
    category notify { notify_file; };
    category client { client_file; };
    category unmatched { unmatched_file; };
    category queries { queries_file; };
    category network { network_file; };
    category update { update_file; };
    category dispatch { dispatch_file; };
    category dnssec { dnssec_file; };
    category lame-servers { lame-servers_file; };
};

Je nach Bedarf bindet man diese optionalen Logging-Möglichkeiten wie oben beschrieben mit ein.

Alternativ:
Logging mal anders (lauschen auf dem Port):
tcpdump -n -i any port 53

bind9 Zonen für eine eigene Domain:


Hinweise:
Eine eigene Zone muss man nur anlegen, wenn man eigene Serverdienste (über eine eigene Domain) bereitstellen will. Die Dokumentation umfasst hier nur die Basic Schritte - ist also nicht abschließend. Insbesondere wenn man einen öffentlich über das Internet erreichbaren Server betreibt, muss man noch verschiedene Absicherungen einrichten, um einen Missbrauch des Servers zu verhindern (z. B. 'DNS Amplification Attack'). Die Dokumentation beschreibt nur einen Master (stand-alone) Server, die Übergabe an einen Slave Server kann man später bei Bedarf problemlos nachrüsten wenn alles läuft. Des Weiteren wurde die IPv6-Unterstützung beim Erstellen der Dokumentation nur bedingt beachtet.

9.
Bind stellt zahlreiche Vorlagen bereit, diese liegen alle im Verzeichnis [/etc/bind/].

10.
Man kopiert am einfachsten folgendes Beispiel (forward) und passt dies für den eigenen Server an.
Die blauen Hervorhebungen sind Kommentare (auch die blauen Semikolon ;), diese solltet ihr nicht übernehmen.
Die gelben Hervorhebungen kennzeichnen Einträge die man anpassen kann.
Die grauen Hervorhebungen sind einige Vorschläge, wie man die eigene Umgebung anpassen könnte.
Verpflichtend ist nur ein SOA (Start of Authority) und ein NS (Name Server) Eintrag, alles andere ist optional.
cp /etc/bind/db.local /etc/bind/db.fwd
nano /etc/bind/db.fwd

;Die Standard-Datei wie folgt ändern:
;
; BIND data file for local loopback interface
;              ;Hinweis: alles blaue sind nur Kommentare - einschließlich der blauen [;]. Diese gehören hier normalerweise nicht mit rein (also nicht mit übernehmen).
$TTL    604800 ;= auf 900 (15 Minuten), 7200 (2 Stunden) oder 86400 (1 Tag) ändern.
@    IN    SOA    localhost. root.localhost. (  ;= (Start of Authority) Domain/Hostnamen & E-Mail ändern (z. B. dns.mein.lan). ***
                  2        ; Serial             ;= muss nach jeder Änderung hoch gezählt werden. Empfehlenswert ist die Angabe als Datum+Zähler (z. B. 20170316001).
             604800        ; Refresh            ;= wie folgt ändern 28800 (8 Stunden).
              86400        ; Retry              ;= wie folgt ändern 7200 (2 Stunden).
            2419200        ; Expire             ;= wie folgt ändern 604800 (7 Tage).
             604800 )      ; Negative Cache TTL ;= auf 900 (15 Minuten), 7200 (2 Stunden) oder 86400 (1 Tag) ändern.
;
@    IN    NS    localhost. ;= ändern auf den Server Hostnamen (der Name Server selbst - z. B. dns.mein.lan). ***
@    IN    A     127.0.0.1  ;= ändern auf lokale Server IP-Adresse des Name Severs (im Beispiel wäre dies 192.168.0.3). ***
@    IN    AAAA    ::1      ;= kann man löschen wenn man kein IPv6 nutzt.

;Optional/Beispiele: Auf welche Dienste/Server/Geräte soll die Domain verweisen?:
;dns.mein.lan.      IN  A       192.168.0.3   ;= Auflösung von dns.mein.lan in 192.168.0.3. ***

;mail.mein.lan.     IN  MX  10  192.168.0.10  ;= Mail Exchange Eintrag mit der Priorität 10.

;ad.mein.lan.       IN  A       192.168.0.20  ;= z. B. Active Directory.

;client30.mein.lan. IN  A       192.168.0.30  ;= z. B. Clien30.

;www                IN  CNAME  srv.mein.lan.  ;= bezeichnet einen Alias www, die Domain .mein.lan wird angehängt, da kein Punkt am Ende, selbiges verweist auf srv.mein.lan.
;srv.mein.lan.      IN  A       192.168.0.40  ;= (srv) hier wird der www. Alias, bzw. srv.mein.lan dann endgültig aufgelöst.
                                              ;  Der Server ist dann sowohl über srv.mein.lan als auch über www.srv.mein.lan erreichbar.
                                              ;  Hinweis: Ein Common Name (CNAME) muss zwingend auf einen A-Record Eintrag verweisen.

;ftp                IN  A       192.168.0.50  ;= (ftp) hier wird der Name endgültig aufgelöst, die Domain .mein.lan wird angehängt, da kein Punkt am Ende.

11.
Man kopiert am einfachsten folgendes Beispiel (reverse) und passt dies für den eigenen Server an:
cp /etc/bind/db.local /etc/bind/db.rev
nano /etc/bind/db.rev

;Die Standard-Datei wie folgt ändern:
;
; BIND data file for local loopback interface
;
$TTL    604800 ;= auf 900 (15 Minuten), 7200 (2 Stunden) oder 86400 (1 Tag) ändern.
@    IN    SOA    localhost. root.localhost. (  ;= (Start of Authority) Domain/Hostnamen & E-Mail ändern (z. B. dns.mein.lan). ***
                  2        ; Serial             ;= muss nach jeder Änderung hoch gezählt werden.
             604800        ; Refresh            ;= wie folgt ändern 28800 (8 Stunden).
              86400        ; Retry              ;= wie folgt ändern 7200 (2 Stunden).
            2419200        ; Expire             ;= wie folgt ändern 604800 (7 Tage).
             604800 )      ; Negative Cache TTL ;= auf 900 (15 Minuten), 7200 (2 Stunden) oder 86400 (1 Tag) ändern.

@    IN    NS  dns.mein.lan.                    ;= den Name Server Eintrag entsprechend anpassen (der Name Server selbst). ***

;Optional/Beispiele: Die Einträge sind bis hierher nahezu identisch mit der forward Zonendatei,
;allerdings erfolgt nun der lookup nun in die umgekehrte Richtung:

;3   IN  PTR     dns.mein.lan.       ;= Rückwärtsauflösung 192.168.0.3 in dns.mein.lan (der Name Server selbst). ***

;10  IN  MX  10  mail.mein.lan.      ;= Rückwärtsauflösung 192.168.0.10 in mail.mein.lan (Mail Exchange Eintrag mit der Priorität 10).

;20  IN  PTR     ad.mein.lan.        ;= Rückwärtsauflösung 192.168.0.20 in ad.mein.lan (Active Directory).

;30  IN  PTR     client30.mein.lan.  ;= Rückwärtsauflösung 192.168.0.30 in client30.mein.lan (Client30).

;40  IN  PTR     srv.mein.lan.       ;= Rückwärtsauflösung 192.168.0.40 in srv.mein.lan (srv).

;50  IN  PTR     ftp                 ;= Rückwärtsauflösung 192.168.0.50 in ftp.mein.lan (ftp) die Domain .mein.lan wird automatisch angehängt, da kein Punkt am Ende.

In jeder Zonendatei gibt es den SOA-Eintrag (Start of Authority). Dieser gibt an, welches die Ursprungszone ist, weiterhin wird der mailtechnisch Verantwortliche dieser Zone benannt.
Dabei wird der erste Punkt [.] als [@] gelesen, so dass sich hier im Beispiel folgende E-Mailadresse ergibt [root@localhost] (diese sollte man anpassen).
Die angegebenen TTL (time-to-live) Zeiten gelten nur für die entsprechende selbst definierte Domain - typische Laufzeiten habe ich angegeben.
Wichtig nach Änderungen an der Datei muss man den Serial-Zähler [2] hoch zählen, um sicher zu gehen dass die Änderungen übernommen werden.
Beachtet auch, dass an alle Domainnamen, die nicht mit einem Punkt [.] enden, die Domain angehängt wird (siehe z. B. das ftp/192.168.0.50 Beispiel).

12.
Dem Master DNS-Server bind9 die neue Domain/Zone bekannt machen:
nano /etc/bind/named.conf.local

//Add a zone for our local domain like so:
//forwarding:
zone "mein.lan" IN { // = ist der Domainname.
type master;
file "/etc/bind/db.fwd";
// = ist der Verweis auf die forward-Zonen-Datei.
};

//reverse:
zone "0.168.192.in-addr.arpa" { // = reverse lookup in umgekehrter Schreibweise ohne letzte Stelle.
type master;
file "/etc/bind/db.rev";
// = ist der Verweis auf die reverse-Zonen-Datei.
};

Um sicher zu gehen das die Einstellungen übernommen werden, sollte man bind neu starten.

adblock mit bind9:


Will man verschiedene Webseiten, z. B. Werbedienste blockieren, so kann man diese wie folgt einbinden:
...
zone "doubleclick.com" { type master; notify no; file "null.zone.file"; };
zone "doubleclick.de" { type master; notify no; file "null.zone.file"; };
zone "doubleclick.net" { type master; notify no; file "null.zone.file"; };
...

Fertige adblock-Listen findet man z. B. hier:
http://pgl.yoyo.org/as/index.php

http://pgl.yoyo.org/adservers/serverlist.php?hostformat=bindconfig&showintro=1&mimetype=plaintext http://pgl.yoyo.org/adservers/... # Direktlink im bind-Format.

Diese Liste muss man nun noch bind9 bekannt machen.
Die Dokumentation ist hier noch nicht 100 % abschließend.

bind9 DNS-Speedtest & externe Links:


code.google.com/p/namebench/ - Speedtest-Tool von google

wiki.debian.org/Bind9 - bind Dokumentation von Debian.

help.ubuntu.com/community/BIND9ServerHowto - Ubuntu Server Howto.

https://ubuntu.com/server/docs/service-domain-name-service-dns - Ubuntu Serverguide.

askubuntu.com/questions/330148/how-do-i-do-a-complete-bind9-dns-server-configuration-with-a-hostname

Recursive and Authoritative DNS Server on Ubuntu (youtube.com)

Abschließende Hinweise:


IP-Adressen, E-Mailadressen, Namen u. ä. wurden für die Dokumentation geändert, hacken ist also zwecklos.
Die Nutzung der Anleitung erfolgt auf eigene Gefahr, für jegliche Schäden wird keine Garantie/Haftung übernommen!
Bevor sie eventuell Fragen stellen bitte ich sie die Dokumentation komplett zu lesen.
Hinweise auf Fehler, Anregungen, Danksagungen oder ähnliches sind immer willkommen.

Design:

© ctaas.de, A. Schröder, Kahla [Impressum]