Website-Suche

Einrichten eines Caching-DNS-Servers in Ubuntu Server 14.04


Domain Name Service (DNS) ist ein Namensdienst, der IP-Adressen und vollqualifizierte Domänennamen einander zuordnet. Computer, auf denen DNS ausgeführt wird, werden als Nameserver bezeichnet.

Hier habe ich den Cache-Server mit Forwarder, Forward-Look-up und Reserve-Look-up installiert und konfiguriert. In den meisten Teilen des Ortes benötigen wir eine Reservesuche. Der Caching-Server enthält keine Domänennamen, sondern funktioniert nur als Pointing-Server. Bevor wir in die Tiefe gehen, müssen wir über den DNS-Server und seine Funktionsweise Bescheid wissen.

Was ist DNS?

Hier ist eine einfache Möglichkeit, das DNS und seine Funktionsweise zu verstehen.

Wenn wir im Browser auf linux-console.net zugreifen müssen, sucht das System nach linux-console.net. Hier am Ende des .com wird ein (.) zu sehen sein, also was ist das?.

Das (.) steht für den Namespace Root Server, es sind insgesamt 13 Root Server global verfügbar. Während wir auf linux-console.net zugreifen, wird der Nameserver gemäß der Betriebssystemkonfiguration angefordert. In Ubuntu haben wir den Nameserver in /etc/resolv.conf konfiguriert, während ich auf linux-console.net zugreife, fragt mein Browser nach Root-Nameservern, wenn der Root-Nameserver meine angeforderten Domaininformationen nicht hat, speichert er meine angeforderten Informationen und leitet meine Anfrage an den (TLD) Top Level Domain Nameserver weiter, selbst im TLD-Nameserver ist meine Anfrage nicht verfügbar, sie wird zwischengespeichert und an den autoritativen Nameserver weitergeleitet.

Bei der Domainregistrierung legt unser Domainregistrierer fest, welchen autoritativen Nameserver unsere Domain verwenden soll. Autoritative Nameserver haben also unsere Domain-Informationen, während unsere Anfrage ANS erreicht, antwortet sie auf die Anfrage, dass linux-console.net 111.111.222.1 haben, während sie gleichzeitig im autoritativen Nameserver zwischengespeichert wird und die Anfrage an den Browser zurücksendet. Alle oben genannten Schritte werden innerhalb von Millisekunden ausgeführt.

Ich hoffe, Sie haben verstanden, was DNS jetzt ist und wie es funktioniert. Lassen Sie uns nun einen Caching-DNS-Server in Ubuntu Server 14.04 LTS einrichten.

Schritt 1: DNS-Server installieren

Werfen Sie zunächst einen Blick auf die Informationen zu meinem lokalen DNS-Server, wie z. B. die statische IP-Adresse und den Hostnamen, die für diesen Artikel verwendet werden.

IP Address:	192.168.0.100
Hostname:	dns.tecmintlocal.com

Um zu überprüfen, ob die obigen Einstellungen korrekt sind, können wir die Befehle 'hostnamectl' und 'ifconfig' verwenden.

$ hostnamectl
ifconfig eth0 | grep inet

Als Nächstes aktualisieren wir die Standard-Repositories und führen ein System-Upgrade durch, bevor wir den DNS-Cache-Server einrichten.

$ sudo apt-get update && sudo apt-get upgrade -y

Installieren Sie nun die DNS-Pakete bind und dnsutils mit dem folgenden Befehl.

$ sudo apt-get install bind9 dnsutils -y

Sobald dns installiert ist, wechseln Sie in das bind-Konfigurationsverzeichnis unter /etc/bind.

$ /etc/bind/
ls -l

Schritt 2: Festlegen des DNS-Cache-Servers

Zunächst richten wir hier den Caching-Server ein und konfigurieren ihn. Öffnen und bearbeiten Sie die Datei mit dem Namen d.conf.options mit dem vim-Editor.

$ sudo vim named.conf.options

Nun, hier wird das Wort "Weiterleitungen" verwendet, um Domainnamenanfragen zwischenzuspeichern. Hier werden wir also meinen Router als Weiterleitung verwenden. Heben Sie die Auskommentierung des Voranstellens der Zeile auf, wie im Bild gezeigt.

forwarders {
        192.168.0.1;
        };

Speichern und beenden Sie die Datei mit wq!. Jetzt ist es an der Zeit, den Bind-Server für einen kleinen Test zu starten.

$ sudo /etc/init.d/bind9 start

Wenn wir testen müssen, ob das Caching funktioniert, können wir den Befehl dig verwenden und überprüfen, ob der Cache funktioniert oder nicht.

Zum Beispiel werden wir ubuntu.com jetzt graben, zuerst wird es nicht Cache sein, daher kann es einige Millisekunden dauern, sobald es zwischengespeichert ist, wird es blitzschnell sein.

$ dig @127.0.0.1 ubuntu.com

Ein dig-Befehl ist ein Tool für DNS-Lookups. Um mehr über den Befehl "Dig" zu erfahren, lesen Sie das folgende Thema.

  1. 10 nützliche Beispiele für dig-Befehle

Hier können wir im obigen Bild sehen, dass meine Abfrage beim ersten Dig 1965 Millisekunden dauerte und zeigt, welche IP-Adresse an ubuntu.com gebunden ist.

Versuchen wir es noch einmal und sehen wir uns die Abfragezeit an.

Cool!, Im zweiten Versuch haben wir die Abfrage innerhalb von 5 Millisekunden bekommen. Ich hoffe, Sie wissen, was der Caching-Server jetzt ist. Das obige Bild zeigt, dass insgesamt 13 Root-Server Ubuntu.com zwischenspeichern, da Millionen von Menschen bereits auf die offizielle Ubuntu-Website zugegriffen haben.

Schritt 3: Festlegen des Master-DNS-Servers

Erstellen Sie einen MASTER-DNS-Server, hier definiere ich den Domainnamen als tecmintlocal.com, bearbeiten Sie die Datei mit dem Namen d.conf.local mit dem vim-Editor.

$ sudo vim /etc/bind/named.conf.local

Geben Sie den DNS-Master-Eintrag wie unten gezeigt ein.

zone "tecmintlocal.com" {
        type master;
        file "/etc/bind/db.tecmintlocal.com";
        };
    1. zone: Host-Details in der Domäne
  1. Typ: Master-DNS.
  2. file: Speicherort zum Speichern von Zoneninformationen.

Erstellen Sie die Zonendatei db.tecmintlocal.com (Forward Lookups) keine Kopie von db.local erstellt.

$ sudo cp db.local db.tecmintlocal.com

Öffnen und bearbeiten Sie nun die kopierte Zonendatei mit dem vim-Editor.

$ sudo vim db.tecmintlocal.com

Fügen Sie als Nächstes den folgenden Beispieleintrag hinzu, den ich zu Tutorialzwecken verwendet habe. Ich verwende dasselbe auch für andere Setups virtueller Maschinen. Ändern Sie den folgenden Eintrag nach Ihren Anforderungen.

;
; BIND data file for local loopback interface
;
$TTL    604800
@       IN      SOA     tecmintlocal.com. root.tecmintlocal.com. (
                     2014082801         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
@       IN      NS      ns.tecmintlocal.com.
ns      IN      A       192.168.0.100

clt1    IN      A       192.168.0.111
ldap    IN      A       192.168.0.200
ldapc   IN      A       192.168.0.211
mail    IN      CNAME   clt1.tecmintlocal.com.

Speichern und beenden Sie die Datei mit wq!.

Starten Sie abschließend den Bind-DNS-Dienst mit dem folgenden Befehl neu.

 
sudo service bind9 restart

Wir müssen bestätigen, ob die Einrichtung der oben genannten Zone funktioniert. Lassen Sie uns dies mit dem Befehl dig überprüfen. Führen Sie den Befehl wie folgt in der localhost-Abfrage aus.

$ dig @127.0.0.1 mail.tecmintlocal.com

Lassen Sie uns den clt1.tecmintlocal.com pingen und testen, bevor wir den Eintrag dns-server in unserem DNS-Server-Rechner in localhost ändern und das Netzwerk neu starten müssen, um die Wirkung zu erzielen.

Öffnen und bearbeiten Sie die Einstellungen der Netzwerkschnittstelle und geben Sie den DNS-Eintrag ein.

$ sudo vim /etc/network/interfaces

Ändern Sie den DNS-Eintrag in der Benutzeroberfläche wie folgt.

auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
        address 192.168.0.100
        netmask 255.255.255.0
        gateway 192.168.0.1
        network 192.168.0.0
        broadcast 192.168.0.255
        dns-nameservers 127.0.0.1
	    dns-search tecmintlocal.com

Nachdem Sie den Eintrag hinzugefügt haben, starten Sie das Netzwerk mit dem folgenden Befehl neu.

$ sudo ifdown eth0 && sudo ifup eth0

Wenn der Neustart des Netzwerks nicht wirksam wird, müssen wir einen Neustart benötigen. Lassen Sie uns nun den clt1.tecmintlocal.com anpingen und überprüfen, während er antwortet, müssen wir die IP-Adresse abrufen, die wir für den Hostnamen clt1 definiert haben.

$ ping clt1.tecmintlocal.com -c 3

Festlegen von Reverse-DNS-Lookups

Öffnen und bearbeiten Sie erneut die Datei mit dem Namen.conf.local.

$ sudo vim /etc/bind/named.conf.local

Fügen Sie nun den folgenden Reverse-DNS-Lookup-Eintrag hinzu, wie gezeigt.

zone "0.168.192.in-addr.arpa" {
        type master;
        notify no;
        file "/etc/bind/db.tecmintlocal192";
        };

Speichern und beenden Sie die Datei mit wq!. Erstellen Sie nun eine db.tecmintlocal192-Datei, wie ich oben in der Master-Datei für den Reverse-Lookup erwähnt habe, kopieren Sie die db.127 nach db.tecmintlocal192 mit dem folgenden Befehl.

$ sudo cp db.127 db.tecmintlocal192

Öffnen und bearbeiten Sie nun die Datei db.tecmintlocal192, um den Reverse-Look-up einzurichten.

$ sudo vim db.tecmintlocal192

Geben Sie den folgenden Eintrag wie folgt ein, ändern Sie den folgenden Eintrag nach Ihren Wünschen.

;
; BIND reverse data file for local loopback interface
;
$TTL    604800
@       IN      SOA     ns.tecmintlocal.com. root.tecmintlocal.com. (
                        2014082802      ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
@       IN      NS      ns.
100     IN      PTR     ns.tecmintlocal.com.

111     IN      PTR     ctl1.tecmintlocal.com.
200     IN      PTR     ldap.tecmintlocal.com.
211     IN      PTR     ldapc.tecmintlocal.com.

Starten Sie den Bindungsdienst mit neu.

Überprüfen Sie nun den Eintrag für die Reservesuche.

$ host 192.168.0.111

Während wir eine umgekehrte Suche mit einer IP-Adresse durchführen, wie oben gezeigt, möchte sie mit einem Namen antworten, wie das obige Bild zeigt.

Lassen Sie uns auch eine Überprüfung mit dem Befehl dig durchführen.

$ dig clt1.tecmintlocal.com

Hier sehen wir die Antwort auf unsere Anfrage im Antwortbereich als Domainname clt1.tecmintlocal.com mit der IP-Adresse 192.168.0.111.

Schritt 4: Festlegen des Client-Computers

Ändern Sie einfach die IP-Adresse und den DNS-Eintrag auf dem Client-Rechner in Unser lokaler DNS-Server 192.168.0.100, wenn dies der Fall ist, erhält unser Client-Rechner den zugewiesenen Hostnamen vom lokalen DNS-Server.

Lassen Sie uns den Hostnamen unseres Clients mit der folgenden Befehlsfolge überprüfen.

$ ifconfig eth0 | grep inet
hostname	
dig -x 192.168.0.100

Verständnis des Zonendateieintrags in dns, Dieses Bild gibt Ihnen eine kleine Erklärung, was wir im Zonendateieintrag definiert haben.

Das wars! In diesem Artikel haben wir gesehen, wie Sie einen lokalen DNS-Server für unser Büro oder den Heimgebrauch einrichten.

Bald können Sie den Artikel lesen, wie Sie mit verschiedenen Tools Probleme mit einem DNS-Server beheben und das Problem beheben können. Es gibt viele Tools, die zur Fehlerbehebung bei den DNS-Servern verwendet werden. Lesen Sie den folgenden Artikel, um mehr über einige Tipps zur Fehlerbehebung zu erfahren.

8 nslookup-Befehle zur DNS-Fehlerbehebung

Verwandte Artikel: