Installieren eines Caching-DNS-Servers unter Windows. Wir erstellen unser eigenes lokales DNS (PDNSD), mit Blackjack und schneller als Google Public DNS. Online-Kurse zu Mikrotik

Ein DNS-Cache ist eine temporäre Datenbank, die Informationen über frühere DNS-Suchen speichert. Mit anderen Worten: Wann immer Sie eine Website besuchen, zeichnen Ihr Betriebssystem und Ihr Webbrowser die Domain und die entsprechende IP-Adresse auf. Dadurch entfällt die Notwendigkeit wiederholter Abfragen an entfernte DNS-Server und Ihr Betriebssystem oder Browser kann Website-URLs schnell auflösen.

In manchen Situationen, beispielsweise bei der Behebung von Netzwerkproblemen oder nach einem Wechsel des DNS-Resolvers, müssen Sie jedoch den DNS-Cache leeren. Dadurch werden zwischengespeicherte DNS-Einträge gelöscht und nachfolgende Suchvorgänge durchgeführt, um die Domäne basierend auf den neu konfigurierten DNS-Einstellungen aufzulösen.

Dieser Artikel enthält Anweisungen zum Löschen des DNS-Cache auf verschiedenen Betriebssystemen und Webbrowsern.

DNS-Cache in Windows leeren/löschen

Der Vorgang zum Löschen des DNS-Cache ist für alle Windows-Versionen gleich. Sie müssen eine Eingabeaufforderung mit Administratorrechten öffnen und ipconfig /flushdns ausführen.

Windows 10 und Windows 8

Um den DNS-Cache unter Windows 10 und 8 zu leeren, gehen Sie folgendermaßen vor:

  1. Geben Sie cmd in die Windows-Suchleiste ein.
  2. ipconfig /flushdns

    Windows 7

    Um den DNS-Cache in Windows 7 zu leeren, gehen Sie folgendermaßen vor:

    1. Klicken Sie auf die Schaltfläche Start.
    2. Geben Sie cmd in das Suchtextfeld des Startmenüs ein.
    3. Klicken Sie mit der rechten Maustaste auf die Eingabeaufforderung und wählen Sie Als Administrator ausführen. Dadurch wird ein Eingabeaufforderungsfenster geöffnet.
    4. Geben Sie an der Eingabeaufforderung die folgende Zeile ein und drücken Sie die Eingabetaste:

      ipconfig /flushdns

      Bei Erfolg gibt das System die folgende Meldung zurück:

      Windows-IP-Konfiguration Der DNS-Resolver-Cache wurde erfolgreich geleert.

    DNS-Cache unter Linux leeren/löschen

    Linux verfügt nicht über DNS-Caching auf Betriebssystemebene, es sei denn, ein Caching-Dienst wie Systemd-Resolved, DNSMasq oder Nscd ist installiert und wird ausgeführt. Der Vorgang zum Löschen des DNS-Cache unterscheidet sich je nach verwendetem Verteilungs- und Caching-Dienst.

    Systemd gelöst

    Die meisten modernen Linux-Distributionen, wie z. B. , verwenden einen systemaktivierten Dienst zum Zwischenspeichern von DNS-Einträgen.

    Um herauszufinden, ob der Dienst ausgeführt wird, führen Sie Folgendes aus:

    sudo systemctl is-active systemd-resolved.service

    Wenn der Dienst ausgeführt wird, wird der Befehl „aktiv“ ausgegeben, andernfalls wird „inaktiv“ angezeigt.

    Um den vom Systemd aufgelösten DNS-Cache zu löschen, müssen Sie den folgenden Befehl eingeben.

    sudo systemd-resolve --flush-caches

    Bei Erfolg gibt der Befehl keine Nachricht zurück.

    Dnsmasq

    Dnsmasq ist ein einfacher DHCP- und DNS-Namen-Caching-Server.

    Wenn Ihr System DNSMasq als Caching-Server verwendet, müssen Sie zum Löschen des DNS-Cache den Dnsmasq-Dienst neu starten:

    sudo systemctl startet dnsmasq.service neu

    Sudo-Dienst dnsmasq neu starten

    Nscd

    Nscd ist ein Caching-Daemon und das DNS-Caching-System der Wahl für die meisten RedHat-basierten Distributionen.

    Wenn Ihr System Nscd verwendet, müssen Sie den Nscd-Dienst neu starten, um den DNS-Cache zu leeren:

    sudo systemctl starte nscd.service neu

    sudo-Dienst nscd neu starten

    DNS-Cache unter MacOS leeren/löschen

    Der Befehl zum Leeren des Caches unter MacOS unterscheidet sich je nach verwendeter Version geringfügig. Der Befehl muss als Benutzer mit Systemadministratorrechten (Sudo-Benutzer) ausgeführt werden.

    Um den DNS-Cache unter MacOS zu leeren, gehen Sie folgendermaßen vor:

    1. Öffnen Sie den Finder.
    2. Gehen Sie zu Anwendungen > Dienstprogramme > Terminal. Dadurch wird ein Terminalfenster geöffnet.
    3. Geben Sie an der Eingabeaufforderung die folgende Zeile ein und drücken Sie die Eingabetaste:

      sudo killall -HUP mDNSResponder

      Geben Sie Ihr Sudo-Passwort ein und drücken Sie erneut die Eingabetaste. Bei Erfolg gibt das System keine Meldungen zurück.

    Bei früheren Versionen von MacOS ist der Befehl zum Leeren des Caches anders.

    MacOS-Versionen 10.11 und 10.9

    sudo dscacheutil -flushcache sudo killall -HUP mDNSResponder

    MacOS-Version 10.10

    Sudo Discoveryutil Mdnsflushcache Sudo Discoveryutil Udnsflushcaches

    MacOS-Versionen 10.6 und 10.5

    sudo dscacheutil -flushcache

    Browser-DNS-Cache löschen/löschen

    Die meisten modernen Webbrowser verfügen über einen integrierten DNS-Client, der doppelte Abfragen bei jedem Besuch einer Website verhindert.

    Google Chrome

    Um den DNS-Cache von Google Chrome zu leeren, gehen Sie folgendermaßen vor:

    1. Öffnen Sie einen neuen Tab und geben Sie in die Chrome-Adressleiste Folgendes ein: chrome://net-internals/#dns.
    2. Klicken Sie auf die Schaltfläche Host-Cache löschen.

    Wenn dies bei Ihnen nicht funktioniert, versuchen Sie, Ihren Cache und Ihre Cookies zu leeren.

    1. Drücken Sie STRG+Umschalt+Entf, um das Dialogfeld „Browserdaten löschen“ zu öffnen.
    2. Wählen Sie einen Zeitbereich aus. Wählen Sie „Alle Zeiten“, um alles zu löschen.
    3. Aktivieren Sie die Kontrollkästchen „Cookies und andere Websitedaten“ und „Zwischengespeicherte Bilder und Dateien“.
    4. Klicken Sie auf die Schaltfläche „Daten löschen“.

    Diese Methode sollte für alle Chrome-basierten Browser funktionieren, einschließlich Chromium, Vivaldi und Opera.

    Feuerfuchs

    Um den DNS-Cache von Firefox zu leeren, gehen Sie folgendermaßen vor:

    1. Klicken Sie in der oberen rechten Ecke auf das Hamburger-Symbol ☰, um das Firefox-Menü zu öffnen:
    2. Klicken Sie auf den Link ⚙ Optionen (Einstellungen).
    3. Klicken Sie links auf die Registerkarte „Datenschutz und Sicherheit“ oder „Vertraulichkeit“.
    4. Scrollen Sie nach unten zum Abschnitt „Verlauf“ und klicken Sie auf die Schaltfläche „Verlauf löschen...“.
    5. Wählen Sie einen Zeitraum zum Löschen aus. Wählen Sie „Alle“, um alles zu löschen.
    6. Wählen Sie alle Felder aus und klicken Sie auf Jetzt löschen.

    Wenn dies bei Ihnen nicht funktioniert, versuchen Sie es mit der nächsten Methode und deaktivieren Sie vorübergehend den DNS-Cache.

    1. Öffnen Sie einen neuen Tab und geben Sie about:config in die Firefox-Adressleiste ein.
    2. Suchen Sie „network.dnsCacheExpiration“, setzen Sie den Wert vorübergehend auf 0 und klicken Sie auf „OK“. Ändern Sie anschließend den Standardwert und klicken Sie auf OK.
    3. Suchen Sie „network.dnsCacheEntries“, setzen Sie den Wert vorübergehend auf 0 und klicken Sie auf „OK“. Ändern Sie anschließend den Standardwert und klicken Sie auf OK.

    Abschluss

    Sie haben gelernt, wie Sie den DNS-Cache auf Windows-, Linux- und MacOS-Betriebssystemen löschen oder leeren.

    Linux und MacOS können den Befehl dig verwenden, um DNS abzufragen und DNS-Probleme zu beheben.

    Wenn Sie Fragen oder Feedback haben, können Sie gerne einen Kommentar hinterlassen.

Jedes Jahr wird die Geschwindigkeit des Internets – sowohl auf der letzten Meile als auch auf den Hauptkanälen – höher. Nur eines ist konstant – die Latenz hat bereits physikalische Grenzen erreicht: Die Lichtgeschwindigkeit in Glasfaser beträgt etwa 200.000 Kilometer pro Sekunde, und dementsprechend kann eine Antwort von einem Server auf der anderen Seite des Atlantischen Ozeans nicht schneller als ~150 ms empfangen werden absehbare Zukunft (obwohl es natürlich Freuden gibt, wie Glasfaser mit Luftkern oder Richtfunkkommunikation, aber diese ist für Normalsterbliche kaum zugänglich).

Wenn wir beispielsweise von Russland aus versuchen, eine Website in den USA zu öffnen (ihre NS-Server befinden sich wahrscheinlich dort) und die Domain nicht im DNS-Cache Ihres Providers gefunden wird, müssen wir selbst darauf lange warten ein Gigabit-Internet, vielleicht sogar eine ganze Sekunde: Während wir über den Ozean gehen, erhalten wir die Namen der NS-Server der Domäne, während wir ihre IP auflösen, während wir die DNS-Anfrage selbst senden und empfangen ...

Vor ein paar Jahren hat Google seine öffentlichen DNS-Server eingeführt. Um den Übergang zu ihnen voranzutreiben, haben sie ein Dienstprogramm namens NameBench entwickelt, das DNS-Tests für Ihren Surfverlauf durchführt und zeigt, wie viel schneller Google DNS ist als der DNS-Server Ihres Anbieters.

Aber ich habe es geschafft, meinen eigenen DNS-Server zu erstellen, der schneller arbeitet als Google Public DNS, und in dieser kurzen Notiz möchte ich die Ergebnisse teilen.

PDNSD

pdnsd- DNS-Proxy zwischenspeichern. Zusätzlich zum banalen Zwischenspeichern von DNS-Anfragen (mit der Möglichkeit, die minimale TTL strikt festzulegen – dies kann bei sehr schlechtem Internet erforderlich sein) kann es eine Anfrage gleichzeitig an mehrere „übergeordnete“ DNS-Server senden und dem Client die geben erste zurückgegebene Antwort.

Es ist die Einbeziehung der parallelen Abfrage, die uns den größten Geschwindigkeitsvorteil verschafft, Weil Wenn ein Ergebnis im Cache eines der Anbieter gefunden wird, erhalten wir das Ergebnis sehr schnell und müssen nicht auf eine vollständige und langsame Lösung warten, wenn der erste Anbieter keine Antwort im Cache hat.

In Ubuntu mit banalem apt-get installiert.

Ein paar Punkte in der Konfiguration

global ( perm_cache=10240; //Maximale Cache-Größe in Kilobyte. //Standardmäßig war es 1024, alle meine Datensätze passten nicht. Cache_dir="/var/cache/pdnsd"; [...] min_ttl=60m; // Mindestzeit zum Speichern eines Eintrags im Cache. // Auch wenn die TTL weniger als 60 Minuten eintrifft, beträgt sie 60 Minuten max_ttl=1w; // Maximale Zeit zum Speichern eines Eintrags im Cache neg_ttl=5m; // Zeit zum Zwischenspeichern negativer Antworten (d. h. wenn die Domain nicht gefunden wird) [..] par_queries=3; //Anzahl gleichzeitig abgefragter „übergeordneter“ DNS-Server) server ( label = „main“; ip = 85.21.192.5 //There Es gibt 4 Server. Wenn die ersten 3 nicht antworten, wird eine Anfrage an den 4. gesendet, 213.234.192.7 // Die ersten 2 Server sind der Server Ihres Anbieters und einige benachbarte Server, 8.8.4.4 // Das ist Google Public DNS – alles wird selten zwischengespeichert und schnell aufgelöst, 8.8.8.8 ; [.. ] )

Grundsätzlich kann das Caching weniger aggressiv gestaltet werden (z. B. min_ttl=1m), im Laufe eines Betriebsjahres sind jedoch keine besonderen Probleme aufgetreten. Bei Problemen können Sie optional einen Eintrag aus dem Cache löschen:
sudo pdnsd-ctl record 3.14.by löschen oder alle auf einmal:
sudo pdnsd-ctl leerer Cache

Testergebnisse in NameBench



Wir sehen, dass wir bei 50 % der Anfragen eine Antwort in weniger als 10 ms erhalten, bei 85 % ist Google Public DNS schneller, und dann stimmen die Ergebnisse natürlich mit denen von Google überein.

Basierend auf den Testergebnissen berichtet uns NameBench erfreut:

8.8.8.8 Langsamere Replik von SYS-192.167.0.98 8.8.4.4 Langsamere Replik von SYS-192.167.0.98

So können Sie mit einem intelligenten Caching-DNS-Proxy mit parallelen Abfragen sogar ein 100-Megabit-Internet beschleunigen. Und bei langsamen (Funk-)Verbindungen mit hoher Latenz und Paketverlust kann der Unterschied himmlisch sein.

Stellen Sie sich vor, wie es wäre, wenn wir uns erinnern müssten IP-Adressen aller Websites, die wir täglich nutzen. Selbst wenn wir ein hervorragendes Gedächtnis hätten, wäre die Navigation zu einer Website lächerlich langsam und mühsam.

Was ist, wenn wir mehrere Websites besuchen oder mehrere Anwendungen verwenden müssen, die sich auf demselben Computer oder virtuellen Host befinden? Dies wird eines der schlimmsten Kopfschmerzen sein, die man sich vorstellen kann – ganz zu schweigen von der Möglichkeit einer Veränderung IP-Adressen im Zusammenhang mit der Website oder Anwendung ohne vorherige Ankündigung.

Allein der Gedanke daran wäre Grund genug, das Internet bzw. Intranets nach einiger Zeit nicht mehr zu nutzen.

Das ist es, was eine Welt ohne das Domain Name System (auch bekannt als DNS). Glücklicherweise löst dieser Dienst alle oben genannten Probleme, auch wenn die Verbindung zwischen IP-Änderungen von Adressen und Domänennamen.

Aus diesem Grund erfahren Sie in diesem Artikel, wie Sie ein einfaches Gerät einrichten und verwenden DNS-server, ein Dienst, mit dem Sie Domänennamen übersetzen können IP-Adressen und umgekehrt.

DNS-Namensauflösungen

Für kleine Netzwerke, die keinen häufigen Änderungen unterliegen, ist die Datei /etc/hosts kann als rudimentäre Methode zur Bestimmung des aufzulösenden Domänennamens verwendet werden IP-Adressen.

Mit dieser Datei können Sie mithilfe einer sehr einfachen Syntax einen Namen (und/oder einen Alias) verknüpfen IP-Adresse. Dies geschieht wie folgt:

Zum Beispiel,

192.168.0.1 Gateway Gateway.meineDomäne.com 192.168.0.2 Web web.meineDomäne.com

Auf diese Weise können Sie die Webmaschine entweder namentlich kontaktieren web.meinedomain.com, oder nach ihr IP-Adresse.

Für große Netzwerke oder solche, die häufigen Änderungen unterliegen, verwenden Sie die Datei /etc/hosts um Domain-Namen aufzulösen IP-Adressen sind keine akzeptable Lösung. Hier entsteht der Bedarf nach einem besonderen Service.

Werfen wir einen Blick hinter die Kulissen der Arbeit DNS. DNS-server fordert eine große Datenbank in Form eines Baums an, der im Stammverzeichnis beginnt ( «.» ) Zonen.

Die folgende Abbildung hilft uns zu verstehen, wovon wir sprechen:

Das Bild oben zeigt die Root-Zone (.) enthält com, edu Und Netz First-Level-Domains. Jede dieser Domänen wird (oder könnte) von verschiedenen Organisationen verwaltet, um die Abhängigkeit von einer großen zentralen Organisation zu vermeiden. Dadurch können Sie Abfragen korrekt über die Hierarchie verteilen.

Mal sehen was passiert:

1. Wenn ein Kunde eine Anfrage stellt DNS-Server für web1.sales.me.com, der Server sendet eine Anfrage an die Spitze (root) DNS-Server, der die Anfrage an den Nameserver in der Zone weiterleitet .com.

Dies wiederum sendet eine Anfrage an den Nameserver der nächsten Ebene (in der Zone). me.com), und dann zu sales.me.com. Dieser Vorgang wird so oft wie nötig wiederholt, bis der vollständig qualifizierte Domänenname (FQDN, web1.sales.me.com in diesem Beispiel) wird vom Nameserver der Zone, in der es sich befindet, nicht zurückgegeben.

2. In diesem Beispiel der Nameserver in sales.me.com Verantwortlich für die Adresse web1.sales.me.com und gibt die gewünschte Zuordnung für den Domainnamen zurück - IP und andere Informationen (sofern dafür konfiguriert).

Alle diese Informationen werden an die Quelle gesendet DNS-server, der es dann an den Client zurückgibt, der es angefordert hat. Um zu vermeiden, dass dieselben Schritte für zukünftige identische Abfragen wiederholt werden, werden die Abfrageergebnisse gespeichert DNS-Server. Dies ist der wichtige Aspekt, für den eine solche Einstellung normalerweise aufgerufen wird rekursives Caching-DNS-Server-Setup.

Installieren und Konfigurieren eines DNS-Servers

IN Linux am Meisten verwendet DNS-Der Server ist binden(kurz für Berkeley Internet Name Daemon), der wie folgt installiert werden kann:

# yum installiere bind bind-utils # zypper installiere bind bind-utils # aptitude installiere bind9 bind9utils

Nachdem wir installiert haben binden und zugehöriger Dienstprogramme erstellen Sie eine Kopie der Konfigurationsdatei, bevor Sie Änderungen vornehmen:

# cp /etc/named.conf /etc/named.conf.orig # cp /etc/bind/named.conf /etc/bind/named.conf.orig

Dann lasst uns öffnen benannt.conf und fahren Sie mit dem Parameterblock fort, in dem wir die folgenden Einstellungen für den rekursiven Caching-Server angeben müssen IP 192.168.0.18/24, auf die nur Hosts im selben Netzwerk zugreifen können (aus Sicherheitsgründen).

Die Forward-Zone-Optionen werden verwendet, um anzugeben, welche Nameserver zuerst abgefragt werden sollen (im folgenden Beispiel verwenden wir die Nameserver von Google) für Hosts außerhalb unserer Domain:

Optionen ( ... Listen-on-Port 53 ( 127.0.0.1; 192.168.0.18); Allow-Query ( localhost; 192.168.0.0/24; ); Rekursion ja; Weiterleitungen ( 8.8.8.8; 8.8.4.4; ); . .. )

Außerhalb des Optionsblocks definieren wir unsere Zone sales.me.com(Unter Ubuntu erfolgt dies normalerweise in einer separaten Datei namens benannt.conf.local), das die Domäne mit dem angegebenen anzeigt IP-Adresse und Reverse-Zone für den Abgleich IP-Adressen zum entsprechenden Bereich.

Die tatsächliche Konfiguration jeder Zone erfolgt jedoch in separaten Dateien, wie in der Dateianweisung angegeben („Master“ bedeutet, dass wir nur einen DNS-Server verwenden).

Fügen Sie der Datei die folgenden Zeilen hinzu benannt.conf:

Zone „sales.me.com.“ IN (Typ master; Datei „/var/named/sales.me.com.zone“; ); Zone „0.168.192.in-addr.arpa“ IN ( Typ Master; Datei „/var/named/0.162.198.in-addr.arpa.zone“; );

beachten Sie, dass inaddr.arpa(für IPv4-Adressen) und ip6.arpa(für IPv6) sind Konventionen für Reverse-Zonen-Konfigurationen.

Nach dem Speichern der oben genannten Änderungen an benannt.conf Wir können nach Fehlern wie diesen suchen:

# benannt-checkconf /etc/named.conf

Wenn Fehler gefunden werden, erzeugt der obige Befehl eine Informationsmeldung mit der Ursache und der Zeile, in der sie gefunden wurden. Andernfalls wird nichts zurückgegeben.

DNS-Zonen einrichten

In Akten /var/named/sales.me.com.zone Und /var/named/0.168.192.in-addr.arpa.zone Wir werden die Vorwärts- (Domäne → IP-Adresse) und die Rückwärtszone (IP-Adresse → Domäne) konfigurieren.

Schauen wir uns zunächst die direkte Konfiguration an:

1. Oben in der Datei finden Sie eine Zeile, die mit beginnt TTL(kurz für Time To Live), der angibt, wie lange eine zwischengespeicherte Antwort leben soll, bevor sie durch die Ergebnisse einer neuen Anfrage ersetzt wird.

In der Zeile unten verlinken wir auf unsere Domain und geben die E-Mail-Adresse an, von der Benachrichtigungen verschickt werden sollen (bitte beachten Sie das). root.sales.me.com bedeutet ).

2. Aufnahme SOA(Beginn der Autorität) gibt an, dass dieses System der autorisierende Nameserver für Maschinen innerhalb der Domäne ist sales.me.com.

Wenn Sie zwei Nameserver haben (einen Master und einen Slave), sind für jede Domain die folgenden Einstellungen erforderlich (obwohl dies nicht bei uns der Fall ist, da dies in der Prüfung nicht erforderlich ist, werden sie hier als Referenz aufgeführt):

Seriell Wird verwendet, um eine Version der Zonendefinitionsdatei von der vorherigen zu trennen (wo Parameter möglicherweise geändert wurden). Wenn die zwischengespeicherte Antwort auf eine Ausgabe mit einer anderen verweist Seriell, wird die Anfrage erneut ausgeführt, anstatt an den Client zurückgegeben zu werden.

In einem Setup mit einem Slave-Nameserver (sekundär). Aktualisierung Gibt die Zeit an, in der der Sekundärserver nach einer neuen Seriennummer vom Primärserver suchen soll.

Außerdem, Wiederholen teilt dem Server mit, wie oft der sekundäre Server versuchen soll, den primären Server zu kontaktieren, wenn keine Antwort vom primären Server eingeht Erlöschen gibt an, wenn eine Zonendefinition im sekundären Modus nicht mehr gültig ist, nachdem keine Antwort mehr vom primären Server empfangen werden kann, und zwar negativ TTL ist die Zeit, in der eine nicht vorhandene Domäne nicht zwischengespeichert wird ( NXdomain).

3. N.S.-Der Eintrag gibt an, dass er maßgeblich ist DNS-server für unsere Domain (was durch das @-Zeichen am Anfang der Zeile angezeigt wird).

4. Aufnahme A(für IPv4-Adressen) oder AAAA(für IPv6-Adressen) löst Namen auf IP-Adressen.

Im Beispiel unten:

Dns: 192.168.0.18 (der DNS-Server selbst) web1: 192.168.0.29 (ein Webserver innerhalb der sales.me.com-Zone) mail1: 192.168.0.28 (ein Mailserver innerhalb der sales.me.com-Zone) mail2: 192.168 .0.30 (ein anderer Mailserver)

5. Aufnahme MX Gibt die Namen der autorisierten Mail Transfer Agents (MTAs) für diese Domäne an. Dem Hostnamen muss eine Zahl vorangestellt werden, die die Priorität angibt, die der aktuelle Mailserver haben sollte, wenn es zwei oder mehr gibt MTA für eine Domäne (je niedriger der Wert, desto höher die Priorität) im folgenden Beispiel: mail1 ist grundlegend, wohingegen mail2 ist zweitrangig MTA).

6. Aufnahme CNAME legt einen Alias ​​(www.web1) für den Host (web1) fest.

WICHTIG: Das Vorhandensein eines Punktes ist wichtig (.) am Ende von Namen.

$TTL 604800 @ IN SOA sales.me.com. root.sales.me.com. (2016051101; Seriennummer 10800; Aktualisieren 3600; Wiederholen 604800; Ablaufen 604800) ; Negative TTL; @ IN NS dns.sales.me.com. dns IN A 192.168.0.18 web1 IN A 192.168.0.29 mail1 IN A 192.168.0.28 mail2 IN A 192.168.0.30 @ IN MX 10 mail1.sales.me.com. @ IN MX 20 mail2.sales.me.com. www.web1 IN CNAME web1

Schauen wir uns die umgekehrte Zonenkonfiguration an (/var/named/0.168.192.in-addr.arpa.zone). Aufzeichnen SOA das gleiche wie in der vorherigen Datei, während die letzten drei Zeilen mit dem Eintrag PTR(Zeiger) geben das letzte Oktett in der Hostadresse an IPv4 mail1, web1 Und mail2(192.168.0.28, 192.168.0.29 bzw. 192.168.0.30).

$TTL 604800 @ IN SOA sales.me.com. root.sales.me.com. (2016051101; Seriennummer 10800; Aktualisieren 3600; Wiederholen 604800; Ablaufen 604800) ; Mindest-TTL @ IN NS dns.sales.me.com. 28 IN PTR mail1.sales.me.com. 29 IN PTR web1.sales.me.com. 30 IN PTR mail2.sales.me.com.

Sie können die Zonendateien auf Fehler überprüfen:

# benannte-checkzone sales.me.com /var/named/sales.me.com.zone # benannte-checkzone 0.168.192.in-addr.arpa /var/named/0.168.192.in-addr.arpa.zone

Der folgende Screenshot zeigt die erwartete Ausgabe:

Andernfalls erhalten Sie eine Fehlermeldung und Hinweise zur Behebung:

Nachdem Sie die Hauptkonfigurationsdatei und die Zonendateien überprüft haben, starten Sie den benannten Dienst neu, um die Änderungen zu übernehmen.

IN CentOS Und openSUSE Tun:

# systemctl restart benannt

Und vergessen Sie nicht, es auch anzugeben:

# systemctl enable benannt

IN Ubuntu:

$ sudo service bind9 neu starten

Abschließend müssen Sie die Konfiguration der wichtigsten Netzwerkschnittstellen bearbeiten:

In /etc/sysconfig/network-scripts/ifcfg-enp0s3 für CentOS und openSUSE ---- DNS1=192.168.0.18 ---- In /etc/network/interfaces für Ubuntu ---- dns-nameservers 192.168.0.18

Starten Sie nun den Netzwerkdienst neu, um die Änderungen zu übernehmen.

DNS-Servertests

An dieser Stelle sind wir bereit, unsere anzufordern DNS-Server für lokale und externe Namen und Adressen. Die folgenden Befehle werden zurückgegeben IP-Adresse, die dem Host zugeordnet ist web1:

# Host web1.sales.me.com # Host web1 # Host www.web1

Wie können wir herausfinden, für wen E-Mails verarbeitet werden? sales.me.com? Das können Sie ganz einfach herausfinden – fordern Sie einfach Unterlagen an MX für Domäne:

# host -t mx sales.me.com

Führen wir auf ähnliche Weise die umgekehrte Abfrage durch. Dies wird uns helfen, den Namen herauszufinden IP-Adressen:

# Host 192.168.0.28 # Host 192.168.0.29

Sie können die gleichen Vorgänge auch für externe Hosts ausprobieren:

Um sicherzustellen, dass Anfragen tatsächlich über unsere weitergeleitet werden DNS-server, aktivieren wir die Protokollierung:

# rndcquerylog

Und überprüfen Sie die Datei /var/log/messages(auf CentOS und openSUSE):

# host -t mx linux.com # host 8.8.8.8

Um die Protokollierung zu deaktivieren DNS, erneut eingeben:

# rndcquerylog

IN Ubuntu Um die Protokollierung zu aktivieren, müssen Sie den folgenden unabhängigen Block (gleiche Ebene wie der Optionsblock) hinzufügen /etc/bind/named.conf:

Protokollierung ( Kanal query_log ( Datei „/var/log/bind9/query.log“; Schweregrad dynamisch; Druckkategorie ja; Druckschweregrad ja; Druckzeit ja; ); Kategorieabfragen ( query_log; ); );

Beachten Sie, dass die Protokolldatei vorhanden und namentlich beschreibbar sein muss.

Ergebnisse

In diesem Artikel haben wir erklärt, wie man ein grundlegendes rekursives Caching einrichtet DNS-server und wie man Zonen für eine Domäne konfiguriert.

Um den ordnungsgemäßen Betrieb Ihres zu gewährleisten DNS-Server, stellen Sie sicher, dass Sie diesen Dienst in Ihrer Firewall (TCP-Port 53) aktivieren, wie unter „Konfigurieren der Iptables-Firewall zur Aktivierung des Fernzugriffs auf Dienste“ beschrieben.

.

Cisco- und Linux-Kurse mit Anstellung!

Beeilen Sie sich und bewerben Sie sich! Es sind noch ein paar Plätze frei. Gruppen beginnen 22. Juli, und das nächste 19. August, 23. September, 21. Oktober, 25. November, 16. Dezember, 20. Januar, 24. Februar.

Was wirst du bekommen?

  • Wir helfen Ihnen, ein Experte für Netzwerkadministration zu werden und internationale Zertifikate wie Cisco CCNA Routing & Switching oder Linux LPI zu erhalten.
  • Wir bieten ein bewährtes Programm und Lehrbuch von Experten der Cisco Networking Academy und des Linux Professional Institute, zertifizierten Dozenten und einem persönlichen Tutor.
  • Wir helfen Ihnen, eine Anstellung zu finden und eine Karriere aufzubauen. 100 % unserer Absolventen sind berufstätig.

Wie läuft die Ausbildung?

  • Wir führen abends Online-Vorlesungen auf unserer Plattform durch oder lernen persönlich im Kiewer Büro.
  • Wir fragen Sie nach einem passenden Zeitpunkt zum Üben und passen uns an: Wir verstehen, dass die Zeit zum Lernen knapp ist.
  • Wenn Sie einen individuellen Zeitplan wünschen, besprechen wir diesen und setzen ihn um.
  • Wir legen klare Fristen für die Selbstorganisation fest. Ein persönlicher Betreuer wird sich mit Ihnen in Verbindung setzen, um Fragen zu beantworten, Sie zu beraten und Sie zu motivieren, die Prüfungsfristen einzuhalten.

Wir helfen Ihnen auch:

Der Zweck von DNS besteht darin, Domänennamen, die sich Menschen leicht merken können, in IP-Adressen zu übersetzen, die Computer verstehen können. Dieser Vorgang wird Namensauflösung genannt. Was bringt uns die Installation unseres eigenen Caching-DNS-Servers? Dadurch wird die Reaktion von Websites ein wenig beschleunigt. + Linux akzeptiert NetBios-Namen nicht besonders gut, aber manchmal muss man Computer oder Drucker in einem lokalen Netzwerk finden, möchte dies jedoch anhand des Namens tun.

Das Merken von IP-Adressen ist nicht bequem, und auch der ständige Blick auf das Protokoll des DHCP-Servers ist nicht unsere Methode. In solchen Fällen benötigen Sie DNS im lokalen Netzwerk. Die Installation des bind9-Pakets selbst ist nicht schwierig; Störungen treten normalerweise bereits in der Konfigurationsphase auf, weil Nach leicht lesbaren Systemkonfigurationsdateien steht der Mensch vor einer unverständlichen Syntax, die übrigens der Programmiersprache S sehr ähnlich ist. Der Server funktioniert innerhalb des lokalen Netzwerks, es macht keinen Sinn, ihn in eine Chroot-Umgebung zu übertragen, und die gesamte Einrichtung nimmt nur sehr wenig Zeit in Anspruch. Damit ist der lyrische Teil abgeschlossen, fahren wir mit der Installation und Konfiguration fort.

Lassen Sie uns den Bind9-DNS-Server installieren:

# apt – get install bind9

Nach Abschluss, Download und Installation müssen wir die Konfigurationsdatei bearbeiten:

#vim /etc/bind/named. conf. Optionen

Wir finden den Abschnitt, er befindet sich ganz am Anfang der Konfigurationsdatei, außer ihm gibt es dort nichts anderes ...

Optionen ( Verzeichnis „/var/cache/bind“ ; // Wenn zwischen Ihnen und den gewünschten Nameservern eine Firewall besteht// Um ​​mit ihnen zu kommunizieren, müssen Sie möglicherweise die Firewall reparieren, um mehrere zuzulassen// Ports zum Reden. Siehe http://www.kb.cert.org/vuls/id/800113// Wenn Ihr ISP eine oder mehrere IP-Adressen für stabil bereitgestellt hat// Nameserver, Sie möchten sie wahrscheinlich als Weiterleitungen verwenden.// Den folgenden Block auskommentieren und die Adressen ersetzen// der All-0-Platzhalter. // Weiterleitungen ( // 0.0.0.0; // ); auth - nxdomain no ; # entspricht RFC1035 listen - on - v6 ( any ; ); );

Der Abschnitt Weiterleitungen ist dafür verantwortlich, wohin die DNS-Anfrage zur Namensauflösung gesendet wird, wenn sie sich nicht in der eigenen Datenbank befindet. In letzter Zeit war ich überhaupt nicht zufrieden, die Arbeit dieser Server mit dem Anbieter ist der Grund, warum man Server von Drittanbietern verbinden kann, zum Beispiel die von Google, man kann sich die IP 8.8.8.8 sehr leicht merken, ich werde ihr Beispiel dafür verwenden Konfigurieren Sie es, aber niemand stört Sie, diejenigen zu verwenden, die Ihnen am besten gefallen.

Wir bearbeiten den Abschnitt. Zuerst müssen Sie Kommentare daraus entfernen und DNS von Drittanbietern hinzufügen. Wenn beispielsweise mehrere Server hinzugefügt werden müssen, falls der Google-Server Ihren Anforderungen nicht standhalten kann und ausfällt :), dann IP anderer Server können in eine Spalte geschrieben werden, dann erreicht man eine höhere Fehlertoleranz.

Spediteure(8.8.8.8; 193.58.251.251; //Russischer DNS-Dienst -SkyDNS};

In diesem Abschnitt ist es besser, die IP des Servers einzugeben, den Sie in der Datei angegeben haben /etc/resolv.conf oder geben Sie es in den Abschnitt ein Name Server diese IP. Speichern Sie die Änderungen und beenden Sie den Vorgang. Starten Sie den Server neu und überprüfen Sie. Wir geben die Befehlszeile ein nslookup mail.ru
Sollte ausgeben:

Nicht verbindliche Antwort: Name: E-Mail. ru Adressen: 94.100.191.202

Dies deutet darauf hin, dass unser Server nicht der Hauptserver ist, der diese Zone (mail.ru) bedient, sondern Anfragen zum Cache hinzugefügt hat!
Jetzt müssen wir eine DNS-Zone für unser Netzwerk erstellen, damit Maschinen verschiedene Netzwerkdienste finden können – es könnten zum Beispiel Netzwerkdrucker sein, sie können entweder unabhängig sein oder auf anderen Workstations gemeinsam genutzt werden.
Unsere Zone kann Orgname heißen – d.h. Name der Organisation.
Zunächst erstellen wir eine Zone, die wir bearbeiten benannt.conf.local

#vim /etc/bind/named. conf. lokal

und füge Folgendes hinzu:

Zone „orgname“ (Typ Master; Datei „/etc/bind/db.orgname“;);

Speichern und schließen
Jetzt müssen wir eine Zonenkonfigurationsdatei erstellen

# vim / etc / bind / db . Organisationsname

und fügen Sie Folgendes ein:
(Bitte achten Sie genau auf die Syntax der Konfigurationsdatei, auch die Punkte haben eine Bedeutung)

@IN SOA-Organisationsname. Wurzel. Organisationsname. (20101015 4h; Aktualisierungszeit – 4 Stunden 1h; Wiederholung jede Stunde 1w; wie lange Informationen gespeichert werden sollen – 1 Woche 1d); Die TTL (Time to Live) eines Datensatzes beträgt 1 Tag @ IN NS orgname. ; nameservername @ IN A 192.168.10.1 ; A – Eintrag – die IP-Adresse unseres DNS-Servers, der diese Zone bedient, @ bedeutet, dass dies die Root-Zone ist. * IN CNAME @ Drucker IN A 192.168.10.25 ; Sie können einen DNS-Eintrag für einen Netzwerkdrucker unter 192.168.10.25 erstellen

Wenn Sie nun ein neues Netzwerkgerät hinzufügen, müssen Sie zwei Dinge tun:
1) Reservieren Sie eine IP-Adresse auf einem DHCP-Server. Wie das geht, können Sie im Artikel „Einen DHCP-Server einrichten“ nachlesen
2) Erstellen Sie eine DNS-Zone für diese IP und geben Sie den Gerätenamen IN A XXX.XXX.XXX.XXX ein. Dabei ist: Gerätename der Netzwerkname des Geräts; XXX.XXX.XXX.XXX ist seine IP-Adresse, die auf dem DHCP-Server reserviert ist.

Jetzt müssen wir die Datei resolv.conf bearbeiten

# vim / etc / resolv . conf

und geben Sie dort ein:

Nameserver 127.0.0.1

Alles, was da war, kann mit # auskommentiert werden
Der Server wird neu gestartet

# neu starten

Dies wurde so gemacht, dass der Server nach allem in seiner eigenen Datenbank sucht und BIND erst dann Anfragen an die Server-IP 8.8.8.8 umleitet, deren IP in der Direktive enthalten ist Spediteure.
Jetzt können Sie die Funktionalität überprüfen:
Wenn der Test unter Windows stattfindet:

Ping-Gerätename. Organisationsname

Wenn wir unter Linux testen:

Ping-Gerätename. Organisationsname - c 4

Pings sollten an die IP gehen, die Sie angegeben haben, und nicht an XXX.XXX.XXX.XXX

Sie können mit dem Befehl auch die Geschwindigkeit der Verarbeitung von Anfragen überprüfen graben

# dig @127.0.0.1 tut.by ;<<>> DiG 9.9.5-9+deb8u6-Debian<<>> @127.0.0.1 tut.by ; (1 Server gefunden) ;; globale Optionen: +cmd ;; Antwort erhalten: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 63893 ;; flags: qr rd ra ad; QUERY: 1, ANSWER: 4, AUTHORITY: 13, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;tut.by. IN A ;; ANSWER SECTION: tut.by. 103 IN A 178.172.160.5 tut.by. 103 IN A 178.172.160.4 tut.by. 103 IN A 178.172.160.2 tut.by. 103 IN A 178.172.160.3 ;; AUTHORITY SECTION: . 6029 IN NS i.root-servers.net. . 6029 IN NS b.root-servers.net. . 6029 IN NS m.root-servers.net. . 6029 IN NS k.root-servers.net. . 6029 IN NS e.root-servers.net. . 6029 IN NS d.root-servers.net. . 6029 IN NS j.root-servers.net. . 6029 IN NS g.root-servers.net. . 6029 IN NS l.root-servers.net. . 6029 IN NS f.root-servers.net. . 6029 IN NS h.root-servers.net. . 6029 IN NS a.root-servers.net. . 6029 IN NS c.root-servers.net. ;; Query time: 0 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) ;; WHEN: Tue Mar 22 16:46:24 MSK 2016 ;; MSG SIZE rcvd: 310

DNS (Domain Name System) ist eine wichtige und eher schwer zu konfigurierende Komponente, die für den Betrieb von Websites und Servern notwendig ist. Viele Benutzer verwenden DNS-Server, die von ihrem Hosting-Anbieter bereitgestellt werden. Der Besitz eigener DNS-Server hat jedoch einige Vorteile.

In diesem Tutorial erfahren Sie, wie Sie Bind9 installieren und als Caching- oder Weiterleitungs-DNS-Server auf einem Ubuntu 14.04-Server konfigurieren.

Anforderungen

  • Verstehen der Grundtypen von DNS-Servern. Näheres erfahren Sie unter.
  • Zwei Maschinen, von denen mindestens eine mit Ubuntu 14.04 läuft. Der erste Rechner wird als Client (IP-Adresse 192.0.2.100) und der zweite als DNS-Server (192.0.2.1) konfiguriert.

Sie erfahren, wie Sie einen Client-Computer so konfigurieren, dass er Abfragen über einen DNS-Server sendet.

Caching-DNS-Server

Server dieses Typs werden auch Resolver genannt, da sie rekursive Abfragen verarbeiten und typischerweise DNS-Daten von anderen Servern nachschlagen können.

Wenn ein zwischenspeichernder DNS-Server die Antwort auf eine Client-Anfrage überwacht, sendet er die Antwort an den Client zurück und speichert sie außerdem für den Zeitraum im Cache, den der TTL-Wert der entsprechenden DNS-Einträge zulässt. Der Cache kann dann als Quelle für Antworten auf nachfolgende Anfragen verwendet werden, um die Gesamtverarbeitungszeit der Anfragen zu verkürzen.

Fast alle DNS-Server in Ihrer Netzwerkkonfiguration sind Caching-Server. Ein Caching-DNS-Server ist in vielen Situationen eine gute Wahl. Wenn Sie sich nicht auf die DNS-Server Ihres Hosting-Anbieters oder andere öffentliche DNS-Server verlassen möchten, richten Sie Ihren eigenen Caching-DNS-Server ein. Je kürzer die Entfernung vom DNS-Server zu den Client-Rechnern ist, desto kürzer ist die Zeit, die für die Bearbeitung von DNS-Anfragen benötigt wird.

Weiterleitung des DNS-Servers

Aus der Sicht eines Kunden sieht ein Weiterleitungs-DNS-Server fast genauso aus wie ein Caching-Server, die Mechanismen und die Arbeitslast sind jedoch völlig unterschiedlich.

Ein weiterleitender DNS-Server bietet die gleichen Vorteile wie ein Caching-Server. Es werden jedoch keine rekursiven Abfragen durchgeführt. Stattdessen leitet es alle Anfragen an einen externen Auflösungsserver weiter und speichert die Ergebnisse dann für nachfolgende Anfragen zwischen.

Dadurch kann der Umleitungsserver Anforderungen aus seinem Cache bedienen, ohne rekursive Anforderungen verarbeiten zu müssen. Somit verarbeitet dieser Server nur einzelne Anfragen (umgeleitete Client-Anfragen) und nicht den gesamten Rekursionsvorgang. Dies kann in Umgebungen mit begrenzter externer Bandbreite, in denen Caching-Server häufig gewechselt werden müssen, und in Situationen, in denen lokale Anfragen an einen Server und externe Anfragen an einen anderen weitergeleitet werden müssen, von Vorteil sein.

1: Installieren Sie Bind auf dem DNS-Server

Das Bind-Paket finden Sie im offiziellen Ubuntu-Repository. Aktualisieren Sie Ihren Paketindex und installieren Sie Bind mit dem apt-Manager. Sie müssen auch einige Abhängigkeiten installieren.

Sudo apt-get update
sudo apt-get install bind9 bind9utils bind9-doc

Anschließend können Sie mit der Einrichtung des Servers beginnen. Die Konfiguration des Caching-Servers kann als Vorlage für die Konfiguration des Weiterleitungsservers verwendet werden. Daher müssen Sie zuerst den Caching-DNS-Server konfigurieren.

2: Einrichten eines Caching-DNS-Servers

Zuerst müssen Sie Bind als Caching-DNS-Server konfigurieren. Diese Konfiguration zwingt den Server dazu, rekursiv nach Antworten auf Client-Anfragen auf anderen DNS-Servern zu suchen. Es werden nacheinander alle passenden DNS-Server abgefragt, bis eine Antwort gefunden wird.

Bind-Konfigurationsdateien werden im Verzeichnis /etc/bind gespeichert.

Die meisten Dateien müssen nicht bearbeitet werden. Die Hauptkonfigurationsdatei heißt „named.conf“ (named und bind sind zwei Namen für dieselbe Anwendung). Diese Datei verweist auf die Dateien „named.conf.options“, „named.conf.local“ und „named.conf.default-zones“.

Um einen Caching-DNS-Server zu konfigurieren, müssen Sie nur „named.conf.options“ bearbeiten.

sudo nano mit dem Namen.conf.options

Diese Datei sieht folgendermaßen aus (Kommentare wurden der Einfachheit halber weggelassen):

Optionen (
Verzeichnis „/var/cache/bind“;
dnssec-validierung auto;

listen-on-v6 (any;);
};

Um einen Caching-Server einzurichten, müssen Sie eine Zugriffskontrollliste (ACL) erstellen.

Sie müssen den DNS-Server schützen, der rekursive Anfragen von Angreifern verarbeitet. DNS-Amplification-Angriffe sind besonders gefährlich, da sie den Server in verteilte Denial-of-Service-Angriffe verwickeln können.

DNS-Amplification-Angriffe sind eine Möglichkeit, Server und Websites lahmzulegen. Dazu versuchen Angreifer, öffentliche DNS-Server zu finden, die rekursive Abfragen verarbeiten. Sie fälschen die IP-Adresse des Opfers und senden eine Anfrage, die eine sehr lange Antwort an den DNS-Server zurücksendet. In diesem Fall sendet der DNS-Server als Reaktion auf eine kleine Anfrage zu viele Daten an den Server des Opfers zurück, wodurch die verfügbare Bandbreite des Angreifers erhöht wird.

Das Hosten eines öffentlichen rekursiven DNS-Servers erfordert eine sorgfältige Konfiguration und Verwaltung. Um zu verhindern, dass Ihr Server gehackt wird, konfigurieren Sie eine Liste von IP-Adressen oder Netzwerkbereichen, denen der Server vertrauen kann.

Fügen Sie vor dem Optionsblock einen ACL-Block hinzu. Erstellen Sie eine Bezeichnung für die ACL-Gruppe (in diesem Tutorial heißt die Gruppe „goodclients“).

acl gute Kunden (
};
Optionen (
. . .

Listen Sie in diesem Block die IP-Adressen oder Netzwerke auf, die Zugriff auf diesen DNS-Server haben. Da Server und Client im Subnetz /24 laufen, können Sie den Zugriff auf dieses Subnetz einschränken. Sie müssen auch localhost und localnets entsperren, die automatisch eine Verbindung herstellen.

acl gute Kunden (
192.0.2.0/24;
localhost;
lokale Netze;
};
Optionen (
. . .

Sie verfügen jetzt über eine sichere Client-ACL. Sie können mit der Einrichtung der Anfrageauflösung im Optionsblock beginnen. Fügen Sie die folgenden Zeilen hinzu:

Optionen (
Verzeichnis „/var/cache/bind“;
Rekursion ja;

. . .

Der Optionsblock aktiviert explizit die Rekursion und konfiguriert dann die Option „allow-query“ für die Verwendung der ACL. Sie können auch einen anderen Parameter verwenden, z. B. „allow-recursion“, um auf die ACL-Gruppe zu verweisen. Wenn die Rekursion aktiviert ist, definiert „allow-recursion“ eine Liste von Clients, die rekursive Dienste nutzen können.

Wenn jedoch „allow-recursion“ nicht festgelegt ist, greift Bind auf die Liste „allow-query-cache“ zurück, dann auf die Liste „allow-query“ und schließlich auf die Standardlisten „localnets“ und „localhost“. Da wir nur einen Caching-Server einrichten (er hat keine eigenen Zonen und leitet keine Abfragen weiter), gilt die Liste der zulässigen Abfragen immer nur für die Rekursion. Dies ist die gebräuchlichste Methode zum Definieren einer ACL.

Speichern und schließen Sie die Datei.

Dies sind alle Einstellungen, die zur Konfigurationsdatei des Caching-DNS-Servers hinzugefügt werden müssen.

Notiz: Wenn Sie nur diesen DNS-Typ verwenden möchten, überprüfen Sie die Konfigurationen, starten Sie den Dienst neu und konfigurieren Sie Ihren Client.

3: Einrichten eines Weiterleitungs-DNS-Servers

Wenn Ihre Infrastruktur eher für einen Weiterleitungs-DNS-Server geeignet ist, können Sie die Einrichtung etwas anpassen.

Derzeit sieht die Datei „named.conf.options“ folgendermaßen aus:

acl gute Kunden (
192.0.2.0/24;
localhost;
lokale Netze;
};
Optionen (
Verzeichnis „/var/cache/bind“;
Rekursion ja;
Allow-Query(goodclients;);
dnssec-validierung auto;
auth-nxdomain nein; # entspricht RFC1035
listen-on-v6 (any;);
};

Mit derselben ACL können Sie den DNS-Server auf eine bestimmte Liste von Clients beschränken. Dies erfordert jedoch eine geringfügige Konfigurationsänderung, damit der Server nicht mehr versucht, rekursive Abfragen auszuführen.

Ändern Sie die Rekursion nicht in „Nein“. Der umleitende Server unterstützt weiterhin rekursive Dienste. Um einen Umleitungsserver einzurichten, müssen Sie eine Liste von Caching-Servern erstellen, an die er Anfragen umleitet.

Dies geschieht im Optionen()-Block. Zunächst müssen Sie darin einen neuen Weiterleitungsblock erstellen, in dem die IP-Adressen der rekursiven Nameserver gespeichert werden, an die Sie Anfragen umleiten möchten. In diesem Fall handelt es sich um Google DNS-Server (8.8.8.8 und 8.8.4.4):

. . .
Optionen (
Verzeichnis „/var/cache/bind“;
Rekursion ja;
Allow-Query(goodclients;);
Spediteure (

8.8.8.8;

8.8.4.4;

};
. . .

Die resultierende Konfiguration sieht folgendermaßen aus:

acl gute Kunden (
192.0.2.0/24;
localhost;
lokale Netze;
};
Optionen (
Verzeichnis „/var/cache/bind“;
Rekursion ja;
Allow-Query(goodclients;);
Spediteure (
8.8.8.8;
8.8.4.4;
};
Nur vorwärts;
dnssec-validierung auto;
auth-nxdomain nein; # entspricht RFC1035
listen-on-v6 (any;);
};

Die letzte Änderung betrifft den Parameter dnssec. Bei der aktuellen Konfiguration und abhängig von den Einstellungen der DNS-Server, an die Anfragen umgeleitet werden, können in den Protokollen folgende Fehler auftreten:

25. Juni 15:03:29 Cache mit dem Namen: Fehler (DS-Server verfolgen) beim Auflösen von „in-addr.arpa/DS/IN“: 8.8.8.8#53
25. Juni 15:03:29 Cache mit dem Namen: Fehler (kein gültiger DS) beim Auflösen von „111.111.111.111.in-addr.arpa/PTR/IN“: 8.8.4.4#53

Um sie zu vermeiden, müssen Sie den Parameter dnssec-validation auf „yes“ ändern und dnssec explizit aktivieren.

. . .
Nur vorwärts;
dnssec-enable ja;
DNSsec-Validierung ja;
auth-nxdomain nein; # entspricht RFC1035
. . .

Speichern und schließen Sie die Datei. Die Einrichtung des Weiterleitungs-DNS-Servers ist abgeschlossen.

4: Überprüfen Sie die Einstellungen und starten Sie Bind neu

Jetzt müssen Sie sicherstellen, dass die Einstellungen wie erwartet funktionieren.

Um die Syntax der Konfigurationsdateien zu überprüfen, geben Sie Folgendes ein:

sudo benannt-checkconf

Wenn die Dateien keine Fehler enthalten, zeigt die Eingabeaufforderung keine Ausgabe an.

Wenn Sie eine Fehlermeldung erhalten, korrigieren Sie diese und testen Sie erneut.

Anschließend können Sie den Bind-Daemon neu starten, um die Einstellungen zu aktualisieren.

sudo service bind9 neu starten

Dann müssen Sie die Serverprotokolle überprüfen. Führen Sie den Befehl auf dem Server aus:

sudo tail -f /var/log/syslog

Öffnen Sie nun ein neues Terminal und beginnen Sie mit der Einrichtung des Client-Rechners.

5: Client-Setup

Melden Sie sich am Client-Computer an. Stellen Sie sicher, dass der Client in der ACL-Gruppe des konfigurierten DNS-Servers aufgeführt ist. Andernfalls verweigert der DNS-Server die Bearbeitung von Anfragen dieses Clients.

Bearbeiten Sie die Datei /etc/resolv.conf, um den Server auf einen Nameserver zu verweisen.

Hier vorgenommene Änderungen bleiben nur bis zu einem Neustart bestehen, was sich hervorragend zum Testen eignet. Wenn Sie mit den Ergebnissen der Testeinstellungen zufrieden sind, können Sie diese Einstellungen dauerhaft machen.

Öffnen Sie die Datei mit sudo in einem Texteditor:

sudo nano /etc/resolv.conf

Die Datei muss die DNS-Server auflisten, die zum Auflösen von Abfragen verwendet werden. Verwenden Sie dazu die Nameserver-Direktive. Kommentieren Sie alle aktuellen Einträge aus und fügen Sie eine Nameserver-Zeile hinzu, die auf Ihren DNS-Server verweist:

Nameserver 192.0.2.1
# Nameserver 8.8.4.4
# Nameserver 8.8.8.8
# Nameserver 209.244.0.3

Speichern und schließen Sie die Datei.

Sie können jetzt eine Testanfrage senden, um sicherzustellen, dass das Problem korrekt gelöst wird.

Hierfür können Sie Ping verwenden:

ping -c 1 google.com
PING google.com (173.194.33.1) 56(84) Bytes Daten.
64 Bytes von sea09s01-in-f1.1e100.net (173.194.33.1): icmp_seq=1 ttl=55 time=63,8 ms
--- Ping-Statistiken von google.com ---
1 Pakete gesendet, 1 empfangen, 0 % Paketverlust, Zeit 0 ms
RTT min/avg/max/mdev = 63,807/63,807/63,807/0,000 ms

Hoch