Vollständige Konfiguration von BIND und DNS auf den neuen Server
Nach dem Kauf eines dedizierten Servers oder VPS von einem Anbieter erhalten wir normalerweise eine IP-Adresse und einen Hostnamen, was der nächsten Bestellnummer ähnlicher ist, in der Domäne des Anbieters. Heute werde ich jedoch vorstellen, wie ein BIND-Server installiert und konfiguriert wird, um Domänen zu unterstützen.
DAS:
DNS-Serverkonfiguration.
Basic wird auf meinem VPS-Server sein, Während ich ein Backup erstelle, verwende ich einen der kostenlosen DNS-Wartungsdienste freedns.42.pl.
Ändern des Hostnamens
Der Name des neuen Servers kann mit dem Befehl überprüft werden:
1 | hostname -f |
Hostname Konfiguration:
Bearbeiten Sie Ihre nano /etc / hosts
1 | nano nano /etc/hosts |
Die Datei sollte wie folgt aussehen:
1 2 3 4 5 6 7 | 127.0.0.1 localhost.localdomain localhost 185.38.250.250 node.serwerweb.pl node # The following lines are desirable for IPv6 capable hosts ::1 localhost ip6-localhost ip6-loopback ff02::1 ip6-allnodes ff02::2 ip6-allrouters |
der nächste Schritt ist die Datei nano / etc / Host-Namen zu bearbeiten
1 | nano nano /etc/hostname |
Und wir geben den Hostnamen Knoten
Wir machen einen Neustart des Servers.
Wenn Sie in der Konsole anmelden, können wir alle Befehle überprüfen:
1 2 | hostname hostname -f |
1 2 3 4 | root@node:/tmp# hostname node root@node:/tmp# hostname -f node.serwerweb.pl |
Wir gehen zur Hauptkonfiguration von Bind.
Am Anfang müssen Sie sicher sein, dass der BIND-Nameserver installiert ist. Für den Fall, dass er noch nicht da war, Diese Installation sieht so aus:
1 | apt-get install bind9 |
BIND Sicherheit
BIND ist ein ziemlich verbreitetes Programm, Deshalb ist Sicherheit gut, nämlich es in einer chrootable Umgebung zu schließen. Sie müssen zuerst den gesamten Dienst beenden
1 | /etc/init.d/bind9 stop |
Bearbeiten Sie dann / etc / default / bind9 und ändern Sie den darin enthaltenen Parameterwert OPTIONS, so dass es so aussieht:
1 | OPTIONS="-u bind -t /var/lib/named" |
Als Nächstes müssen Sie neue Verzeichnisse erstellen und die vom Programm erstellten Standardverzeichnisse an neue Speicherorte verschieben:
1 2 3 4 5 | # Utworzenie katalogów mkdir -p /var/lib/named/etc mkdir -p /var/lib/named/var/cache/bind mkdir /var/lib/named/var/run mkdir /var/lib/named/dev |
1 2 | # Przeniesienie plików konfiguracyjnych BINDa mv /etc/bind /var/lib/named/etc |
Ich hinterlasse anstelle der übertragenen Kataloge einen symbolischen Link:
1 | ln -s /var/lib/named/etc/bind /etc/bind |
Es ist auch erforderlich, Null- und Zufallsgeräte zu erstellen und entsprechende Rechte zu gewähren:
1 2 3 | # Urządzenia mknod /var/lib/named/dev/null c 1 3 mknod /var/lib/named/dev/random c 1 8 |
1 2 3 4 | # Uprawnienia do plików i katalogów chmod 666 /var/lib/named/dev/null /var/lib/named/dev/random chown -R bind:bind /var/lib/named/var/* chown -R bind:bind /var/lib/named/etc/bind |
BIND ist jetzt in einer chrootable Umgebung geschlossen. Es bleibt eine Lösung für das Problem der Ereignisprotokollierung. Damit Ereignisse in Systemprotokollen protokolliert werden können, sollte die Datei / etc / default / syslogd geringfügig geändert werden. Suchen Sie die Zeile mit dem Parameter SYSLOGD und ändern Sie sie, lass es so aussehen:
1 | SYSLOGD="-a /var/lib/named/dev/log" |
Sie müssen lediglich den sysklogd-Dienst neu starten und bind9 starten.
1 | /etc/init.d/sysklogd restart |
1 | /etc/init.d/bind9 start |
Im Protokoll / var / log / syslog können Sie sehen, ob alles richtig gestartet wurde.
Und jetzt können Sie zu den richtigen Einstellungen gehen
Überprüfen Sie zuerst die Datei /etc/bind/named.conf
In meinem Fall können Sie sehen, dass es in untergeordnete Teile unterteilt ist, die aus Dateien enthalten sind: named.conf.options i named.conf.local
Wir beginnen mit der Überprüfung der Datei named.conf.options, denn im Grunde sind in meinem Fall die Standardeinstellungen vorerst ausreichend, und es sieht ungefähr so aus:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | options { directory "/var/cache/bind"; // If there is a firewall between you and nameservers you want // to talk to, you may need to fix the firewall to allow multiple // ports to talk. See http://www.kb.cert.org/vuls/id/800113 // If your ISP provided one or more IP addresses for stable // nameservers, you probably want to use them as forwarders. // Uncomment the following block, and insert the addresses replacing // the all-0's placeholder. // forwarders { // 0.0.0.0; // }; auth-nxdomain no; # conform to RFC1035 listen-on-v6 { any; }; }; |
Dann müssen Sie etwas schreiben und die Datei named.conf.local bearbeiten, Hier werden die vom Server bedienten Zonen definiert. Fügt meine Zone am Ende der Datei hinzu:
1 2 3 4 5 6 7 8 9 | zone "serwerweb.pl" { type master; file "/etc/bind/serwerweb.pl"; notify yes; allow-transfer { 195.80.237.194; 193.70.13.218; }; }; |
Typ Master bedeutet, dass dies der Grundtyp ist.
Datei gibt die Detaildatei für diese Domain an. Die absolute Adresse der Datei finden Sie hier, das muss in einem Moment erstellt werden. Durch Angabe des Dateinamens hier, Das Verzeichnis, in dem sich diese Datei befinden soll, ist das Verzeichnis, das in der Datei named.conf.options im Verzeichnisparameter angegeben ist.
Benachrichtigen Sie ja Ursachen, Backup-DNSs werden auch über Änderungen am Grundeintrag informiert.
Allow-Transfer gibt die IP-Adressen an, Wer hat die Erlaubnis, diese Zone herunterzuladen?, Hier sind die spezifischen Adressen der DNS-Server von der eingangs erwähnten freedns.42.pl-Website, Welches werden die Backup-Server hier sein (sekundär)
Erstellen Sie als Nächstes die oben genannte Datei mit Einträgen für die Domäne /etc/bind/serwerweb.pl
1 | nano /etc/bind/serwerweb.pl |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | $TTL 86400 $ORIGIN serwerweb.pl. @ IN SOA ns1.serwerweb.pl. boss.serwerweb.pl. ( 2018040301 ;; serial 10800 ;; refresh 3600 ;; retry 604800 ;; expire 10800 ;; TTL ) @ IN NS ns1.serwerweb.pl. @ IN NS ns2.serwerweb.pl. @ IN NS ns3.serwerweb.pl. @ IN A XX.XX.XX.XX ns1 IN A XX.XX.XX.XX ns2 IN A 193.70.13.218 ns3 IN A 195.80.237.194 ;; poczta @ IN MX 10 mail mail IN A XX.XX.XX.XX ;; serwer www www IN A XX.XX.XX.XX ftp IN CNAME @ |
Auf einen Blick:
$TTL - definiert die Gültigkeitsdauer von Datensätzen (in Sekunden)
$HERKUNFT - Domainname. Im Folgenden bedeutet @ nur diesen Wert.
Wenn der Domainname irgendwo in der Datei angezeigt wird, müssen Sie ihn mit einem Punkt beenden, Andernfalls wird der Domainname angehängt ($ ORIGIN-Wert)
@ IN SOA ... - Start Of Authority informiert über den primären DNS-Server und wer ihn verwaltet (E-Mail mit einem Punkt an der Stelle des Affen gespeichert)
Aufgrund der Datei habe ich drei DNS-Server für meine Domain definiert. Zwei wären hier genug.
Die erste von meinem Server unterstützte primäre ns1.serwerweb.pl, auf dem auch die Domain installiert wird, zwei mehr (ns2.serwerweb.pl i ns3.serwerweb.pl) sind Sicherungsadressen, die auf der Website freedns.42.pl erstellt wurden.
Bevor Sie mit der Konfiguration der Sicherungszone fortfahren, Sie sollten die vorgenommenen Änderungen bestätigen, indem Sie den bind9-Dienst neu starten
1 | service bind9 restart |
Sie können weiterhin überprüfen, ob alle nur für die Zone vorgenommenen Eingaben korrekt sind, indem Sie ein solches Programm aufrufen:
1 2 3 | named-checkzone serwerweb.pl /etc/bind/serwerweb.pl zone serwerweb.pl/IN: loaded serial 2018040301 OK |
Wenn etwas nicht stimmt oder ein drastischer Tippfehler begangen wurde, informiert das Programm, wo mehr oder weniger nach einem Fehler suchen.
Darüber hinaus kann mit dem folgenden Befehl überprüft werden, ob die Domäne korrekt hinzugefügt wurde (sollte nach der Ausführung erscheinen)
1
1 | named -g 2>&1 | grep loaded |
Das ist alles,, Wir haben den BIND-Server richtig konfiguriert.
named-checkzone sysadmin.info.pl /etc/bind/sysadmin.info.pl
dns_rdata_fromtext: /etc / bind / sysadmin.info.pl:14: in der Nähe von „XX.XX.XX.XX“: schlecht gepunktetes Quad
dns_rdata_fromtext: /etc / bind / sysadmin.info.pl:15: in der Nähe von „XX.XX.XX.XX“: schlecht gepunktetes Quad
dns_rdata_fromtext: /etc / bind / sysadmin.info.pl:21: in der Nähe von „XX.XX.XX.XX“: schlecht gepunktetes Quad
dns_rdata_fromtext: /etc / bind / sysadmin.info.pl:24: in der Nähe von „XX.XX.XX.XX“: schlecht gepunktetes Quad
Zone sysadmin.info.pl/IN: Das Laden aus der Masterdatei /etc/bind/sysadmin.info.pl ist fehlgeschlagen: schlecht gepunktetes Quad
Zone sysadmin.info.pl/IN: aufgrund von Fehlern nicht geladen.
Wie man es repariert?
XX.XX.XX.XX Ich habe die öffentliche IP-Adresse vom ISP ersetzt (ISP). Es klappt.
Hallo,
Wie die meisten würde ich Ihnen jedoch empfehlen, einen Server in einem bestimmten Unternehmen zu kaufen. Dann haben Sie eine feste IP-Adresse und das Vertrauen, dass sich dieser nicht ändert .
Solange Ihr ISP in der Lage ist, Ihnen konstant zu geben, kein Problem, können Sie es selbst tun.
Wurzelknoten:/# systemctl status bind9.service
● bind9.service – BIND Domain Name Server
Geladen: beladen (/lib / systemd / system / bind9.service; aktiviert; Anbieter voreingestellt: aktiviert)
Aktiv: gescheitert (Ergebnis: Exit-Code) da Sa 2020-10-10 02:50:03 EHRE; 13s vor
Docs: Mann:genannt(8)
Prozess: 1659 ExecStart = / usr / sbin / named $ OPTIONS (code = verlassen, status = 1 / FAILURE)
Okt. 10 02:50:03 Knoten benannt[1660]: mkdir konnte nicht "// run": Erlaubnis verweigert
Okt. 10 02:50:03 Knoten benannt[1660]: //run/named/session.key konnte nicht erstellt werden
Okt. 10 02:50:03 Knoten benannt[1660]: Sitzungsschlüssel für dynamisches DNS konnte nicht generiert werden: Erlaubnis verweigert
Okt. 10 02:50:03 Knoten benannt[1660]: Größenpool-Aufgabenpool basierend auf 5 Zonen
Okt. 10 02:50:03 Knoten benannt[1660]: Root-Hinweise aus "/usr/share/dns/root.hints" konnten nicht konfiguriert werden.: f
Okt. 10 02:50:03 Knoten benannt[1660]: Konfiguration laden: Datei nicht gefunden
Okt. 10 02:50:03 Knoten benannt[1660]: verlassen (aufgrund eines schwerwiegenden Fehlers)
Okt. 10 02:50:03 Knotensystemd[1]: bind9.service: Steuerungsprozess beendet, code = verlassen, Status = 1 / FAILUR
Okt. 10 02:50:03 Knotensystemd[1]: bind9.service: Fehler mit Ergebnis 'Exit-Code'.
Okt. 10 02:50:03 Knotensystemd[1]: BIND Domain Name Server konnte nicht gestartet werden.
Sie haben alle Schritte sicher gemacht, wie sie sein sollten?
Okt. 10 02:50:03 Knoten benannt[1660]: mkdir konnte nicht "// run": Erlaubnis verweigert
Okt. 10 02:50:03 Knoten benannt[1660]: //run/named/session.key konnte nicht erstellt werden
Die allererste Meldung zeigt an, dass Sie keine Berechtigung haben und den Peak nicht erstellen können.