Geekflare wird von unserem Publikum unterstützt. Es kann sein, dass wir durch den Kauf von Links auf dieser Seite Affiliate-Provisionen verdienen.
Unter Linux Zuletzt aktualisiert: September 24, 2023
Weitergeben:
Invicti Web Application Security Scanner - die einzige Lösung, die eine automatische Überprüfung von Schwachstellen mit Proof-Based Scanning™ ermöglicht.

DNSmasq kann zum Zwischenspeichern von DNS-Anfragen für Linux-Distributionen verwendet werden. Allerdings kann dies eine kleine Herausforderung darstellen.

Der DNS-Cache dient zur Beschleunigung des DNS-Suchvorgänge, bei dem ein Website-Domainname in die zugehörige IP-Adresse umgewandelt wird. Wenn mehrere Benutzer in Ihrem Netzwerk dieselbe Website-Adresse besuchen, kann die Verwendung des lokalen DNS-Cache-Server die Ladezeit des Webs verkürzen.

Sehen wir uns zunächst an, was DNS-Caching ist.

Was ist DNS-Caching?

Das DNS wird vom Internet verwendet, um alle öffentlich zugänglichen Online-Seiten und die dazugehörigen IP-Adressen zu erfassen. Man kann es mit einem Telefonbuch vergleichen. Durch die Verwendung von DNS müssen wir uns nicht die IP-Adresse jeder einzelnen Website merken, was für die Netzwerkinfrastruktur erforderlich ist, um mit den Websites zu interagieren.

Wenn Sie die Suchmaschine auffordern, eine Webseite anzuzeigen, findet genau das hinter den Kulissen statt.

Auch wenn Ihr System Zugriff auf eine große Anzahl externer DNS-Server hat, besteht das Problem darin, dass eine zentrale Replik des DNS die Übertragung und Auflösung immer noch beschleunigt. An dieser Stelle kommt das DNS-Caching ins Spiel.

dnscache

Bevor die Anfrage an das Web gesendet wird, übernimmt der DNS-Cache die Identitätsauflösung für kürzlich und häufig aufgerufene Domänen, um den Vorgang zu beschleunigen.

Auf den DNS-Server wird immer dann zugegriffen, wenn eine IP-Adresse in einen Domänennamen aufgelöst werden muss. Dies kann den DNS-Server zusätzlich belasten, insbesondere wenn die Website viele Anfragen gleichzeitig erhält.

Ein DNS-Cache wird verwendet, um DNS-Anfragen und Antwortzeiten zu verringern. Die aufgelösten IP-Adressen werden zusammen mit den Hostdetails lokal gespeichert. Anstatt eine neue DNS-Abfrage zu starten, wird das Ergebnis aus dem DNS-Cache-Speicher abgerufen, wenn die IP oder der Domänenname das nächste Mal aufgelöst werden muss.

Wie hilft DNS-Caching bei der Behebung intermittierender DNS-Auflösungsprobleme auf Amazon EC2-Instanzen?

Die meisten Linux-Systeme verwenden keinen lokalen DNS-Cache. Das bedeutet, dass alle DNS-Anfragen direkt an den von Amazon bereitgestellten autoritativen DNS-Resolver gesendet werden, der eine begrenzte Anzahl von Anfragen auf einmal verarbeiten kann. DNS-Auflösungsprobleme treten auf, wenn es viele Anfragen gibt.

Der Einsatz eines lokalen DNS-Caches im System hilft Ihnen, die CPU- und Netzwerkauslastung zu reduzieren und gleichzeitig DNS-Auflösungsfehler zu vermeiden.. Ein lokaler DNS-Cache antwortet auf Anfragen an externe DNS-Ressourcen wie Amazon RDS und S3.

Das DHCP-Protokoll wird beim Start von Amazon EC2-Instanzen verwendet, die mit Amazon VPCs verbunden sind, um eine DNS-Serveradresse anzufordern.

dnsaws

Wenn Sie Amazon VPC verwenden, um eine virtuelle private Cloud aufzubauen, nutzt Route 53 DNS Resolver effektiv einen Resolver in der VPC, um DNS-Anfragen für EC2-Instanzen zu beantworten, die unter lokalen Amazon VPC-Webadressen und Einträgen in privat verwalteten Zonen laufen. Resolver führt für alle zusätzlichen Webadressen wiederkehrende Abfragen auf öffentlichen DNS-Servern durch.

Ein DNS-Cache dient als vorübergehende Aufzeichnung früherer DNS-Anfragen, die unser System beim Versuch, auf eine Online-Website zuzugreifen, schnell überprüfen kann. Er führt ein Protokoll über jede bestehende und nachfolgende Sitzung. Dieser DNS-Cache erleichtert die Domainauflösung und verhindert Fehler bei Amazon EC2 Linux-Instanzen.

Viele Benutzer verwenden typischerweise Amazons Route 53 Service für DNS beim Zugriff auf AWS. Er ist wirklich einfach zu benutzen und fast kostenlos. Es gibt jedoch eine Reihe von Gründen, die die Entscheidung des Benutzers für die Verwendung eines lokalen DNS-Servers beeinflussen können.

Auch wenn bind9 immer noch eine gute Option für die Einrichtung eines lokalen DNS-Cache-Servers ist, ist dnsmasq viel einfacher zu installieren und zu konfigurieren, sowohl auf EC2-Instanzen als auch auf einem lokalen Rechner.

Was ist dnsmasq?

DNSmasq ist ein Linux-bezogenes Tool, das DNS, DHCP, TFTP und DNS-Caching unterstützt. Es ist kompakt und leichtgewichtig, was es ideal für Netzwerke und Firewalls mit weniger Ressourcenbeschränkungen macht.

Es ist unglaublich einfach zu installieren und zu konfigurieren. Um DNS und DHCP für Subnetze einzurichten, ist dnsmasq eine flexible und praktische Lösung.

Es ist möglich, diese DHCP-zugewiesenen Identifikatoren und die zugehörigen Anweisungen für jeden Server oder für einen darunter liegenden Controller einzurichten. Sowohl dynamische als auch statische DHCP-Optionen werden von dnsmasq unterstützt. Es ist portabel und kann DNS und DHCP für mindestens 1.000 Clients verwalten.

Wenn eine DNS-Anfrage eingeht, antwortet dnsmasq entweder aus einem lokalen Cache oder überträgt sie an einen autoritativen DNS-Server. Zusätzlich zur Beantwortung von DNS-Anfragen nach Adressen mit DHCP-Konfiguration überprüft es den Inhalt der Datei /etc/hosts, um lokale Hostnamen zu identifizieren, die nicht im öffentlichen DNS aufgeführt sind.

Die Verwendung des Tools dnsmasq anstelle des integrierten DNS-Caches des Browsers verbessert die Leistung beim Surfen im Internet erheblich. Es ist ideal für eine integrierte Umgebung mit eingeschränkten Ressourcen, da es sehr einfach einzurichten ist und nur sehr wenig Speicherplatz benötigt.

Eigenschaften von dnsmasq

  • Es ist einfach, interne DNS-Server mit dnsmasq zu integrieren, indem Sie ihn so konfigurieren, dass er bestimmte Anfragen zur Auflösung von Domänennamen an bestimmte autoritative Server weiterleitet.
  • Durch den konfigurierten lokalen DNS-Server wird die Arbeitslast des Servers reduziert und die Zuverlässigkeit erhöht.
  • Die DNS-Konfiguration für Firewall-fähige Endpunkte ist relativ einfach und unabhängig vom DNS des ISP.
  • Wenn der mit dem Internet verbundene Port nicht erreichbar ist, während eine DNS-Prüfung auf dem Computer durchgeführt wird, wird der Suchvorgang sofort unterbrochen.
  • Über PPP (Point-to-Point-Protokoll) oder DHCP-Abfragen kann dnsmasq so konfiguriert werden, dass es in regelmäßigen Abständen Daten direkt vom zugrundeliegenden Domainauflösungsserver abruft.

Einrichtung

Bevor Sie das Dienstprogramm dnsmasq installieren und konfigurieren, müssen Sie den Dienst systemd-resolved deaktivieren.

systemctl stop systemd-resolved

Sie können ihn auch mit dem Attribut Maske verbergen, so dass er beim Neustart nicht automatisch gestartet wird.

 systemctl mask systemd-resolved

Die Installation von dnsmasq ist die erste Aktion, die Sie nach dem Ausschalten von systemd-resolved durchführen müssen. DNSmasq ist in fast allen Linux-Distributionen vorinstalliert. Falls nicht, können Sie es manuell installieren. Starten Sie ein Befehlsterminal und geben Sie dazu den folgenden Befehl ein.

sudo apt-get install dnsmasq

Verwenden Sie den folgenden Befehl, wenn Sie ein Yum-Benutzer sind:

sudo yum install -y dnsmasq

Mit diesem Befehl wird das Tool automatisch installiert und dnsmasq im Hintergrund gestartet.

dnsmapinstall

Nach erfolgreicher Installation können Sie den Status von dnsmasq mit dem folgenden Befehl überprüfen.

systemctl status dnsmasq

Wenn der Status als "aktiv (läuft)" angezeigt wird, bedeutet dies, dass die Installation abgeschlossen und für Port 53 konfiguriert ist. Wenn er den Status "inaktiv (tot)" anzeigt, müssen Sie sowohl den Ubuntu-Rechner als auch dnsmasq neu starten. Dadurch wird der Fehler behoben.

dnsmasqstatus

Konfiguration

Dnsmasq ist nun bereit, auf Ihrem Rechner als lokaler Caching-DNS-Server eingerichtet zu werden. Die Standardkonfigurationsdatei befindet sich unter /etc/dnsmasq.conf. Diese Konfigurationsdatei muss geändert werden, um das Dienstprogramm dnsmasq im System einzurichten.

Verwenden Sie diesen Befehl, um die Konfigurationsdatei zu öffnen und zu bearbeiten.

nano /etc/dnsmasq.conf

Die Konfigurationsdatei darf nur mit Root-Rechten bearbeitet werden. Löschen Sie einfach alles in der Datei, einschließlich der Kommentare, und fügen Sie diese Konfigurationseinstellung einfach per Copy-Paste ein und speichern Sie sie.

port=53
domain-needed
bogus-priv
listen-address=127.0.0.1
expand-hosts
domain=geek-demo.com
cache-size=1000

Lassen Sie mich kurz beschreiben, was jeder der Parameter bedeutet.

  • Hafen - Zur Angabe oder Bindung des Ports, den Dnsmasq für den Empfang von DNS-Anfragen verwenden wird.
  • Domain-Bedarf - Überträgt nur die Domänennamen an den vorgeschalteten DNS-Server.
  • bogus-priv - verhindert die Weiterleitung von Domänen und Ports
  • listen-address - Zur Festlegung der Nameserver-Adresse. Normalerweise wird localhost als Standard verwendet, um einen lokalen DNS-Server einzurichten.
  • Domain - Zum Konfigurieren der Domänen, die dnsmasq an kurze Bezeichner anhängt.
  • cache-size - Die maximale DNS-Zwischenspeichergröße, die im Speicher erlaubt ist.
dnsmasqhost

Nachdem Sie alle erforderlichen Änderungen vorgenommen haben, speichern und schließen Sie die Konfigurationsdatei. Als nächstes müssen Sie die Datei /etc/resolv.conf bearbeiten, um die Adresse für die lokale Hostauflösung hinzuzufügen. Verwenden Sie den folgenden Befehl, um die Datei mit dem nano-Editor zu öffnen.

nano /etc/resolv.conf

Hier finden Sie alle Nameserver, die Ihr System für die Adressauflösung verwendet. Fügen Sie in dieser Liste auch die Loopback-Adresse hinzu. Fügen Sie"Nameserver 127.0.0.1" hinzu und lassen Sie es in der ersten Zeile stehen.

dnsresolve

Speichern und beenden Sie die Konfigurationsdatei. Damit die aktualisierte Einstellung wirksam wird, starten Sie das Dienstprogramm dnsmasq neu.

systemctl neu starten dnsmasq

Lokale DNS-Caching-Server testen

Es ist ganz einfach, den lokalen DNS-Server zu testen. Öffnen Sie eine Befehlszeile und verwenden Sie den Befehl dig, um das DNS-Caching zu überprüfen. Wenn Sie den dig-Befehl zum ersten Mal ausführen, sollte das Ergebnis recht gewöhnlich sein.

┌──(root💀kali)-[/home/writer]
└─# dig geekflare.com 1 ⚙

; <<>> DiG 9.18.0-2-Debian <<>> geekflare.com
;; globale Optionen: cmd
;; Antwort erhalten:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 623
;; Flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: Version: 0, Flags:; udp: 512
;; QUESTION SECTION:
;geekflare.com.                 IN A

;; ANTWORTBEREICH:
geekflare.com.          227 IN A 172.66.43.163
geekflare.com.          227 IN A 172.66.40.93

;; Abfragezeit: 31 msec
;; SERVER: 127.0.0.1#53(127.0.0.1) (UDP)
;; WANN: Sat Oct 15 07:52:49 EDT 2022
;; MSG SIZE rcvd: 74

Beachten Sie bitte, dass die Abfragezeit etwa 31 ms beträgt, um die Details vom Upstream-Nameserver abzufragen. Führen Sie denselben dig-Befehl noch einmal aus, und Sie werden eine deutliche Verringerung der Abfragezeit feststellen.

┌──(root💀kali)-[/home/writer]
└─# dig geekflare.com 1 ⚙

; <<>> DiG 9.18.0-2-Debian <<>> geekflare.com
;; globale Optionen: cmd
;; Antwort erhalten:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21942
;; Flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: Version: 0, Flags:; udp: 4096
;; QUESTION SECTION:
;geekflare.com.                 IN A

;; ANTWORTBEREICH:
geekflare.com.          281 IN A 172.66.40.93
geekflare.com.          281 IN A 172.66.43.163

;; Abfragezeit: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1) (UDP)
;; WANN: Sat Oct 15 07:58:10 EDT 2022
;; MSG SIZE rcvd: 74

Hier beträgt die Abfragezeit 0 msec. Das liegt daran, dass dnsmasq nach der ersten Suche die Daten gespeichert hat und alle nachfolgenden Suchvorgänge aufgrund der Nutzung des Zwischenspeichers augenblicklich durchgeführt wurden. Ein Neustart von dnsmasq ist erforderlich, wenn Sie den gespeicherten DNS-Cache löschen möchten.

Zusammenfassung

In diesem Artikel haben wir gesehen, wie Sie dnsmasq als lokalen DNS-Server einrichten und konfigurieren können. Vielleicht interessieren Sie sich auch dafür, wie Sie DNS-Server für schnelleres Surfen in verschiedenen Betriebssystemen ändern können.

  • Bleichgesicht Jenifa
    Autor
Dank an unsere Sponsoren
Weitere gute Lektüre zu Linux
Energie für Ihr Unternehmen
Einige der Tools und Dienste, die Ihr Unternehmen beim Wachstum unterstützen.
  • Invicti nutzt das Proof-Based Scanning™, um die identifizierten Schwachstellen automatisch zu überprüfen und innerhalb weniger Stunden verwertbare Ergebnisse zu erzielen.
    Versuchen Sie Invicti
  • Web Scraping, Residential Proxy, Proxy Manager, Web Unlocker, Search Engine Crawler und alles, was Sie zum Sammeln von Webdaten benötigen.
    Versuchen Sie Brightdata
  • Monday.com ist ein All-in-One-Betriebssystem, mit dem Sie Projekte, Aufgaben, Arbeit, Vertrieb, CRM, Arbeitsabläufe und vieles mehr verwalten können.
    Versuch Montag
  • Intruder ist ein Online-Schwachstellen-Scanner, der Schwachstellen in Ihrer Infrastruktur aufspürt, um kostspielige Datenschutzverletzungen zu vermeiden.
    Versuchen Sie Intruder