Skip to main content

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.

image.png

DNS-Auftrag.excalidraw

Theorie

Aufbau der Umgebung

Konfiguration des DNS Servers (Master)

Schritt 1: Installation von BIND

  1. Paketdatenbank aktualisieren:

    sudo apt-get update
  2. BIND Installieren:
    sudo apt-get install bind9 bind9utils bind9-doc dnsutils

Schritt 2: Konfiguration von BIND

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

    image.png


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

    image.png

  3. Zone Folder erstellen:
    mkdir /etc/bind/zones
  4. 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

    image.png


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

    image.png

  6. Bind Neustarten
    systemctl restart bind9