Community/Bildung/FF@home/18 DNS mit NSD

Installation

  • Wird an anderer Stelle des Wiki beschrieben

Allgemein

  • Als Nameserver im weiteren NS genannt, kommen nsd und unbound zum Einsatz. Auf nordstadt und hoerde ist freeBSD im Einsatz, auf den APUs Debian. Durch die unterschiedliche Verzeichnisstruktur befinden sich die Konfigurationsdaten in verschiedenen Verzeichnissen:
    freeBSD: /usr/local/etc/nsd und /var/unbound
    Debian: nicht installiert und /etc/unbound und /var/lib/unbound

  • NS primär: verfügt lokal über die aktuellen Zonendaten
  • NS sekundär: erhält die aktuellen Zonendaten von einem primären NS

  • Auf nordstadt.ffdo.net und auf hoerde.ffdo.net sind 2 NS aktive, die auf verschiedenen IPs laufen.
    unbound kann nur als secondary NS fungieren, nsd kann beides. Dafür fungiert unbound insb. als
    rekursiver NS, nsd nur als autoritativer, ein absichtlich arbeitsteiliges Pärchen.

Überblick nsd ./. unbound:
…………….nsd……………….unbound
nordstadt…193.43.220.129…193.43.220.161
hoerde……130.180.53.22…..193.43.220.136, 193.43.220.168

Zur Steuerung gibt es nsd-control und unbound-control. Bei freeBSD local-unbound-control.

Der primäre NS (nsd) auf nordstadt hält die aktuellen Zonendateien vor

  • ffdo.net für die Auflösung Name -> IP
  • 220.43.193.in-addr.arpa für reverse mapping ip -> Name für 193.43.220.
  • 221.43.193.in-addr.arpa für reverse mapping ip -> Name für 193.43.221.

Die sekundären NS (nsd und unbound) erhalten diese Zonendateien vom primären NS.

Die Zonendaten können mit
nsd-checkconf -p 220.43.193.in-addr.arpa 220.43.193.in-addr.arpa
nsd-checkconf -p 221.43.193.in-addr.arpa 221.43.193.in-addr.arpa
nsd-checkconf -p ffdo.net ffdo.net
geprüft werden.

Die hier verwendeten Adressen sind größtenteils dem Wiki IP-Adressen entnommen.

Nordstadt

Datei /usr/local/etc/nsd/nsd.conf

server:
  server-count: 1 # use this number of cpu cores
  database: ""  # or use "/var/db/nsd/nsd.db"
  #zonelistfile: "/var/db/nsd/zone.list"
  username: nsd
  logfile: "/var/log/nsd.log"
  pidfile: "/var/run/nsd/nsd.pid"
  xfrdfile: "/var/db/nsd/xfrd.state"
  ip-address: 193.43.220.129

remote-control:
  control-enable: yes
  control-interface: /tmp/.nsd.ctl

pattern:
  name: FF-DO-primary
  zonefile: /usr/local/etc/nsd/zone/%s
  notify: 130.180.53.22 NOKEY
  notify: 193.43.220.130 NOKEY
  notify: 193.43.220.132 NOKEY
  notify: 193.43.220.133 NOKEY
  notify: 193.43.220.135 NOKEY
  notify: 193.43.220.136 NOKEY
  notify: 91.204.6.66 NOKEY
  provide-xfr: 193.43.220.0/23 NOKEY
  provide-xfr: 91.204.4.0/22 NOKEY
  provide-xfr: 130.180.53.22 NOKEY

pattern:
  name: FF-DO-secondary
  zonefile: /usr/local/etc/nsd/zone/%s
  allow-notify: 193.43.220.0/23 NOKEY
  allow-notify: 91.204.4.53 NOKEY
  request-xfr: AXFR 193.43.220.129 NOKEY

zone:
  name: ffdo.net
  outgoing-interface: 193.43.220.129
  include-pattern: FF-DO-primary

zone:
  name: 220.43.193.in-addr.arpa
  outgoing-interface: 193.43.220.129
  include-pattern: FF-DO-primary

zone:
  name: 221.43.193.in-addr.arpa
  outgoing-interface: 193.43.220.129
  include-pattern: FF-DO-primary

Diese nsd.conf beschreibt den primären NS mit drei Zonen. Dabei wird das Patternfeature verwendet, das den Schreibaufwand und die Fehlermöglichkeiten vermindert. Die Änderungen werden durch ein
nsd-control reconfig
nsd-control write 221.43.193.in-addr.arpa (evtl für neue Dateien beim secondary NS erforderlich)
wirksam.

Hoerde

Datei /usr/local/etc/nsd/nsd.conf

server:
  server-count: 1 # use this number of cpu cores  
      database: ""  # or use "/var/db/nsd/nsd.db"  
      #zonelistfile: "/var/db/nsd/zone.list"  
  username: nsd
  logfile: "/var/log/nsd.log"
  pidfile: "/var/run/nsd/nsd.pid"
  xfrdfile: "/var/db/nsd/xfrd.state"
  ip-address: 130.180.53.22

remote-control:
  control-enable: yes
      control-interface: /tmp/.nsd.ctl

pattern:
  name: FF-DO-primary
  zonefile: /usr/local/etc/nsd/zone/%s
  notify: 193.43.220.130 NOKEY
  notify: 193.43.220.132 NOKEY
  notify: 193.43.220.133 NOKEY
  notify: 193.43.220.135 NOKEY
  notify: 193.43.220.136 NOKEY
  notify: 91.204.5.49 NOKEY
  notify: 91.204.6.79 NOKEY
  provide-xfr: 193.43.220.0/23 NOKEY
  provide-xfr: 91.204.4.0/22 NOKEY

pattern:
  name: FF-DO-secondary
  zonefile: /usr/local/etc/nsd/zone/%s
      allow-notify: 193.43.220.0/23 NOKEY
      allow-notify: 91.204.4.53 NOKEY
  request-xfr: AXFR 193.43.220.129 NOKEY

zone:
  name: ffdo.net
  include-pattern: FF-DO-secondary

zone:
  name: 220.43.193.in-addr.arpa
  include-pattern: FF-DO-secondary

zone:
  name: 221.43.193.in-addr.arpa
  include-pattern: FF-DO-secondary