Bind9 DNS Server ermöglicht es Ihnen, IP-Adressen einzelner Maschinen durch einen Namen zu ersetzen. Sie können dem gleichen Computer auch mehrere Namen zuweisen. Zum Beispiel ist Ihr PC ein Webserver sowie Mailserver. Sie können den Webserver “azizozbek.ch” und den Mailserver “mail.azizozbek.ch” zuweisen. Wenn Sie mit Domain-Namen statt mit IP-Adressen arbeiten möchten und ein Linux-Benutzer sind, dann ist diese Artikel “Bind9 DNS Server Konfiguration” unter Ubuntu 16.04 genau das Richtige für Sie. Wenn Sie ein Windows-Benutzer sind, werde ich einen anderen Artikel über Windows Server 2012 R2 DNS-Konfiguration veröffentlichen.
🖥Was ist DNS – Domain Name System?
Jedem Computer im Internet wird eine Nummer zugewiesen, die “IP-Adresse” genannt wird. Diese Nummer ist einzigartig (kann sich aber im Laufe der Zeit ändern).
Zum Beispiel hat meine Website ” azizozbek.ch ” die IP-Adresse 104.18.51.8 . Wenn Sie unter Windows die cmd-Konsole oder auf Linux ein Terminal öffnen und nslookup azizozbek.ch
oder ping azizoszbek.ch
schreiben, erhalten Sie die IP meiner Website. Normalerweise können Sie meine Website über einen Browser über http://104.18.51.8/ oder mit einem Terminal curl 104.18.51.8
erreichen, aber ich benutze Cloudflare für DNS-Server und direkte IP-Adresse ist nicht erlaubt. Darum können Sie einfach google.ch pingen und die IP Adresse in URL(Uniform Resource Locator) eingeben. (https://172.217.18.3)
Da solche Nummern schwer zu merken sind und sich die IP-Adressen ändern können, DNS wurde entwickelt. Dieses System weist IP-Adressen einen leichter lesbaren Namen zu, resp. der Domain.
Die IP-Adresse 104.18.51.8 erhält die Domain azizozbek.ch. Also wenn Sie azizozbek.ch in Ihren Browser eingeben, dieser Name wird im Hintergrund mit Domain Name System in 104.18.51.8 umgewandelt. Zum Beispiel, das Adressbuch in Ihrem Mobiltelefon. Sie möchten Ihren Freund anrufen. Was ist, wenn Ihr Freund zwei Nummern hat? Sie müssen sie jedes Mal eingeben, wenn Sie ihn nicht in Ihrem Adressbuch gespeichert haben. Er kann auch seine Nummern ändern. Deshalb geben Sie nicht seine Nummer ein, sondern seinen Namen. Dann sucht das Telefon nach der Nummer im Adressbuch, die für diesen Namen zugewiesen ist.
Was is Bind? – Berkeley Internet Name Domain
BIND ist ein Open-Source-Programmpaket zur Namensauflösung im Domain Name System (DNS) für Linux Operation Systems. Die Software entstand in den frühen 1980er Jahren an der University of California in Berkeley. Deshalb steht der Name BIND für Berkeley Internet Name Domain. Mehr über Bind besuchen Sie die offizielle Website.
Installiere Bind9 auf Ubuntu 16.04
🛠System Aktualisieren & Bind Installieren
Zunächst sollten Sie Ihr System aktualisieren, damit Sie es aus der möglicher Fehler-Liste entfernen können, wenn ein Fehler aufgetreten ist 🙂
sudo apt update -y sudo apt upgrade -y
Wenn Sie weniger als 16.04 Version verwenden, sollten Sie “apt-get” schreiben. Danach können Sie Bind9 Package installieren.
sudo apt-get install bind9 bind9utils
Nach erfolgreicher Installation können Sie die Konfigurationsdateien bearbeiten. Stellen Sie zuerst den Modus BIND auf IPv4 ein. sudo vi /etc/default/bind9
Konfiguriere Primärer DNS Server
Mein Ziel – Bind9 DNS Server Konfiguration
Ich werde zwei Ubuntu 16.04 LTS Virtual Machine (ns und Client) haben. Einer wird DNS-Server sein, der andere ist Client.
Host | Rolle | FQDN* | IP Adress |
---|---|---|---|
ns | Primerär DNS Server | ns.dns.azizozbek.ch | 192.168.1.130 |
client | DNS Client | client.dns.azizozbek.ch | 192.168.1.131 |
*FQDN = Fully-Qualified Domain Name
Allererst wechseln Sie das Verzeichnis zu cd /etc/bind/
Öffnen Sie named.conf.options
, Hier werden wir eine Liste von Clients definieren, die rekursive DNS-Anfragen vom selben Netzwerk zulassen.
Wenn Sie named.conf.local
öffnen, haben Sie möglicherweise nichts in dieser Datei. Die Beispiele sind in named.conf.default-zones
. Sie können einfach von dort in die named.conf.local
. Datei kopieren. Dann ändere sie oder schreib dich selbst. Es sollte wie folgt aussehen:
Die Zonennamen hängen von Ihnen ab. Ich wähle “dns.aziozbek.ch” für dieses Tutorial. Vielleicht können Sie einen Liga-Namen verwenden. Zum Beispiel “ laliga.local “. So können Sie dem Kunden die Namen des Fussballclubs zuordnen und sich diese einfach merken . Wenn Sie den DNS-Server für ein grosses Unternehmen konfigurieren, können Sie “fifa.local” auswählen, anstatt den Ländernamen, den Sektoren Stadt des Landes, den Ebenen Fussballvereinen der Stadt und den Endnutzer-Kunden die Namen der Fussballer zuzuteilen.
📝Erstelle Forward Lookup Zone
Erstellen Sie zuerst einen Ordner für Zonen. sudo mkdir/etc/bind/zonen
. Sie können den db.local
im Zonenverzeichnis kopieren, um eine Forward-Lookupzone zu erstellen.
cp db.local zones/db.dns.azizozbek.ch
DNS Resource Einträge
$ TTL : (Lebensdauer) Gibt den Standard-TTL -Wert an. Der Prozess, den wir hier in Sekunden angeben, gibt an, wie lange die anderen DNS-Server die Datensätze dieser Domäne zwischenspeichern sollen. Hier sagen wir, wie lange ein DNS-Server braucht, um seine Antwort in seinem Cache zu behalten, wenn wir unseren DNS-Server nach irgendwelchen Datensätzen von dns.azizozbek.ch abfragen. Auf diese Weise bitten uns die entsprechenden DNS nicht, immer wieder für dieselbe Aufzeichnung zu kommen, nicht für uns selbst und für uns.
SOA : In dieser Zeile wird der SOA-Eintrag (Start of Authority) für den Domänenschritt beschrieben. SOA ist das Hauptregister, in dem globale Parameter einer Domäne angegeben sind und für jede Zone ein SOA-Record erforderlich ist.
Das Zeichen “@” in dieser Zeile gibt den Domänennamen selbst an. “IN” ist die Klasse des Datensatzes, “SOA” ist der Resource Record (rr), Master Name Server ist der Domain Name von “ns.dns.azizozbek.ch” und “admin.dns.azizozbek.ch” e -Mail Adresse. (Diese E-Mail-Adresse verwendet. Statt @):
- Seriell : ist das ganze nicht signierte 32 Bit. Dies ist die Seriennummer, die bei jeder Dateiänderung erhöht wird. Es ermöglicht dem sekundären Server, die Informationen neu zu laden, die sie haben. Der allgemeine Zweck besteht darin, es so zu formatieren, YYYYMMDDXX, entweder für die erste Änderung 01/04/2007 – & gt; 2007040101, für die zweite 2007040102.
- Aktualisieren : Definiert den Datenaktualisierungszeitraum.
- Erneut versuchen : Wenn während der letzten Aktualisierung ein Fehler auftritt, wird er am Ende der Zeit wiederholt. Wiederholen
- Verfällt ‘: Der Server gilt nach Ablauf der Zeit als nicht verfügbar.
- Negative Cache-TTL ‘: Legen Sie die Lebensdauer einer NXDOMAIN-Antwort von uns fest.
NS : Informationen im Namen von Nameservern für die Domäne.
MX : Informationen zum Mail-Server. Viele können definiert werden. So ist es möglich, ihnen eine Priorität zu geben und eine Nummer zuzuweisen. Je niedriger die Zahl, desto höher die Priorität.
A : Ordnet einen Hostnamen einer IPv4-Adresse zu (32 Bit)
AAAA: Ordnet einer IPv6-Adresse einen Hostnamen zu (128 Bit)
CNAME : identifiziert den kanonischen Namen eines Alias (ein Name, der auf einen anderen Namen verweist)
PTR : Dies ist einfach die inverse Auflösung (das Gegenteil von Typ A).
Die Forward-Lookup-Zonendatei sieht folgendermaßen aus:
📝Erstelle Reserve Lookup Zone
Reverse Lookup Zone-Datei ist, wo wir DNS PTR-Datensätze für Reverse-DNS-Lookups definieren. Wenn der DNS beispielsweise eine Abfrage nach der IP-Adresse “192.168.1.131” empfängt, sucht er in der Reverse-Lookup-Zonendatei nach dem entsprechenden FQDN, in diesem Fall “client.dns.azizozbek.ch”.
✔️Kontrolliere BIND Syntax Fehler
Überprüfen Sie mit sudo named-checkconf
, ob ein Syntaxfehler vorliegt. Wenn nicht, wird nichts angezeigt. Sie können auch die Forward-Lookup-Zone und die Reverse-Lookup-Zone mit einem Befehl prüfen
sudo named-check sudo named-checkzone dns.azizoszbek.ch db.dns.azizozbek.ch // Wenn Sie sich nicht im Bindungspfad befinden, geben Sie den vollständigen Pfad ein sudo named-checkzone 1.168.192.in-addr.arpa db.192.168.1
Nach dem Auschecken, Bind neu starten
sudo /etc/init.d/bind9 neustarten sudo /etc/init.d/bind9 status // Überprüfen Sie, ob es funktioniert
⚙️Konfiguriere Client
Eigentlich müssen Sie nichts von der Client-Seite konfigurieren. Wenn Sie einen DHCP-Server haben, fügen Sie einfach den Nameserver “ns.dns.azizozbek.ch” hinzu und fordern Sie erneut DHCP-Infos auf dem Client an.
dhclient -r dhclient ens33 // gib hier deinen Interface-Namen an
Aber in meinem Fall habe ich keinen DHCP-Server (habe ich eigentlich, aber es ist der Router, den ich nicht konfigurieren kann) und mein Nameserver ist bereits vorhanden. Ich muss einige Sachen ändern, damit es richtig funktioniert. Ändern Sie zuerst “resolv.conf”. Mit der folgenden Datei können Sie dauerhaft ändern. Wenn Sie die Datei direkt ändern möchten verwenden Sie sudo vi/etc/resolv.conf
, schreiben Sie die gleichen Zeilen unten auf dem Screenshot.
sudo vi /etc/resolvconf/resolv.conf.d/head sudo resolvconf -u // regeneriere die neue resolv.conf
Wenn Sie einen privaten FQDN wie “laliga.local” haben, sind Sie fertig. Überprüfen Sie mit nslookup
nslookup 192.168.1.131 nslookup-Client
Ich benutze einen öffentlichen FQDN “ns.dns. azizozbek.ch “. Wenn Sie den nslookup-Client eingeben, wird standardmäßig die Anfrage zuerst an die Datei / etc / hosts und dann an /etc/resolv.conf weitergeleitet, um den DNS-Server zu finden. Ich kann die IP-Adressen in /etc/hosts
-Datei zuweisen, aber es ist keine gute Idee. Ich werde die Reihenfolge der Anfrage in /etc/nsswitch.conf
ändern
nsswitch.conf
Ich habe auf meinem Ubuntu (ns.dns.azizozbek.ch) einen Webserver (Apache) installiert, wenn ich die URL “ns.dns.azizozbek.ch” eintippe, bekomme ich meinen lokalen Webserver. Wenn ich “azizozbek.ch” eintippe, wird die ursprüngliche Website angezeigt, da ich die Bestellung geändert habe.
Es war alles über Bind9 DNS Server Konfiguration 🙂 Ich bin kein Experte für Domain Name Server, aber wenn Sie einen Fehler erhalten, können Sie unten kommentieren.
Hallo Azizulla,
der eintrag für IPv6 Adresse ist
AAAA und nicht ….
JJJJ : Ordnet einer IPv6-Adresse einen Hostnamen zu (128 Bit)
Gruß
Uwe
Hoi Uwe, danke für deinen Hinweis, sollte einen Tippfehler von mir sein 🙂