So richten Sie den DNS-Resolver für ungebundenes Caching unter FreeBSD ein 10.1

So richten Sie den DNS-Resolver für ungebundenes Caching unter FreeBSD 10.1 oder 10.2 ein

Einführung

Das System der Domain Name Server (DNS) ist eine globale Hierarchie von Datenbanken, die sich der einfachen, aber wesentlichen Aufgabe widmet, Hostnamen wie "+ www.digitalocean.com +" zu suchen und in eine oder mehrere IP-Adressen umzuwandeln. Immer wenn eine E-Mail gesendet oder eine Verbindung zu einem Host über dessen Namen hergestellt wird, wird das DNS-System verwendet. Es gibt eine gute https://www.digitalocean.com/community/tutorials/an-einführung-in-dns-terminologie-komponenten-und-konzepteeinführung in das DNS-System], die von der DigitalOcean-Community erhältlich ist.

Solch eine wesentliche und grundlegende Komponente der Internetinfrastruktur wird häufig genutzt. Es ist nicht ungewöhnlich, dass ein stark ausgelastetes System Hunderte von Namenssuchen pro Sekunde oder mehr durchführt. Wenn Dienste, die auf Ihrem Server ausgeführt werden, hinter den Kulissen viel Arbeit verrichten, ist es wahrscheinlich, dass Sicherheit und Leistung davon profitieren, wenn Sie die Namenssuchvorgänge, die Ihr Dienst zur Ausführung seiner Vorgänge durchführt, in Ihren eigenen Systemen überprüfen und zwischenspeichern.

In diesem Tutorial erfahren Sie, wie Sie einen FreeBSD-Server einrichten, um alle DNS-Lookups in einem systemweiten Cache zu speichern. Die Informationen aus diesem Cache verfallen automatisch, wobei die einzelnen Richtlinien jeder nachgeschlagenen Domain für eine erneute Überprüfung berücksichtigt werden.

Voraussetzungen

Um diesem Tutorial folgen zu können, benötigen Sie:

  • Ein FreeBSD 10.1-Droplet

Schritt 1 - Ungebunden aktivieren

FreeBSD 10.1 enthält den verifizierenden Caching-Resolver Unbound (Version 1.4.22) als Teil des Basissystems. FreeBSD 10.2 enthält Version 1.5.3. Beide gelten als sicher und einsatzbereit.

Sobald Sie über SSH auf Ihrem Server angemeldet sind, müssen Sie nur noch den folgenden Befehl eingeben, um den in FreeBSD enthaltenen Resolver zu aktivieren:

sudo sysrc local_unbound_enable=YES

Ihr Droplet ist jetzt so konfiguriert, dass Unbound beim nächsten Systemneustart gestartet wird.

Schritt 2 - Ungebunden starten

Sie können den Resolver sofort starten, ohne einen vollständigen Systemneustart durchführen zu müssen.

So starten Sie den Resolver:

sudo service local_unbound start

Wenn Unbound erfolgreich gestartet wird, sollte eine Ausgabe ähnlich der folgenden angezeigt werden:

Ausgabe

Performing initial setup.
Extracting forwarders from /etc/resolv.conf.
/var/unbound/forward.conf created
/var/unbound/lan-zones.conf created
/var/unbound/unbound.conf created
/etc/resolvconf.conf created
original /etc/resolv.conf saved as /etc/resolv.conf.20150812.184225
Starting local_unbound.

Sie führen jetzt den Unbound-Überprüfungs-Caching-Namensauflöser aus, aber nicht die gesamte derzeit ausgeführte Software wird die Änderung garantiert bemerken und übernehmen.

Schritt 3 - Beibehalten dieses Setups durch Tröpfchenwiederherstellung

Aktionen wie das Wiederherstellen eines Backup-Images oder die Verwendung eines Snapshot-Images als Grundlage für ein neues Droplet würden normalerweise die Konfiguration beeinträchtigen, die wir bisher vorgenommen haben. Dies liegt an einem kleinen Fehler im OpenStack-Treiber für FreeBSD. Zum Glück wurde dieser Fehler in der kommenden Version behoben. Wir werden diesen speziellen Patch jetzt individuell auf die aktuelle Version anwenden, um den ordnungsgemäßen Betrieb von Unbound mit den Sicherungs- und Snapshot-Funktionen von DigitalOcean zu gewährleisten.

Laden Sie den Patch aus dem offiziellen Repository für BSD-CloudInit (dem FreeBSD OpenStack-Treiber) herunter:

fetch https://github.com/pellaeon/bsd-cloudinit/commit/a7ee246c23.diff

Wenden Sie den Patch auf die richtige Datei an:

sudo patch -N -F3 /usr/local/bsd-cloudinit/cloudbaseinit/osutils/freebsd.py < a7ee246c23.diff

Die Ausgabe sollte wie folgt enden und darauf hinweisen, dass der Patch erfolgreich angewendet wurde:

Ausgabe

. . .
Patching file /usr/local/bsd-cloudinit/cloudbaseinit/osutils/freebsd.py using Plan A...
Hunk #1 succeeded at 4 with fuzz 2 (offset 1 line).
Hunk #2 succeeded at 83 with fuzz 3 (offset 4 lines).
done

Sie benötigen die Patch-Datei nicht mehr und können sie entfernen:

rm a7ee246c23.diff

Ihr System ist jetzt so konfiguriert, dass es Ungebunden durch Systemsicherungen und -wiederherstellungen oder nach dem Klonen auf einen völlig neuen Server verwendet.

Schritt 4 - Neustarten der betroffenen Dienste

Der einfachste Weg, um sicherzustellen, dass Ihre gesamte Software den neuen Resolver verwendet, besteht darin, das Droplet vollständig neu zu starten.

Sie können dies so lange verzögern, bis der von Ihrem Droplet bereitgestellte Service am wenigsten beeinträchtigt wird. Die ausgeführte Software verwendet entweder den alten oder den neuen Resolver und keine Fehlfunktion. Jede Software, die in der Zwischenzeit den Übergang bewältigen kann, wird dies problemlos tun. und es sollte keine negativen Auswirkungen geben, wenn beide möglicherweise vorübergehend nebeneinander verwendet werden.

Wenn Sie fertig sind, starten Sie Ihr Droplet neu:

sudo shutdown -r now

Das ist alles dazu!

Fazit

In diesem Lernprogramm haben Sie erfahren, wie Sie Hostnamen- und Domänennamensuchvorgänge auf Ihrem System zwischenspeichern und warum Sie dies möglicherweise tun möchten. Weitere Informationen zum Caching-Resolver von FreeBSD finden Sie auf der homepage for the Unbound project.