DNS

Die Grundkonfiguration wird in realen Systemen über die Datei /etc/unbound/unbound.conf vorgenommen. Da diese Datei im Labor allerdings nur root verändern darf wurde hier bereits folgender Eintrag vorgenommen. Dadurch wird der Standard-Konfigurationsordner /etc/unbound/unbound.conf.d/ umgeleitet.

unbound.conf
# Pfad auf weitere Konfigurationsdateien setzen
include: "/etc/unbound/unbound.conf.d/"
include: "/home/keinpasswort/unbound/*.conf"
01_server.conf
server:
    interface: ::0
    interface: 0.0.0.0
        # IPv6 Zugriffsbereich definieren
	access-control: ::1 allow
	access-control: 2001:DB8:: allow
        # IPv4 Zugriffsbereich definieren
        access-control: 127.0.0.0/8 allow
        access-control: 10.0.0.0/8 allow 
        access-control: 172.16.0.0/16 allow
        access-control: 192.168.0.0/24 allow 
        verbosity: 1
 
# Schul-DNS hier sollten andere DNS-Root-Server stehen
forward-zone:
        name: "."
        forward-addr: 192.168.21.91
 
        # z.B. zensur- und logfreie Server mit DNSSEC-Support
#        forward-addr: 84.200.69.80 # DNS Watch
#        forward-addr: 84.200.70.40 # DNS Watch
#        forward-addr: 77.109.148.136 # Xiala.net
#        forward-addr: 77.109.148.137 # Xiala.net
#        forward-addr: 91.239.100.100 # censurfridns.dk
#        forward-addr: 89.233.43.71 # censurfridns.dk
 
local-zone.conf
# Namesauflösung für lokale Maschinen
 
server:
  unblock-lan-zones: yes
  insecure-lan-zones: yes
  local-zone: "labor.netz" static
    # Zonen-Metadaten
    local-data: "labor.netz        3600 IN SOA resolver01.labor.netz hostmaster 1 2h 15m 500h 1h"
    local-data: "labor.netz        3600 IN NS  resolver01.labor.netz"
    # IPv6-Adressen
#    local-data: "resolver01.labor.netz    3600 IN AAAA 2001:db8:10:dd::53"
#    local-data: "www.labor.netz    3600 IN AAAA 2001:db8:10:ff::80"
#    local-data: "raumserver.labor.netz  3600 IN AAAA 2001:db8:10:ff::123"
    # IPv4-Adressen
    local-data: "raumserver.labor.netz    3600 IN A 192.168.21.91"
    local-data: "nas.labor.netz    3600 IN A 192.168.21.242"
    local-data: "raspi.labor.netz  3600 IN A 192.168.21.16"
    local-data: "fb.labor.netz  3600 IN A 192.168.21.1"
    local-data: "platz01.labor.netz  3600 IN A 192.168.21.19"
    local-data: "platz02.labor.netz  3600 IN A 192.168.21.101"

Adblocking via DNS-Server

Um die moaab-Liste aktuell zu halten kann folgendes Script verwendet werden. Das Script stammt aus der c't. Die Liste stammt von xda-developers.com und wird dort als MoaAB: Mother of All AD-BLOCKING bezeichnet. Es kann sein, dass diverse Seite nicht mehr funktionieren, wenn sie über Trackerseiten geführt werden, die in dieser Liste stehen.

moaab2unbound.sh
wget -O moaab.zip https://forum.xda-developers.com/attachment.php?attachmentid=4178971&stc=1&d=1497247267
unzip moaab.zip
cat ./system/etc/hosts | awk '{sub(/^\./, "", $2);sub(/\.$/, "", $2);print "server:"} {print "   local-data: \"" $2". 3600 IN A 127.53.53.1\""}' > /home/keinpasswort/unbound/moab.conf

Das Ergebnis sieht dann ungefähr so aus, allerdings mit wesentlich mehr Zeilen:

moaab.conf
# Definition von localhost
server:
    local-data: "localhost. 3600 IN A 127.53.53.1"
server:
    local-data: "localhost.localdomain. 3600 IN A 127.53.53.1"
 
# Beispiel für eine zu blockierende Domain
server:
    local-data: "ad2.doubleclick.net 3600 IN A 127.53.53.1"
#    ...

HINWEIS: Über diese Technik lassen sich bebliebige Seiten im Internet „umleiten“. Dabei sollte IMMER maßvoll und mit Umsicht gehandelt werden. Sehr leicht kann es hier zu Zensur oder zu Missbrauch (Man in the middle) führen.