DNS-Auftrag
Aufgabenstellung
Einrichtung des Labors:
- Ein Debian Linux-Server wird konfiguriert, um als DNS-Server zu dienen, wobei BIND (Berkeley Internet Name Domain) als Softwarelösung zum Einsatz kommt.
Konfiguration des DNS-Servers:
- Installation von BIND: Der BIND-DNS-Server wird auf dem Debian Linux-System installiert.
- Einrichtung der Zonen-Dateien: Konfiguration und Einrichtung der primären DNS-Zone für eine Domäne. Dabei wird besonderer Wert auf die Erstellung und Konfiguration der Zonendatei gelegt, einschließlich aller relevanten DNS-Einträge und des SOA (Start of Authority) Records.
- Konfiguration eines sekundären DNS-Servers: Einrichtung eines sekundären (Slave) DNS-Servers für Redundanz und zur Demonstration der automatisierten Zonensynchronisation.
Analyse und erweiterte Konfiguration:
- Analyse der DNS-Anfragen: Verwendung von Wireshark zur Aufzeichnung und Analyse der DNS-Anfragen. Dies umfasst das Verständnis der rekursiven Anfragen und der Antwortpakete.
- Erforschung verschiedener DNS-Record-Typen: Untersuchung und Erläuterung unterschiedlicher Arten von DNS-Einträgen (wie A, AAAA, MX, CNAME, TXT) und deren Anwendung.
- Dynamische DNS-Updates: Experimentieren mit dynamischen Updates von DNS-Einträgen. Nutzung von
tsig-keygen
zur Generierung sicherer Schlüssel für die Authentifizierung von Update-Anfragen.
- Integration in bestehende Netzwerkumgebungen: Einbeziehung des konfigurierten DNS-Servers in ein bestehendes Netzwerk, eventuell unter Nutzung von exotischen Betriebssystemen, um deren Kompatibilität und Funktionalität in Bezug auf DNS-Anfragen zu testen.
- Erforschung von DNS unter IPv6: Untersuchung der Besonderheiten und Konfigurationen von DNS in IPv6-Netzwerken, einschließlich Reverse-DNS.

DNS-Auftrag.excalidraw
Theorie
Aufbau der Umgebung
Konfiguration des DNS Servers (Master)
Schritt 1: Installation von BIND
Paketdatenbank aktualisieren:
sudo apt-get update
BIND Installieren:
sudo apt-get install bind9 bind9utils bind9-doc dnsutils
Schritt 2: Konfiguration von BIND
Edit the named.conf.options file:
sudo nano /etc/bind/named.conf.options
acl LAN {
192.168.1.0/26;
};
options {
directory "/var/cache/bind"; // default directory
allow-query { localhost; LAN; }; // allow queries from localhost and 192.168.1.0-192.168.1.255
forwarders { 1.1.1.1; }; // use CloudFlare 1.1.1.1 DNS as a forwarder
recursion yes; // allow recursive queries
};
named-checkconf /etc/bind/named.conf.options

Edit the named.conf.local file
sudo nano /etc/bind/named.conf.local
zone "test.local" {
type master;
file "/etc/bind/zones/db.test.local"; # Pfad zur Zonendatei
allow-transfer { 192.168.1.5; }; # IP des sekundären DNS-Servers
};
zone "1.168.192.in-addr.arpa" IN {
type master;
file "/etc/bind/zones/db.test.local.rev"; # Pfad zur Zonendatei
allow-transfer { 192.168.1.5; }; # IP des sekundären DNS-Servers
}
named-checkconf /etc/bind/named.conf.local

Zone Folder erstellen:
mkdir /etc/bind/zones
Forward Zone File erstellen:
nano /etc/bind/zones/db.test.local
$TTL 604800
@ IN SOA ns1.test.local. admin.test.local. (
3 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS ns1.test.local.
@ IN NS ns2.test.local.
ns1 IN A 192.168.1.4
ns2 IN A 192.168.1.5
router IN A 192.168.1.1
named-checkzone test.local /etc/bind/zones/db.test.local

Reverse Zone File erstellen:
nano /etc/bind/zones/db.test.local.rev
$TTL 604800
; SOA record with MNAME and RNAME updated
@ IN SOA cherry.example. root.cherry.example. (
2 ; Serial Note: increment after each change
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
; Name server record
@ IN NS ns1.test.local.
@ IN NS ns2.test.local.
; A record for name server
ns1 IN A 192.168.1.4
ns2 IN A 192.168.1.5
; PTR record for name server
4 IN PTR ns1.test.local.
5 IN PTR ns2.test.local.
; PTR record for clients
1 IN PTR router.test.local.
named-checkzone test.local /etc/bind/zones/db.test.local.rev

Bind Neustarten
systemctl restart bind9
Testen des DNS Servers
Forward Zone
nslookup ns1.test.local 192.168.1.4
nslookup ns2.test.local 192.168.1.4
nslookup router.test.local 192.168.1.4

Reverse Zone
nslookup 192.168.1.1 192.168.1.4
nslookup 192.168.1.4 192.168.1.4
nslookup 192.168.1.5 192.168.1.4

Konfiguration des DNS Servers (Slave)
Schritt 1: Installation von BIND
Paketdatenbank aktualisieren:
sudo apt-get update
BIND Installieren:
sudo apt-get install bind9 bind9utils bind9-doc dnsutils
Schritt 2: Konfiguration von BIND
Edit the named.conf.options file:
sudo nano /etc/bind/named.conf.options
acl LAN {
192.168.1.0/26;
};
options {
directory "/var/cache/bind"; // default directory
allow-query { localhost; LAN; }; // allow queries from localhost and 192.168.1.0-192.168.1.255
forwarders { 1.1.1.1; }; // use CloudFlare 1.1.1.1 DNS as a forwarder
recursion yes; // allow recursive queries
};
named-checkconf /etc/bind/named.conf.options

Edit the named.conf.local file
sudo nano /etc/bind/named.conf.local
zone "test.local" {
type slave;
file "secondary/db.test.local"; # Pfad für die sekundäre Zonendatei
masters { 192.168.1.4; }; # IP des primären DNS-Servers
};
zone "1.168.192.in-addr.arpa" IN {
type slave;
file "secondary/db.test.local.rev";
masters { 192.168.1.4; };
};
named-checkconf /etc/bind/named.conf.local

Bind Neustarten
systemctl restart bind9
Testen des DNS Servers
Forward Zone
nslookup ns1.test.local 192.168.1.5
nslookup ns2.test.local 192.168.1.5
nslookup router.test.local 192.168.1.5

Reverse Zone
nslookup 192.168.1.1 192.168.1.5
nslookup 192.168.1.4 192.168.1.5
nslookup 192.168.1.5 192.168.1.5

Erweiterte Konfiguration und Analyse
Einbinden in vorhandenes Netzwerk
vogelsrv42002 - DHCP Konfiguration ändern
sudo nano /etc/dhcp/dhcpd.conf
# minimal sample /etc/dhcp/dhcpd.conf
default-lease-time 600;
max-lease-time 7200;
subnet 192.168.1.0 netmask 255.255.255.192 {
range 192.168.1.10 192.168.1.50;
option routers 192.168.1.1;
option domain-name-servers 192.168.1.4, 192.168.1.5;
}
systemctl restart isc-dhcp-server
Testen der neuen Konfiguration
nslookup /release
nslookup /all
