So richten Sie einen DNS-Server mit Bind unter Verwendung von Linux-Servern ein

DNS Server (Domain Name System) ermöglichen es uns, von einem Domainnamen eine bestimmte IP-Adresse zu erreichen. Auf diese Weise können wir auf verschiedene Websites zugreifen, indem wir Ihren Domainnamen direkt in die Adressleiste des Webbrowsers eingeben. Wir haben auch die Möglichkeit, einen DNS-Server im Heim- oder professionellen lokalen Netzwerk einzurichten, um die verschiedenen Computer im lokalen Netzwerk über einen bestimmten Domainnamen zu erreichen, ohne sich immer die privaten IP-Adressen merken zu müssen. Heute zeigen wir Ihnen in diesem Artikel, wie wir einen DNS-Server auf einem Linux Server mit Bind9, dem beliebtesten und am häufigsten verwendeten DNS-Server.

Einrichten eines DNS-Servers mit Bind unter Verwendung von Linux-Servern

Was ist Binden?

Bind, oder auch bekannt als Berkeley Internet Name Domain, ist eine Software, die für die Ausführung der Aufgabe des DNS-Servers verantwortlich ist. Bind ist derzeit ein Standard und wird häufig in Linux-Betriebssystemen und auch in Unix verwendet. Wenn Sie also einen Server auf Basis von Linux oder Unix haben und einen DNS-Server benötigen, um die Anfragen aus dem lokalen Netzwerk zu verarbeiten, dann ist Bind was Sie verwenden müssen. Die aktuelle Version von Bind ist die Bind9-Version, die auf allen Servern häufig verwendet wird. Frühere Versionen gelten als unsicher und „veraltet“, daher wird ihre Verwendung nicht empfohlen.

Bind ersetzt keine DNS-Server, wie wir sie von Google (8.8.8.8), Cloudflare (1.1.1.1) oder anderen verwenden können, sondern ergänzt diese. Die Clients des lokalen Netzwerks haben als DNS-Server den Bind-Server, den wir in einem Linux-Server konfigurieren. Später können wir in diesem Bind verschiedene Regeln konfigurieren, um lokale Computer über ihre privaten IP-Adressen zu erreichen. Wenn ein Client im lokalen Netzwerk eine DNS-Anfrage an eine Internet-Website stellt, hat der DNS-Server logischerweise nicht alle Internet-IP-Adressen in seiner Datenbank. In diesem Fall werden öffentliche DNS-Server konfiguriert, um diese Anfragen zu bearbeiten, indem sie die Server mit Binden Sie die Anfrage und wir geben sie automatisch an den Client zurück, der die Anfrage gestellt hat.

DNS von Windows

Die derzeit verwendete Version ist Bind 9, sie wurde von Grund auf neu geschrieben, um Probleme früherer Versionen zu vermeiden. Darüber hinaus enthält sie sehr wichtige Funktionen wie DNSSEC, um die Sicherheit von Domänen mithilfe von Kryptographie zu gewährleisten, sie enthält auch Verbesserungen bei der parallelen Verarbeitung verschiedener DNS-Abfragen, volle Unterstützung für IPv6-Netzwerke und vieles mehr. Natürlich verfügt diese neueste Version von Bind über sehr wichtige Sicherheitsverbesserungen. Auf diese Weise sind wir vor möglichen Angriffen geschützt, die in früheren Versionen auftreten könnten.

Voraussetzungen vor der Installation von Bind

Bevor Sie mit der Konfiguration des DNS-Servers mit Bind9 in unserem Betriebssystem beginnen, ist es ratsam, auf unserem Server eine feste IP zu setzen, da sonst, wenn der DHCP-Server unsere IP-Adresse ändert, die Clients des lokalen Netzwerks den Zugriff auf unsere Server-DNS, weil sie nicht auf unsere private IP-Adresse "zeigen". Um eine feste IP zu setzen haben wir zwei Möglichkeiten:

  • Konfigurieren Sie das statische DHCP in dem Router / der Firewall, die wir haben, und geben Sie unsere MAC-Adresse der Netzwerkkarte und die IP-Adresse ein, die sie immer erhalten soll.
  • Konfigurieren Sie unseren Linux-Server statisch, in diesem Fall sollte der DHCP-Server des Routers / der Firewall einen DHCP-Bereich haben, der außerhalb unserer von uns festgelegten privaten IP-Adresse liegt.

Um eine IP-Adresse in Linux statisch zu konfigurieren, müssen wir die Konfigurationsdatei „/etc/network/interfaces“ bearbeiten und Folgendes eingeben:

auto lo
iface lo inet loopback

auto ens33
iface eth0 inet statisch
Adresse 192.168.1.2
netmask 255.255.255.0
192.168.1.1 Gateway
DNS-Nameserver 192.168.1.2

Als nächstes müssen wir den Dienst neu starten, um die Änderungen korrekt anzuwenden (wenn wir die IP geändert haben, die wir derzeit haben):

sudo service networking restart

Sobald unsere IP-Adresse des lokalen Netzwerks festgelegt ist, können wir Bind installieren.

Binden Sie die Installation unter Linux und starten Sie

Das erste, was wir tun müssen, um einen DNS-Server (bind) in Linux zu konfigurieren, ist, ihn aus den Repositorys zu installieren. Wir werden sowohl den Bind9-DNS-Server als auch die vom Debian-Betriebssystem vorgeschlagenen Pakete installieren muss es als nächstes in die Konsole legen:

sudo apt install bind9 bind9-doc resolvconf python-ply-doc

Nachdem wir alle vorherigen Pakete installiert haben, müssen wir in das Programmverzeichnis gehen, wo wir mit der Konfiguration der erforderlichen Dateien beginnen müssen:

cd /etc/bind/

Es ist ratsam zu auf dieses Verzeichnis als root zugreifen (sudo su) um zu vermeiden, dass beim Kopieren von Dateien oder beim Ändern vorhandener Berechtigungsprobleme verweigert werden. Wenn wir ein "ls -l" ausführen, um alle Dateien aufzulisten, die wir hier haben, sehen wir Folgendes:

Wie Sie sehen, haben wir eine große Anzahl verschiedener Konfigurationsdateien, jede von ihnen ist speziell auf eine Aufgabe ausgerichtet, in der offiziellen Bind9-Dokumentation finden Sie, wofür sie jeweils gedacht sind. Nehmen wir ab jetzt an, dass Sie sich immer im Superuser-Modus (root) befinden, um Dateien ohne Einschränkungen zu bearbeiten oder zu kopieren.

Konfigurieren von Bind-Weiterleitungen mit öffentlichen DNS-Servern

Als erstes konfigurieren wir Weiterleitungs-DNS-Server, dh öffentliche DNS-Server, um Anfragen an das Internet weiterzuleiten. Die für diese Aufgabe zuständige Konfigurationsdatei ist „named.conf.options“, als erstes erstellen wir eine Sicherungskopie der Datei, falls wir sie falsch bearbeiten und alles nicht mehr funktioniert:

cp /etc/bind/named.conf.options /etc/bind/named.conf.options.copia

Jetzt bearbeiten wir die Datei, indem wir die DNS-Server im Abschnitt Weiterleitungen hinzufügen, wie Sie hier sehen können:

forwarders {
8.8.8.8;
1.1.1.1;
};

Es wäre wie folgt:

Sobald wir es geändert haben, starten wir den Bind9-Dienst neu, um zu überprüfen, ob alles richtig funktioniert und keine Fehler zurückgeben:

sudo service bind9 restart

Jetzt werden wir überprüfen, ob sie richtig funktionieren, dazu führen wir einen nslookup-Befehl aus und wir sollten sehen, dass unser DNS-Server eine Domäne korrekt aufgelöst hat, in unserem Fall lautet die IP-Adresse des Servers 192.168.231.130:

Sobald wir Bind so konfiguriert haben, dass die Auflösungen von Internet-Websites an das öffentliche DNS weitergeleitet werden, werden wir sehen, wie es zum Auflösen interner Domänen konfiguriert wird.

Bind für lokale Auflösungen konfigurieren

Die Konfigurationsdatei, die wir jetzt konfigurieren müssen, heißt.conf.local, es ist ratsam, eine Sicherungskopie zu erstellen, falls bei der Konfiguration etwas schief geht, dazu führen wir Folgendes aus:

cp /etc/bind/named.conf.local /etc/bind/named.conf.local.copia

Nachdem wir das Backup erstellt haben, müssen wir die Konfigurationsdatei named.conf.local bearbeiten, um mit der Konfiguration fortzufahren. In diese Konfigurationsdatei müssen wir die Zone einfügen, auf die wir uns beziehen, und auch die Bindekonfigurationsdatei, die alle Konfigurationen enthält, daher könnten wir sie so belassen:

zone "redlocal.com" {
type master;
file "/etc/bind/db.redlocal";
};

Es ist wichtig, dass sich die „Datei“ auf die Konfigurationsdatei bezieht, die wir importieren und die wir jetzt konfigurieren werden.

Jetzt müssen wir die Datenbank, die wir in "db.local" haben, kopieren und ihr den Namen geben " db.redlocal “, die wir in der vorherigen Datei definiert haben.

cp /etc/bind/db.local /etc/bind/db.redlocal

Jetzt bearbeiten wir diese Konfigurationsdatei, die standardmäßig mit vielen Informationen ausgestattet ist, und passen sie unseren Interessen an.

Als erstes müssen wir die im oberen Teil enthaltene SOA durch den von uns lokal gewählten Domainnamen ändern, in diesem Fall wäre es „red.redlocal.com“, dann bearbeiten wir die allgemeine Konfigurationsdatei mit den gewünschten Domains und Subdomains. Unsere Konfigurationsdatei wäre wie folgt:

;
; BIND data file for local loopback interface
;
$TTL 604800
@ IN SOA ns1.redlocal.com. root.red.redlocal.com. (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;

@ IN NS ns1.redlocal.com.
@ IN EINEM 192.168.231.130
ns1 IN A 192.168.231.130
Router IN A 10.11.1.1
pc1 IN A 10.11.1.2

Nachdem wir die Konfigurationsdatei gespeichert haben, überprüfen wir die Syntax mit folgendem Befehl:

named-checkzone redlocal.com /etc/bind/db.redlocal

Jetzt starten wir den Bindeprozess mit folgendem Befehl neu:

sudo service bind9 restart

Wir haben alles bereit, um die Testbatterie zu starten und zu überprüfen, ob wir alles richtig gemacht haben. Um zu überprüfen, ob alles gut funktioniert, müssen wir die folgenden Befehle ausführen:

host router.redlocal.com

Es zeigt uns folgendes, die IP-Adresse des Routers:

root@bron-debian:/etc/bind# host router.redlocal.com
router.redlocal.com has address 10.11.1.1

Dasselbe können wir auch mit PC1 machen:

host pc1.redlocal.com

Wir werden das sehen:

root@bron-debian:/etc/bind# host pc1.redlocal.com
pc1.redlocal.com has address 10.11.1.2

Sobald wir es geschafft haben, die lokalen Domains korrekt aufzulösen und die entsprechende IP-Adresse zurückzugeben, können wir problemlos über die Domain pingen:

root@bron-debian:/etc/bind# ping router.redlocal.com
PING router.redlocal.com (10.11.1.1) 56(84) bytes of data.
64 bytes from 10.11.1.1 (10.11.1.1): icmp_seq=1 ttl=128 time=0.413 ms
64 bytes from 10.11.1.1 (10.11.1.1): icmp_seq=2 ttl=128 time=0.401 ms
^C
--- router.redlocal.com ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 28ms
rtt min/avg/max/mdev = 0.401/0.407/0.413/0.006 ms

Jetzt konfigurieren wir die umgekehrte Auflösung von Domänen.

Umgekehrte Domänenauflösung

Jetzt konfigurieren wir den DNS-Server so, dass er Domänen in umgekehrter Reihenfolge auflöst, indem wir die IP-Adresse eingeben und uns mitteilen, zu welcher Domäne diese IP-Adresse gehört. Um unser Ziel zu erreichen, wir müssen das hinzufügen folgenden Zeilen in die Datei /etc/bind/named.conf.local, die wir zuvor verwendet haben:

zone "192.in-addr.arpa" {
type master;
file "/etc/bind/db.192";
};

Wir müssen auch die Standardkonfigurationsdatei kopieren, um sie zu bearbeiten. Aus der Datei db.127 erstellen wir die db.192:

cp /etc/bind/db.127 /etc/bind/db.192

Sobald wir es erstellt haben, bearbeiten Sie es einfach mit den folgenden Informationen:

;
; BIND reverse data file for local loopback interface
;
$TTL 604800
@ IN SOA ns1.redlocal.com. root.red.redlocal.com. (
1 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS ns1.redlocal.com.
ns1 IN A 192.168.231.130
130.231.168 IN PTR redlocal.com

Nachdem wir die Konfigurationsdatei gespeichert haben, überprüfen wir die Syntax mit folgendem Befehl:

named-checkzone 192.168.231.130 /etc/bind/db.192

Wir sollten so etwas bekommen:

named-checkzone 168.192.in-addr.arpa db.192
zone 168.192.in-addr.arpa/IN: loaded serial 1
OK

Jetzt starten wir den Bindeprozess mit folgendem Befehl neu:

sudo service bind9 restart

Und wir überprüfen, ob es richtig funktioniert hat:

host 192.168.231.130

Wir hoffen, dass Ihnen dieses vollständige Bind-Tutorial geholfen hat, Ihren eigenen DNS-Server lokal einzurichten.