Website-Suche

So installieren und konfigurieren Sie "Cache Only DNS Server" mit "Unbound" in RHEL/CentOS 7


Caching von Nameservern mit 'Unbound' ( ist eine validierende, rekursive und zwischengespeicherte DNS-Server-Software ), damals in RHEL/CentOS 6.x (wobei x die Versionsnummer ist) haben wir Bind-Software verwendet, um DNS-Server zu konfigurieren.

Hier in diesem Artikel werden wir eine "ungebundene" Caching-Software verwenden, um einen DNS-Server in RHEL/CentOS 7-Systemen zu installieren und zu konfigurieren.

DNS-Cacheserver werden verwendet, um alle DNS-Abfragen aufzulösen, die sie erhalten. Wenn der Server die Abfrage zwischenspeichert und in Zukunft die gleichen Abfragen, die von allen Clients angefordert werden, die Anfrage aus dem DNS-Cache "ungebunden" liefert, kann dies in Millisekunden erfolgen, als sie zum ersten Mal aufgelöst wurde.

Die Zwischenspeicherung fungiert nur als Agent, um die Abfrage des Clients von einer der Weiterleitungen aufzulösen. Durch die Verwendung des Caching-Servers wird die Ladezeit von Webseiten reduziert, indem die Cache-Datenbank auf dem ungebundenen Server verbleibt.

Mein Server- und Client-Setup

Zu Demonstrationszwecken werde ich zwei Systeme verwenden. Das erste System fungiert als Master-DNS-Server (primär) und das zweite System als lokaler DNS-Client.

Master-DNS-Server
Operating System   :    CentOS Linux release 7.0.1406 (Core)
IP Address	   :	192.168.0.50
Host-name	   :	ns.tecmintlocal.com
Client-Maschine
Operating System   :	CentOS 6
IP Address	   :	192.168.0.100
Host-name	   :	client.tecmintlocal.com

Schritt 1: Überprüfen Sie den Hostnamen und die IP-Adresse des Systems

1. Bevor Sie einen Caching-DNS-Server einrichten, stellen Sie sicher, dass Sie den richtigen Hostnamen hinzugefügt und die richtige statische IP-Adresse für Ihr System konfiguriert haben, falls nicht die statische IP-Adresse des Systems festgelegt ist.

2. Nachdem Sie den korrekten Hostnamen und die statische IP-Adresse festgelegt haben, können Sie diese mit Hilfe der folgenden Befehle überprüfen.

# hostnamectl
ip addr show | grep inet

Schritt 2: Installieren und Konfigurieren von Unbound

3. Bevor wir das 'Unbound'-Paket installieren, müssen wir unser System auf die neueste Version aktualisieren, danach können wir das ungebundene Paket installieren.

# yum update -y
yum install unbound -y

4. Erstellen Sie nach der Installation des Pakets eine Kopie der ungebundenen Konfigurationsdatei, bevor Sie Änderungen an der Originaldatei vornehmen.

# cp /etc/unbound/unbound.conf /etc/unbound/unbound.conf.original

5. Verwenden Sie als Nächstes einen Ihrer bevorzugten Texteditoren, um die Konfigurationsdatei 'unbound.conf' zu öffnen und zu bearbeiten.

# vim /etc/unbound/unbound.conf

Nachdem die Datei zur Bearbeitung geöffnet wurde, nehmen Sie die folgenden Änderungen vor:

Schnittstellen

Suchen Sie nach Schnittstelle und aktivieren Sie die Schnittstelle, die wir verwenden werden, oder wenn unser Server mehrere Schnittstellen hat, müssen wir die Schnittstelle 0.0.0.0 aktivieren.

Hier war unsere Server-IP 192.168.0.50, also werde ich unbound in dieser Schnittstelle verwenden.

Interface 192.168.0.50
Aktivieren Sie IPv4 und Protokollunterstützung

Suchen Sie nach der folgenden Zeichenfolge, und geben Sie sie auf "Ja" ein.

do-ip4: yes
do-udp: yes
do-tcp: yes
Aktivieren der Protokollierung

Um das Protokoll zu aktivieren, fügen Sie die Variable wie folgt hinzu, es werden alle ungebundenen Aktivitäten protokolliert.

logfile: /var/log/unbound
Identität und Version ausblenden

Aktivieren Sie den folgenden Parameter, um id.server- und hostname.bind-Abfragen auszublenden.

hide-identity: yes

Aktivieren Sie den folgenden Parameter, um die Abfragen version.server und version.bind auszublenden.

hide-version: yes
Zugriffskontrolle

Suchen Sie dann nach access control to allow. Dies dient dazu, den Clients zu ermöglichen, diesen ungebundenen Server abzufragen.

Hier habe ich 0.0.0.0 verwendet, d.h. jeder sendet eine Anfrage an diesen Server. Wenn wir Abfragen für einen bestimmten Netzwerkbereich ablehnen müssen, können wir definieren, welches Netzwerk von ungebundenen Abfragen abgelehnt werden soll.

access-control: 0.0.0.0/0 allow

Hinweis: Anstelle von allow können wir es durch allow_snoop ersetzen, dies aktiviert einige zusätzliche Parameter wie dig und unterstützt sowohl rekursive als auch nicht-rekursive.

Domain unsicher

Suchen Sie dann nach domain-insecure. Wenn unsere Domain mit DNS-sec-Schlüsseln arbeitet, müssen wir unseren Server als domain-unsicher definieren. Hier wird unsere Domain als unsicher behandelt.

domain-insecure: "tecmintlocal.com
Vorgelagerte Zonen

Ändern Sie dann die Weiterleitungen für unsere angeforderte Abfrage, die von diesem Server nicht erfüllt wird, wird er an die Stammdomäne (.) weitergeleitet und die Abfrage aufgelöst.

forward-zone:
        name: "."
        forward-addr: 8.8.8.8
        forward-addr: 8.8.4.4

Speichern und beenden Sie abschließend die Konfigurationsdatei mit wq!.

6. Nachdem Sie die obige Konfiguration vorgenommen haben, überprüfen Sie nun die Datei unbound.conf mit dem folgenden Befehl auf Fehler.

# unbound-checkconf /etc/unbound/unbound.conf

7. Nachdem die Dateiüberprüfung ohne Fehler abgeschlossen wurde, können Sie den "ungebundenen" Dienst sicher neu starten und ihn beim Systemstart aktivieren.

# systemctl start unbound.service
sudo systemctl enable unbound.service

Schritt 3: DNS-Cache lokal testen

8. Jetzt ist es an der Zeit, unseren DNS-Cache zu überprüfen, indem wir einen 'Drill' (Abfrage) für eine 'india.com' Domain durchführen. Zuerst dauert es einige Millisekunden, bis der Befehl 'drill' für die Domäne 'india.com' Ergebnisse liefert, und führen Sie dann einen zweiten Drill durch und notieren Sie sich die Abfragezeit, die für beide Drills benötigt wird.

drill india.com @192.168.0.50

Haben Sie in der obigen Ausgabe gesehen, dass die Auflösung der ersten Abfrage fast 262 ms und die zweite Abfrage 0 ms zum Auflösen der Domäne (india.com) benötigt hat?

Das bedeutet, dass die erste Abfrage in unserem DNS-Cache zwischengespeichert wird, so dass wir, wenn wir 'drill' zum zweiten Mal ausführen, die Abfrage aus unserem lokalen DNS-Cache liefert, auf diese Weise die Ladegeschwindigkeit von Websites verbessern können.

Schritt 4: Iptables leeren und Firewalld-Regeln hinzufügen

9. Wir können nicht sowohl iptables als auch firewalld gleichzeitig auf demselben Rechner verwenden, wenn wir dies tun, werden beide miteinander in Konflikt geraten, daher ist es eine gute Idee, die ipables-Regeln zu entfernen. Verwenden Sie den folgenden Befehl, um die iptables zu entfernen oder zu leeren.

# iptables -F

10. Nachdem Sie die iptables-Regeln dauerhaft entfernt haben, fügen Sie den DNS-Dienst dauerhaft zur firewalld-Liste hinzu.

# firewall-cmd --add-service=dns
firewall-cmd --add-service=dns --permanent

11. Nachdem Sie DNS-Dienstregeln hinzugefügt haben, listen Sie die Regeln auf und bestätigen Sie.

# firewall-cmd --list-all

Schritt 5: Verwalten und Beheben von Problemen mit Unbound

12. Um den aktuellen Serverstatus abzurufen, verwenden Sie den folgenden Befehl.

# unbound-control status

Dumpen des DNS-Cache

13. Wenn Sie einen Dump von DNS-Cache-Informationen in einer Textdatei haben möchten, können Sie ihn mit dem folgenden Befehl zur zukünftigen Verwendung in eine Datei umleiten.

 # unbound-control dump_cache > /tmp/DNS_cache.txt

14. Um den Cache aus der gesicherten Datei wiederherzustellen oder zu importieren, können Sie den folgenden Befehl verwenden.

# unbound-control dump_cache < /tmp/DNS_cache.txt

Leeren von DNS-Einträgen

15. Um zu überprüfen, ob die spezifische Adresse von unseren Weiterleitungen im ungebundenen Cache-Server aufgelöst wurde, verwenden Sie den folgenden Befehl.

# unbound-control lookup google.com

16. Manchmal, wenn unser DNS-Cache-Server unsere Anfrage nicht beantwortet, können wir in der Zwischenzeit den Cache leeren, um Informationen wie A, AA, NS, SO, CNAME, MX, PTR usw. zu entfernen. Einträge aus dem DNS-Cache. Wir können alle Informationen mit flush_zone entfernen, wodurch alle Informationen entfernt werden.

# unbound-control flush linux-console.net
unbound-control flush_zone tecmintlocal.com

17. Um zu überprüfen, welche Weiterleitungen derzeit für die Auflösung verwendet werden.

# unbound-control list_forwards

Schritt 6: Clientseitige DNS-Konfiguration

18. Hier habe ich einen CentOS 6-Server als Client-Maschine verwendet, die IP für diesen Computer ist 192.168.0.100 und ich werde meine ungebundene DNS-Server-IP (dh primäres DNS) in der Schnittstellenkonfiguration verwenden.

Melden Sie sich beim Clientcomputer an, und legen Sie die IP-Adresse des primären DNS-Servers auf die IP-Adresse des ungebundenen Servers fest.

Führen Sie den Befehl setup aus und wählen Sie die Netzwerkkonfiguration im TUI Network Manager aus.

Wählen Sie dann DNS-Konfiguration, fügen Sie die IP des ungebundenen DNS-Servers als primäres DNS ein, aber hier habe ich sowohl in Primär als auch in Sekundär verwendet, da ich keinen anderen DNS-Server habe.

Primary DNS	: 192.168.0.50
Secondary DNS	: 192.168.0.50

Klicken Sie auf OK –> Speichern&Beenden –> Beenden.

19. Nachdem Sie die primäre und sekundäre DNS-IP-Adresse hinzugefügt haben, ist es jetzt an der Zeit, das Netzwerk mit dem folgenden Befehl neu zu starten.

# /etc/init.d/network restart

20. Jetzt ist es an der Zeit, vom Client-Computer aus auf eine der Websites zuzugreifen und nach dem Cache auf dem ungebundenen DNS-Server zu suchen.

# elinks aol.com
dig aol.com

Schlussfolgerung

Früher waren wir es gewohnt, den DNS-Cache-Server mit dem bind-Paket in RHEL- und CentOS-Systemen einzurichten. Jetzt haben wir gesehen, wie man einen DNS-Cache-Server mit einem ungebundenen Paket einrichtet. Ich hoffe, dies wird Ihre Abfrageanforderung schneller lösen als das Bind-Paket.

Verwandte Artikel: