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.
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
Erweiterte
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