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.
- 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";
};
- zone: Host-Details in der Domäne
- Typ: Master-DNS.
- 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




















