Linux - Netzwerk und Serveradminstration DNS: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
(→Check) |
|||
| (9 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 39: | Zeile 39: | ||
;Anpassen des Templates | ;Anpassen des Templates | ||
*[[Anpassen des Debian Templates]] | *[[Anpassen des Debian Templates]] | ||
| + | oder | ||
| + | *debian-setup.sh -f ns.it2XX.int -a 10.88.2XX.21/24 -g 10.88.2XX.1 -n 192.168.HS.88 | ||
| + | |||
| + | ==JumpHost== | ||
| + | ;Auf dem KIT Host anfügen | ||
| + | *vim ~/.ssh/config | ||
| + | Host <span style="color:red">'''SHORT'''</span> | ||
| + | Hostname <span style="color:red">'''IP'''</span> | ||
| + | ProxyJump kit@fw | ||
| + | ;PubKey Übertragung | ||
| + | *ssh-copy-id <span style="color:red">'''SHORT'''</span> | ||
| + | Danach könnt ihr euch mit '''ssh''' <span style="color:red">'''SHORT'''</span> passswortlos einlogen | ||
=DNS Umsetzung= | =DNS Umsetzung= | ||
| Zeile 68: | Zeile 80: | ||
==/etc/bind/named.conf.options== | ==/etc/bind/named.conf.options== | ||
===Berechtigungen und Einschränkungen=== | ===Berechtigungen und Einschränkungen=== | ||
| − | + | {{BindOptions}} | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | } | ||
| − | |||
====Erklärungen==== | ====Erklärungen==== | ||
;directory "/var/cache/bind"; | ;directory "/var/cache/bind"; | ||
| Zeile 118: | Zeile 118: | ||
//Standardmässig leer | //Standardmässig leer | ||
//Hier werden die sogenanten Zonen angelegt. | //Hier werden die sogenanten Zonen angelegt. | ||
| − | zone " | + | zone "it2XX.int" { |
type master; | type master; | ||
| − | file " | + | file "it2XX.int"; |
}; | }; | ||
| − | zone " | + | zone "2XX.88.10.in-addr.arpa" { |
type master; | type master; | ||
| − | file " | + | file "2XX.88.10.in-addr.arpa"; |
}; | }; | ||
</pre> | </pre> | ||
====Erklärungen==== | ====Erklärungen==== | ||
| − | ;zone " | + | ;zone "it2XX.int" { |
*Die beschreibt den authoritiven Bereich den ihr verwaltet | *Die beschreibt den authoritiven Bereich den ihr verwaltet | ||
;type master; | ;type master; | ||
*Wir befinden uns auf primären Nameserver | *Wir befinden uns auf primären Nameserver | ||
| − | ;file " | + | ;file "it2XX.int"; |
*In dieser Datei werden die Zonendaten konfiguriert. Der Pfad ist relativ zur '''directory''' Direktive. | *In dieser Datei werden die Zonendaten konfiguriert. Der Pfad ist relativ zur '''directory''' Direktive. | ||
;}; | ;}; | ||
| Zeile 143: | Zeile 143: | ||
*Die Zonendatei enthält die Informationen zu den Adressen, und sieht folgendermaßen aus: | *Die Zonendatei enthält die Informationen zu den Adressen, und sieht folgendermaßen aus: | ||
*vi /var/cache/bind/it2XX.int | *vi /var/cache/bind/it2XX.int | ||
| − | + | {{it2XX.int}} | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
=Check= | =Check= | ||
| − | *named-checkzone | + | *named-checkzone it2XX.int /var/cache/bind/it2X.int |
| − | zone | + | zone it2XX.int/IN: loaded serial 2011090204 |
OK | OK | ||
=Reverse Zonen Datei= | =Reverse Zonen Datei= | ||
*vi /var/cache/bind/2XX.88.10.in-addr.arpa | *vi /var/cache/bind/2XX.88.10.in-addr.arpa | ||
| − | + | {{2XX.88.10.in-addr.arpa}} | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
=Check= | =Check= | ||
Aktuelle Version vom 2. Juni 2026, 14:04 Uhr
Vorab Theorie
Pseudo Top-Level-Domain
Pseudo-Top-Level Domäne
- Um die Domänen der anderen Labore aufzulösen ist ein Forwarder nötig
- Dieser zeigt auf den entsprechenden DNS-Server der Domäne, sodass die Zonen nur einmal definiert werden müssen
Vorbereitungen
- VirtualBox Server-Vorlage klonen
- Der Host soll im DMZ-Netzwerk liegen
- statische IP-Adresse nach dem Netzwerkplan setzen (/etc/network/interfaces)
- SSH-Schlüssel des Kit Hosts für User kit hinterlegen
Netzkonfiguration DNS-Server (DMZ)
| Parameter | Wert | Erläuterung |
|---|---|---|
| Netzwerk (NIC) | DMZ | Interface-Zuweisung in VirtualBox |
| IP | 10.88.2XX.21 | Statische IP |
| CIDR | 24 | Classless Inter-Domain Routing Präfixlänge |
| GW | 10.88.2XX.1 | GATEWAY |
| NS | 192.168.HS.88 | Resolver |
| FQDN | ns.it2XX.int | Fully Qualified Domain Name |
| SHORT | ns | Short Name |
| DOM | it2XX.int | Domain Name |
- Anpassen des Templates
oder
- debian-setup.sh -f ns.it2XX.int -a 10.88.2XX.21/24 -g 10.88.2XX.1 -n 192.168.HS.88
JumpHost
- Auf dem KIT Host anfügen
- vim ~/.ssh/config
Host SHORT Hostname IP ProxyJump kit@fw
- PubKey Übertragung
- ssh-copy-id SHORT
Danach könnt ihr euch mit ssh SHORT passswortlos einlogen
DNS Umsetzung
Installation
- apt install bind9
Stop
- systemctl stop named
Start
- systemctl start named
Restart
- systemctl restart named
Status
- systemctl status named
Hauptkonfiguration
Standardmäßig ist die Konfiguration von bind9 auf mehrere Dateien aufgeteilt:
/etc/bind/named.conf
#Diese Datei inkludiert einfach nur die anderen 3 Dateien
Allgemeine Option zum Nameserver
include "/etc/bind/named.conf.options";
Hier kommen die eignen Zonen rein
include "/etc/bind/named.conf.local";
Hier werden die Root Nameserver konfigurtiert
include "/etc/bind/named.conf.root-hints";
/etc/bind/named.conf.options
Berechtigungen und Einschränkungen
options {
directory "/var/cache/bind";
forwarders { <DNSGW>; };
allow-query { 0.0.0.0/0; };
allow-recursion { 10.88.2XX.0/24; 172.26.2XX.0/24; 10.2XX.1.0/24; 172.20.2XX.0; 127.0.0.1; };
allow-transfer {127.0.0.1; };
dnssec-validation no;
empty-zones-enable no;
listen-on-v6 { none; };
listen-on { any; };
};
Erklärungen
- directory "/var/cache/bind";
- Das ist das Basisverzeichnis der Zonen-Datein
- forwarders { <DNSGW>; };
- Wir richten alle Anfragen die wir nicht selbst beantworten können and er Forwarder
- empty-zones-enable no;
- Deaktiviert die eingebauten leeren Zonen für private IP-Bereiche (RFC 1918), damit PTR-Anfragen an den Forwarder weitergeleitet werden anstatt lokal mit NXDOMAIN beantwortet zu werden.
- allow-query { 0.0.0.0/0; };
- Diese Rechner dürfen den Nameserver nach dem von ihm verwalteten Zonen befragen.
- allow-recursion { 10.88.2XX.0/24; 172.26.2XX.0/24; 10.2XX.1.0/24; 127.0.0.1; };
- Diese Rechner dürfen den Nameserver nach Einträgen befragen die er nicht selbst beantworten kann.
- allow-transfer {127.0.0.1; };
- Diese Rechner dürfen einen axfr Abfrage durchführen.
- listen-on-v6 { none; };
- Wir schalten IPv6 ab
- listen-on { any; };
- Wir lauschen an allen Schnittstellen
Testen
- named-checkconf
Restart
- systemctl restart named
Konfigurations
/etc/bind/named.conf.root-hints
// prime the server with knowledge of the root servers
zone "." {
type hint;
file "/usr/share/dns/root.hints";
};
/etc/bind/named.conf.local
//Standardmässig leer
//Hier werden die sogenanten Zonen angelegt.
zone "it2XX.int" {
type master;
file "it2XX.int";
};
zone "2XX.88.10.in-addr.arpa" {
type master;
file "2XX.88.10.in-addr.arpa";
};
Erklärungen
- zone "it2XX.int" {
- Die beschreibt den authoritiven Bereich den ihr verwaltet
- type master;
- Wir befinden uns auf primären Nameserver
- file "it2XX.int";
- In dieser Datei werden die Zonendaten konfiguriert. Der Pfad ist relativ zur directory Direktive.
- };
- Abschluss des authoritiven Bereich.
Konfigurationsverzeichnis
/var/cache/bind
Forward Zonen Datei ohne Secundary DNS
- Die Zonendatei enthält die Informationen zu den Adressen, und sieht folgendermaßen aus:
- vi /var/cache/bind/it2XX.int
$TTL 1
@ IN SOA ns.int2XX.int. technik.it2XX.int. ( 2026060201 14400 3600 3600000 300 )
IN NS ns.it2XX.int.
IN MX 10 mail.it2XX.int.
fw IN A 10.88.2XX.1
ns IN A 10.88.2XX.21
sftp IN A 10.88.2XX.15
proxy IN A 10.88.2XX.4
mail IN A 10.88.2XX.3
www IN A 10.88.2XX.11
revproxy IN A 10.88.2XX.41
checkmk IN A 10.88.2XX.5
ntp IN A 10.88.2XX.17
nextcloud IN A 10.88.2XX.8
docker IN A 10.88.2XX.9
waf IN A 10.88.2XX.19
dhcp IN A 172.26.2XX.2
smb IN A 10.2XX.1.2
ldap IN A 10.2XX.1.3
kali IN A 172.26.2XX.100
Check
- named-checkzone it2XX.int /var/cache/bind/it2X.int
zone it2XX.int/IN: loaded serial 2011090204 OK
Reverse Zonen Datei
- vi /var/cache/bind/2XX.88.10.in-addr.arpa
$TTL 1 @ IN SOA ns.it2XX.int. technik.it2XX.int. ( 2026042701 14400 3600 3600000 86400 ) IN NS ns.it2XX.int. 1 IN PTR fw.it2XX.int. 21 IN PTR ns.it2XX.int. 3 IN PTR mail.it2XX.int. 4 IN PTR proxy.it2XX.int. 17 IN PTR ntp.it2XX.int. 11 IN PTR www.it2XX.int. 15 IN PTR sftp.it2XX.int. 41 IN PTR revproxy.it2XX.int. 5 IN PTR checkmk.it2XX.int. 8 IN PTR docker.it2XX.int. 9 IN PTR nextcloud.it2XX.int. 19 IN PTR waf.it2XX.int.
Check
- named-checkzone 213.88.10.in-addr.arpa /var/cache/bind/213.88.10.in-addr.arpa
zone 213.88.10.in-addr.arpa/IN: loaded serial 2011090204 OK
Restart
- systemctl restart named
Finaler Check
Asynchronous Full Zone Transfer
- Zone
- dig @127.0.0.1 it213.int -t axfr
- Reverse Zone
- dig @127.0.0.1 213.88.10.in-addr.arpa -t axfr
ändern der /etc/network/interfaces
dns-nameserver 127.0.0.1
- Danach aktivieren
- ifdown enp0s3 && ifup enp0s3
- Kontrolle
- cat /etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8) # DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN nameserver 127.0.0.1 search it213.int
Status
- systemctl status named
Logs
- Aktualisierte Log von named
- journalctl -fu named
- Die letzten 20 Log Zeilen vom named
- journalctl -n 20 -u named
- Aktualisierte Log von named plus grepen nach it213
- journalctl -fu named -g it213
Sind die Ports geöffnet
- ss -lntpu | grep named
