Dies ist yuji323, der erste Artikel seit langer Zeit. Dieses Mal unterscheidet es sich ein wenig von der Java-Programmierung und ist ein Artikel, der näher an NW liegt. Wie der Titel schon sagt, habe ich versucht, einen DNS-Server in einer virtuellen Umgebung mit CentOS und BIND zu erstellen. Ich hoffe es wird den Bedürftigen helfen ~
Wenn Sie Fehler haben, lassen Sie es mich bitte in den Kommentaren wissen.
Hypervisor: VMWare WorkStation Player für Windows 15.0 Host-Betriebssystem: Windows 10 Version 1909 Gast-OS1 (DNS-Server / DHCP01): CentOS Linux Release 8.2.2004 (Core) Gast-OS2 (zur Verifizierung / TEST01): CentOS Linux Release 8.2.2004 (Core) Gast OS3 (zur Verifizierung / TEST02): CentOS Linux Release 8.2.2004 (Core)
Zuletzt erstellen wir eine virtuelle Umgebung, wie im folgenden Netzwerkdiagramm gezeigt. Es gibt Dinge, die nichts mit diesem Inhalt zu tun haben, aber das geht in Richtung Ignorieren ...
Während ich im Unternehmen wartete, wurde ich gebeten, Lernmaterialien zu erstellen und sagte: "Ich möchte in Zukunft netzwerkbezogene Themen für die Ausbildung neuer Mitarbeiter untersuchen."
Ich habe meine vorherige Firma verlassen, weil ich sie anstelle von NW entwickeln wollte! !! </ b>
Es scheint, dass er die Erfahrung als NW Engineering seines vorherigen Jobs kauft ... Serveraufbau, nicht Entwicklungsinhalt ... und DNS ...
Um diese Zeit wollte ich die Entwicklung mit viel Aufwand studieren, aber ich versuchte mit einem leichten Gefühl zu studieren: "Nun, wenn Sie ein Full-Stack-Ingenieur sein wollen, gibt es endlich keinen Verlust."
IP-Adressen und Hostnamen werden für jede der drei Einheiten festgelegt und mit der Domäne "testdomain.local" im virtuellen NAT-Netzwerk verbunden. Informationen zu jedem Gastbetriebssystem sehen folgendermaßen aus ↓. Es scheint, dass es später beim Schreiben von DNS-Zoneninformationen benötigt wird. Stellen Sie es daher im Voraus ein.
Gastbetriebssystem | Hostname | IP Adresse | DNS |
---|---|---|---|
TEST01 | test01.testdomain.local | 192.168.146.10 | 192.168.146.140 |
DNS01 | dns01.testdomain.local | 192.168.146.140 | 192.168.146.2 |
Wenn Sie BIND (Berkeley InternetName Domain) (cool) installieren (es ist schön, die Abkürzung auf Englisch zu schreiben), scheint der installierte Server als DNS-Server zu fungieren. Das zu bindende Image ist für verschiedene Prozesse verantwortlich, wenn die Kombination aus IP und Hostname auf dem DNS-Server erfasst wird.
dns01.
[root@dns01 ~]# yum install bind
[root@dns01 ~]# yum install bind-utils
Da "bind" der Hauptteil von bind ist und "bind-utils" dig-Befehle enthält, können Sie bind nur installieren, wenn Sie den dig-Befehl zum Zeitpunkt der Überprüfung nicht verwenden.
Bearbeiten Sie die Konfigurationsdatei der installierten Bindung. Ich habe einen Kommentar für das Quiita-Posting geschrieben. Selbst wenn ich ihn kopiere, funktioniert er möglicherweise nicht. .. .. Es ist besser, den Kommentar zu löschen, wenn Sie ihn verwenden ◎
dns01.
[root@dns01 ~]# cp /etc/named.conf /etc/named.conf.ORG
[root@dns01 ~]# vi /etc named.conf
/etc/named.conf
options {
listen-on port 53 { 127.0.0.1; 192.168.146.140;}; //Listen Port
//listen-on-v6 port 53 { ::1; }; //ipv6 scheint für Anfragen zu spät zu sein, also kommentieren Sie es aus
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
secroots-file "/var/named/data/named.secroots";
recursing-file "/var/named/data/named.recursing";
recursion yes; //Rekursive Abfrageberechtigung
allow-query {any; }; //Adressen, die eine Namensauflösung ermöglichen → Alle zulassen
forwarders { //Wenn die Anfrage keine Informationen in der Zonendatei enthält, werfen wir eine Lösung auf ein anderes DNS ~
192.168.146.2;}; //Das Ziel zu werfen. Es scheint, dass ISP oder Google DNS in Ordnung ist. Der nächstgelegene Router ist ebenfalls akzeptabel. Diesmal ist es so.
};
logging { //Einstellungen für die Protokollaufnahme
// channel default_debug { //Die standardmäßig festgelegte Person verfügt nicht über genügend Informationen. Kommentieren Sie sie daher aus
// file "data/named.run";
// severity dynamic;
// };
channel "default-log" { //Beschreiben Sie die neuen Erfassungseinstellungen
file "/var/named/log/default.log" versions 5 size 10M;
severity debug;
print-time yes;
print-severity yes;
print-category yes;
};
category default{"default-log";}; //default-Ich werde log ~ verwenden
};
// zone "." IN { //★ Kommentare deaktiviert, da nicht aufgelöste Adressen keine Zoneninformationen enthalten. Ich war wirklich begeistert(Große Niederlage)
// type hint;
// file "named.ca";
// };
// include "/etc/named.rfc1912.zones";
// include "/etc/named.root.key";
zone "testdomain.local" { //Geben Sie den Speicherort der Zonendatei der festgelegten Domäne an
type master; //Ich werde danach ausführlich schreiben.
file "testdomain.local.zone";
};
Erstellen Sie im Voraus das in ↑ angegebene Protokollausgabeverzeichnis. Erstellen Sie das in "/etc/named.conf" und "file" / set permissions angegebene Verzeichnis!
dns01.
[root@dns01 ~]# mkdir /var/named/log
[root@dns01 ~]# chown named.named /var/named/log
Überprüfen Sie die Syntax, wenn Sie fertig sind! !! !! !! Weiter, sobald der Fehler verschwindet. (Die Zeile zeigt Ihnen den Fehler im Detail an.)
dns01.
[root@dns01 ~]# named-checkconf
Erstellen Sie eine DNS
dns01.(Erstelle neu)
[root@dns01 ~]# vi /var/named/testdomain.local.zone
/var/named/testdomain.local.zone
$TTL 86400 //↓ Administrator-E-Mail-Adresse.
@ IN SOA dns01.testdomain.local. root.testdomain.local. (
2020050502 ;Serial //Ordnungsnummer. Aktualisieren, wenn die Datei aktualisiert wird! !! Datum+Es scheint, dass Einheit 0 oft verwendet wird
3600 ;Refresh //Gefühl der Zonenübertragung
300 ;Retry //Wiederholungsgefühl, wenn die Übertragung fehlschlägt
360000 ;Expire //Aufbewahrungszeit für Zonendateien
86400 ) ;Negative //Auf anderen Servern zwischengespeicherte Zeit
//↓ ↓ Hostname ↓ ↓ ↓ ↓ Datensatztyp ↓ ↓ ↓ ↓ IP-Adresse ↓ ↓
IN NS dns01.testdomain.local
dns01.testdomain.local IN A 192.168.146.140
dns01 IN A 192.168.146.140
db01 IN A 192.168.146.130
dhcp01 IN A 192.168.146.150
pr01 IN A 192.168.146.160
test01 IN A 192.168.146.10
Und Syntaxprüfung !!!!!
dns01.
[root@dns01 ~]# named-checkconf -z
Diese Prüfung gibt unabhängig von Erfolg / Misserfolg ein Protokoll aus. Überprüfen Sie daher den Inhalt sorgfältig! Wenn ein Fehler auftritt, können Sie die Details mit [systemctl status named] überprüfen.
Wenn Sie es von Anfang an geschnitten haben, können Sie es ignorieren. Diesmal handelt es sich um eine Überprüfungsumgebung, daher ist es in Ordnung, sie auszuschalten, aber ... ich werde die Bohrmethode auch zum Studieren verwenden.
dns01.
[root@dns01 ~]# firewall-cmd --add-service=dns
[root@dns01 ~]# firewall-cmd --reload
dns01.
[root@dns01 ~]# vi /etc/sysconfig/named
Fügen Sie "OPTIONS =" - 4 "" hinzu!
dns01.
[root@dns01 ~]# status named.service
[root@dns01 ~]# status named-chroot.service
Wenn es keine besonderen Fehler gibt, ist dies das Ende der Konstruktion! Danke für deine harte Arbeit. .. .. .. Lassen Sie uns weiterhin überprüfen, ob eine Namensauflösung möglich ist ~
Dieses Mal wird nur die Weiterleitungszonendatei erstellt. Überprüfen Sie daher, ob die IP aus dem Domänennamen gezogen werden kann. Ich werde versuchen, den Namen von dns01 anhand des Domainnamens von test01 und des Namens der externen Domain aufzulösen.
Ich habe sicher geschlossen! </ b>
Geräte im Netzwerk 192.168.146.0/24 können jetzt über den Domainnamen kommunizieren! !! Dies ist sicher, da Sie der Zonendatei nur dann Datensätze hinzufügen müssen, wenn Sie in Zukunft einen neuen Server einrichten ◎ Dann!
Recommended Posts