Unbound ist ein rekursiver, validierender, sehr sicherer DNS-Caching-Server, der kostenlos unter der BSD-Lizenz vertrieben wird. Unbound unterstützt DNS-over-TLS und DNS-over-HTTPS, um die Online-Privatsphäre zu erhöhen, indem es Clients ermöglicht, ihre Verbindung zu verschlüsseln. Abhängig von Ihrer Netzwerkkonfiguration kann Unbound sowohl IPV4 als auch IPV6 unterstützen. Die Installation und Konfiguration von Unbound in Linux-Distributionen ist recht einfach und unkompliziert. Das Unbound-Paket ist in den meisten modernen Betriebssystemen verfügbar, einschließlich CentOS, Ubuntu, Fedora. Unternehmen, die ihre eigene Domain verwenden, um Anwendungen oder Websites intern bereitzustellen, können unbound als DNS-Server verwenden. In diesem Artikel erfahren Sie, wie Sie ein Unbound installieren und konfigurieren Server in Ubuntu 20.04.
Installation
Die Installation des Servers für die ungebundene Namensauflösung in Ubuntu 20.04 ist sehr einfach und unkompliziert. Führen Sie den folgenden Befehl aus, um das Paket zu installieren
$ sudo apt install unbound -y
Ausgabe:
Führen Sie außerdem den folgenden Befehl aus, um zusätzliche Pakete zu installieren, mit denen wir die DNS-Serverkonfigurationen überprüfen
$ sudo apt install bind-utils net-tools -y
Nachdem die Installation abgeschlossen ist, kann der Inhalt der Konfigurationsdatei mit dem folgenden Befehl gefunden werden:
$ cat /etc/unbound/unbound.conf
Ausgabe :
Die Ausgabe zeigt, dass alle .conf-Dateien aus dem Verzeichnis unbound.conf.d geladen werden.
Lassen Sie uns eine neue Konfigurationsdatei im Verzeichnis /etc/unbound/unbound.conf.d erstellen Verzeichnis. In diesem Beispiel habe ich eine unbound_test.conf erstellt Datei. Sie können Ihre eigene Annahme haben.
Öffnen Sie die Datei mit dem Texteditor und fügen Sie die folgende Beispielkonfiguration hinzu. Sie können die Parameter entsprechend ändern.
$ sudo nano /etc/unbound/unbound.conf.d/unbound_test.conf
server: port: 53 verbosity: 0 num-threads: 2 outgoing-range: 512 num-queries-per-thread: 1024 msg-cache-size: 32m interface: 127.0.0.1 interface: 192.168.5.5 rrset-cache-size: 64m cache-max-ttl: 86400 infra-host-ttl: 60 infra-lame-ttl: 120 outgoing-interface: 192.168.0.2 access-control: 127.0.0.0/8 allow access-control: 192.168.5.0/24 allow username: unbound directory: "/etc/unbound" logfile: "/var/log/unbound.log" use-syslog: no hide-version: yes so-rcvbuf: 4m so-sndbuf: 4m do-ip4: yes do-ip6: no do-udp: yes do-tcp: yes
Now create a log file and assign permission to write logs $ sudo touch /var/log/unbound.log
$ sudo chown unbound:unbound /var/log/unbound.log
Starten Sie den Unbound-Dienst neu, um die Konfiguration zu laden
$ sudo service unbound restart
Verwenden Sie den folgenden Befehl, um den Dienst zu aktivieren
$ sudo service unbound enable
Überprüfen Sie mit dem Befehl, ob der ungebundene Dienst ausgeführt wird oder nicht:
$ sudo service unbound status
Ausgabe :
Führen Sie den folgenden Befehl aus, um zu überprüfen, auf welchem Port unbound lauscht
$ sudo netstat -anlpt | grep LIST
Ausgabe:
Die Ausgabe zeigt, dass der Unbound-Dienst auf Port 53 lauscht, um die Anfragen zu akzeptieren.
Konfigurationsdatei erklärt:
Port :Überwachungsport für Unbound
Version verbergen :Ungebundene Version nicht anzeigen
syslog verwenden :Geben Sie an, ob Sie Protokolle in Syslog schreiben möchten
Benutzername :Benutzer, unter dem unbound läuft
Ausführlichkeit :Protokollebene, die von 0 bis 4 reicht, und 4 ist die Debug-Protokollebene
Schnittstelle :Schnittstellen, in denen ungebundene Anfragen abgehört werden
ausgehende Schnittstelle :Schnittstelle, über die das Internet kommt
Anzahl Threads :Anzahl der Threads , es wird empfohlen, die gleiche Anzahl von Prozessorkernen anzugeben
Öffnen Sie den DNS-Port in der Firewall.
Nachdem die Konfigurationsdatei erstellt wurde, müssen Sie einen DNS-Port öffnen, damit Ihre lokalen LAN-Clients eine Verbindung zu Ihrem Unbound-Cache-Only-DNS-Server herstellen können.
$ sudo ufw allow from any to any port 53 proto tcp
$ sudo ufw allow from any to any port 53 proto udp
Führen Sie den folgenden Befehl aus, um die Firewall-Regel zu überprüfen
$ sudo ufw status
Ausgabe :
Jetzt sind wir beim letzten Punkt angelangt, um unseren neuen Unbound-DNS-Server zu testen. Zum Testen können wir dig verwenden Befehl, der mit dem zuvor installierten Paket bind-utils geliefert wird . Führen Sie einige DNS-Abfragen auf dem eigentlichen DNS-Server durch. Für dieses Beispiel habe ich zum Testen kernel.org abgefragt. Sie können Ihre eigene Annahme haben.
$ dig kernel.org @localhost
Ausgabe:
Die Antwortzeit beträgt bei der ersten Abfrage 4 ms. Da wir den Unbound DNS-Server konfiguriert haben, wird die Abfrage nun zwischengespeichert. Um den DNS-Cache zu überprüfen, führen Sie die folgende Abfrage mit demselben Domänennamen aus.
$ dig kernel.org @localhost
Jetzt können Sie feststellen, dass die Abfragezeit 0 ms beträgt.
Wenn Sie die Konfiguration des ungebundenen DNS-Servers von LAN-Clients testen möchten, fragen Sie die DNS-Antwort ab, die auf die IP des ungebundenen DNS-Servers verweist. (In meinem Fall ist die IP meines ungebundenen DNS-Servers 192.168.178.130)
$ dig kernel.org @192.168.178.130
Optimierung
Die Standardkonfiguration von Unbound funktioniert gut für eingeschränkte Benutzer, aber falls eine große Anzahl von Benutzern bereitgestellt werden soll, müssen bestimmte Optimierungen vorgenommen werden. Hier sind einige Optimierungsoptionen, die Sie implementieren können, um eine hohe Leistung zu erzielen.
Anzahl Threads: Geben Sie dem System die gleiche Anzahl von CPU-Kernen, z. B. den Wert 4 für 2 CPUs mit jeweils 2 Kernen.
Wiederverwendung:ja Unter Linux hilft dies, die UDP-Leistung zu verbessern
ausgehender Bereich :Abhängig von der Anzahl der Kerne können Sie den Wert so groß wie möglich einstellen.
so-sndbuf: Dieser Wert kann für einen ausgelasteten Server auf einen größeren Wert von 4 m oder 8 m eingestellt werden.
Weitere Einzelheiten finden Sie unter
https://nlnetlabs.nl/documentation/unbound/howto-optimise/
Schlussfolgerung
In dem Artikel haben wir behandelt, wie Sie den Unbound-Namensauflösungsserver in Ubuntu mit Basiskonfiguration installieren und konfigurieren. Bestimmte Tests wurden mit dem Befehl dig durchgeführt, um die Konfiguration des Unbound-Servers zu überprüfen. Außerdem haben wir gelernt, wie man DNS-Antworten vom lokalen LAN-Client mit der IP des Unbound-Servers abfragt. Jegliches Feedback und Vorschläge werden sehr geschätzt.