Linux - Netzwerk und Serveradminstration DNS: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| Zeile 78: | Zeile 78: | ||
==DNS Umsetzung== | ==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 die Default Zonen=== | ||
| + | include "/etc/bind/named.conf.default-zones"; | ||
| + | |||
| + | ==/etc/bind/named.conf.options== | ||
| + | ===Berechtigungen und Einschränkungen=== | ||
| + | <pre> | ||
| + | options { | ||
| + | directory "/var/cache/bind"; | ||
| + | forwarders { <DNSGW>; }; | ||
| + | allow-query { 0.0.0.0/0; }; | ||
| + | allow-recursion { 10.88.2xx.0/24; 172.16.2xx.0/24; 172.17.2xx.0/24; 172.20.2xx.0/24; 127.0.0.1; }; | ||
| + | allow-transfer {127.0.0.1; }; | ||
| + | dnssec-validation no; | ||
| + | listen-on-v6 { none; }; | ||
| + | listen-on { any; }; | ||
| + | }; | ||
| + | </pre> | ||
| + | ====Erklärungen==== | ||
| + | ;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.16.2xx.0/24; 172.17.2xx.0/24; 172.20.2xx.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. | ||
| + | |||
| + | =Testen= | ||
| + | *named-checkconf | ||
| + | =Restart= | ||
| + | *systemctl restart named | ||
| + | |||
| + | =Konfigurations= | ||
| + | ==/etc/bind/named.conf.default-zones== | ||
| + | <pre> | ||
| + | #Standardzonen | ||
| + | zone "." { | ||
| + | type hint; | ||
| + | file "/usr/share/dns/root.hints"; | ||
| + | }; | ||
| + | zone "localhost" { | ||
| + | type master; | ||
| + | file "/etc/bind/db.local"; | ||
| + | }; | ||
| + | zone "127.in-addr.arpa" { | ||
| + | type master; | ||
| + | file "/etc/bind/db.127"; | ||
| + | }; | ||
| + | zone "0.in-addr.arpa" { | ||
| + | type master; | ||
| + | file "/etc/bind/db.0"; | ||
| + | }; | ||
| + | zone "255.in-addr.arpa" { | ||
| + | type master; | ||
| + | file "/etc/bind/db.255"; | ||
| + | }; | ||
| + | </pre> | ||
| + | ==/etc/bind/named.conf.local== | ||
| + | <pre> | ||
| + | //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"; | ||
| + | }; | ||
| + | </pre> | ||
| + | |||
| + | =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 | ||
| + | <pre> | ||
| + | $TTL 300 ; 5 minutes | ||
| + | @ IN SOA ns.it2xx.int. technik.it2xx.int. ( | ||
| + | 2025062501 ; serial | ||
| + | 14400 ; refresh (4 hours) | ||
| + | 3600 ; retry (1 hour) | ||
| + | 3600000 ; expire (5 weeks 6 days 16 hours) | ||
| + | 86400 ; minimum (1 day) | ||
| + | ) | ||
| + | NS ns.it2xx.int. | ||
| + | MX 10 mail.it2xx.int. | ||
| + | ns IN A 10.88.2xx.21 | ||
| + | sftp IN A 10.88.2xx.4 | ||
| + | mail IN A 10.88.2xx.34 | ||
| + | www IN A 10.88.2xx.41 | ||
| + | proxy IN A 10.88.2xx.51 | ||
| + | haproxy IN A 10.88.2xx.52 | ||
| + | smb IN A 172.16.2xx.2 | ||
| + | fw IN A 10.88.2xx.1 | ||
| + | kali IN A 10.88.2xx.71 | ||
| + | ldap IN A 10.88.2xx.37 | ||
| + | </pre> | ||
| + | |||
| + | =Check= | ||
| + | *named-checkzone it213.int /var/cache/bind/it213.int | ||
| + | zone it213.int/IN: loaded serial 2011090204 | ||
| + | OK | ||
| + | |||
| + | =Reverse Zonen Datei= | ||
| + | *vi /var/cache/bind/2xx.88.10.in-addr.arpa | ||
| + | $TTL 300 ; 5 minutes | ||
| + | @ IN SOA ns.it2xx.int. technik.it2xx.int. ( | ||
| + | 2025062501 ; serial | ||
| + | 14400 ; refresh (4 hours) | ||
| + | 3600 ; retry (1 hour) | ||
| + | 3600000 ; expire (5 weeks 6 days 16 hours) | ||
| + | 86400 ; minimum (1 day) | ||
| + | ) | ||
| + | IN NS ns.it2xx.int. | ||
| + | 21 IN PTR ns.it2xx.int. | ||
| + | 4 IN PTR sftp.it2xx.int. | ||
| + | 1 IN PTR fw.it2xx.int. | ||
| + | 34 IN PTR mail.it2xx.int. | ||
| + | 37 IN PTR ldap.it2xx.int. | ||
| + | 41 IN PTR www.it2xx.int. | ||
| + | 51 IN PTR proxy.it2xx.int. | ||
| + | 52 IN PTR haproxy.it2xx.int. | ||
| + | 71 IN PTR kali.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= | ||
| + | ;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/resolv.conf= | ||
| + | nameserver 127.0.0.1 | ||
| + | search it2xx.int | ||
| + | =Logs= | ||
| + | ;Aktualisierte Log von named | ||
| + | *journalctl -fu named | ||
| + | ;Die letzten 20 Log Zeilen vom named | ||
| + | *journalctl -n 20 -u named | ||
| + | |||
| + | =Sind die Ports geöffnet= | ||
| + | *ss -lntpu | grep named | ||
| + | |||
| + | =Tests= | ||
| + | *[[host]] | ||
| + | *[[dig]] | ||
| + | *[[nslookup]] | ||
==DNS Aufgabe Reverse Lookup Zone LAN & SERVERS== | ==DNS Aufgabe Reverse Lookup Zone LAN & SERVERS== | ||
Version vom 28. März 2026, 08:33 Uhr
eigener DNS Server
Vorbereitungen
- VirtualBox Server-Vorlage mit neuen MAC-Adressen klonen
- Der Host soll im DMZ-Netzwerk liegen
- IP-Adresse herausfinden über das DHCP-Log oder die Konsol
- statische IP-Adresse nach dem Netzwerkplan setzen (/etc/network/interfaces)
- Hostname ändern zu ns
- SSH-Server anpassen
- 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-Adresse | 10.88.2XX.21/24 | Statische IP im DMZ-Segment |
| Gateway (GW) | 10.88.2XX.1 | Firewall-Schnittstelle (DMZ) |
| Nameserver (NS) | 192.168.6.88 | Vorläufiger Resolver (extern) |
| Hostname (NA) | ns.it2XX.int | Fully Qualified Domain Name (FQDN) |
Anpassen des Templates
Hostname
- hostnamectl hostname ns.it2XX.int
Netzwerk
- vim /etc/network/interfaces
# This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). source /etc/network/interfaces.d/* # The loopback network interface auto lo iface lo inet loopback # The primary network interface auto enp0s3 iface enp0s3 inet static address 10.88.2XX.21/24 gateway 10.88.2XX.1
Namerserver
- vim /etc/resolv.conf
nameserver 192.168.Y.88 search it2XX.int
Hosts
- vim /etc/hosts
127.0.0.1 localhost 127.0.1.1 ns.it2XX.int ns # The following lines are desirable for IPv6 capable hosts ::1 localhost ip6-localhost ip6-loopback ff02::1 ip6-allnodes ff02::2 ip6-allrouters
Reboot
- systemctl reboot
JumpHost
- Auf dem KIT Host anfügen
- vim ~/.ssh/config
Host ns Hostname 10.88.2XX.21 ProxyJump kit@fw
- PubKey Übertragung
- ssh-copy-id ns
Danach könnt ihr euch mit ssh servername passswortlos einlogen
Installation
- apt install bind9
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 die Default Zonen
include "/etc/bind/named.conf.default-zones";
/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.16.2xx.0/24; 172.17.2xx.0/24; 172.20.2xx.0/24; 127.0.0.1; };
allow-transfer {127.0.0.1; };
dnssec-validation no;
listen-on-v6 { none; };
listen-on { any; };
};
Erklärungen
- 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.16.2xx.0/24; 172.17.2xx.0/24; 172.20.2xx.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.
Testen
- named-checkconf
Restart
- systemctl restart named
Konfigurations
/etc/bind/named.conf.default-zones
#Standardzonen
zone "." {
type hint;
file "/usr/share/dns/root.hints";
};
zone "localhost" {
type master;
file "/etc/bind/db.local";
};
zone "127.in-addr.arpa" {
type master;
file "/etc/bind/db.127";
};
zone "0.in-addr.arpa" {
type master;
file "/etc/bind/db.0";
};
zone "255.in-addr.arpa" {
type master;
file "/etc/bind/db.255";
};
/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";
};
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 300 ; 5 minutes
@ IN SOA ns.it2xx.int. technik.it2xx.int. (
2025062501 ; serial
14400 ; refresh (4 hours)
3600 ; retry (1 hour)
3600000 ; expire (5 weeks 6 days 16 hours)
86400 ; minimum (1 day)
)
NS ns.it2xx.int.
MX 10 mail.it2xx.int.
ns IN A 10.88.2xx.21
sftp IN A 10.88.2xx.4
mail IN A 10.88.2xx.34
www IN A 10.88.2xx.41
proxy IN A 10.88.2xx.51
haproxy IN A 10.88.2xx.52
smb IN A 172.16.2xx.2
fw IN A 10.88.2xx.1
kali IN A 10.88.2xx.71
ldap IN A 10.88.2xx.37
Check
- named-checkzone it213.int /var/cache/bind/it213.int
zone it213.int/IN: loaded serial 2011090204 OK
Reverse Zonen Datei
- vi /var/cache/bind/2xx.88.10.in-addr.arpa
$TTL 300 ; 5 minutes
@ IN SOA ns.it2xx.int. technik.it2xx.int. (
2025062501 ; serial
14400 ; refresh (4 hours)
3600 ; retry (1 hour)
3600000 ; expire (5 weeks 6 days 16 hours)
86400 ; minimum (1 day)
)
IN NS ns.it2xx.int.
21 IN PTR ns.it2xx.int.
4 IN PTR sftp.it2xx.int.
1 IN PTR fw.it2xx.int.
34 IN PTR mail.it2xx.int.
37 IN PTR ldap.it2xx.int.
41 IN PTR www.it2xx.int.
51 IN PTR proxy.it2xx.int.
52 IN PTR haproxy.it2xx.int.
71 IN PTR kali.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
- 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/resolv.conf
nameserver 127.0.0.1 search it2xx.int
Logs
- Aktualisierte Log von named
- journalctl -fu named
- Die letzten 20 Log Zeilen vom named
- journalctl -n 20 -u named
Sind die Ports geöffnet
- ss -lntpu | grep named
Tests
DNS Aufgabe Reverse Lookup Zone LAN & SERVERS
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

