5.6 Services
Die Netzdienste, die die Appliance für die Netze dahinter betreibt: Adressen vergeben, Namen beantworten, Zeit verteilen, IPv6 ankündigen und Dateien prüfen.
Jede Dienstgruppe endet mit einem Log File-Eintrag, und die meisten haben eine Status-Seite. Wenn ein Dienst sich seltsam verhält, öffnen Sie zuerst seine Statusseite und danach sein Protokoll — in dieser Reihenfolge, weil die Statusseite die Frage meist in einer Zeile beantwortet.
DHCP: zwei Dienste, einer zur Zeit
Die Appliance kann Adressen mit Kea vergeben (der Vorgabe) oder mit Dnsmasq, das DNS und DHCP zusammen erledigt. Sie tun dasselbe; beide im selben Netz zu betreiben, ergibt zwei Server, die eine Anfrage beantworten — genau so verwirrend, wie es klingt.
Nehmen Sie Kea, sofern Sie keinen Grund dagegen haben: das ist es, was der Schnittstellen-Editor einrichtet, wenn Sie einen DHCP-Server einschalten, und was die LAN-Einrichtung der Konsole verwendet. Nehmen Sie Dnsmasq, wenn Sie DHCP und DNS aus einem kleinen Dienst mit Namen je Host wollen oder auf einer sehr kleinen Appliance arbeiten.
Kea DHCP
Kea DHCPv4 — /m/kea/dhcp4

Subnetze und Pools: für jedes Netz, das die Appliance bedient, der vergebene Bereich, der angekündigte Router und DNS, die Lease-Dauer und etwaige Reservierungen, die ein Gerät per MAC an eine feste Adresse binden.
Halten Sie den Pool frei von allem mit fester Adresse — der Appliance selbst, Druckern, Switches. Ein Pool, der die eigene Adresse des Routers enthält, ist ein Fehler, vor dem die Seite warnt.
Kea DHCPv6 — /m/kea/dhcp6

Dasselbe für IPv6. Üblicherweise zusammen mit Router Advertisements weiter unten: die meisten IPv6-Clients nehmen ihre Adresse aus den Ankündigungen und fragen DHCPv6 nur nach dem Rest.
Control API — /m/kea/ctrl_agent

Öffnet die Kommando-API der DHCPv4- und DHCPv6-Server über HTTP oder HTTPS, etwa für kea-shell oder Stork. Die Appliance selbst braucht sie nicht. Dieses Kea (3.2) hat keinen eigenen Control Agent mehr: jeder Server lauscht auf seinem eigenen Port und nimmt Anfragen nur mit dem hier eingetragenen Benutzernamen und Passwort an, die er aus Dateien liest, die nur root lesen darf. Wählen Sie ein Zertifikat aus dem Trust Store für HTTPS; reines HTTP gehört auf 127.0.0.1.
DDNS Agent — /m/kea/ddns

Trägt Leases in das DNS ein, sodass eine Maschine, die gerade eine Adresse bekommen hat, unter ihrem Namen erreichbar ist.
Leases DHCPv4 / DHCPv6 — /leases/kea4, /leases/kea6

Wer welche Adresse hält, seit wann und bis wann. Die erste Seite, die Sie öffnen, wenn jemand sagt „meine Maschine hat kein Netz“: entweder es gibt einen Lease, dann liegt das Problem woanders, oder es gibt keinen, dann liegt es hier.

Log File — /log/core/kea

Dnsmasq DNS & DHCP

Ein einzelner kleiner Dienst, der DNS beantwortet und Adressen vergibt. Seine Seiten folgen seiner Konfiguration:
| Seite | Wofür |
|---|---|
General — #general | Ob er läuft, auf welchen Schnittstellen er lauscht, und sein DNS-Verhalten. |
Domains — #domains | Domain-Überschreibungen: eine Domain an einen anderen Resolver geben. |
Hosts — #hosts | Feste Name-zu-Adresse-Einträge. |
DHCP ranges — #dhcpranges | Die vergebenen Bereiche. |
DHCP options — #dhcpoptions | Zusätzliche Optionen für Clients (NTP-Server, Boot-Parameter, Hersteller-Optionen). |
DHCP boot — #dhcpboot | Netzwerkstart: TFTP-Server und Boot-Datei für PXE-Clients. |
DHCP tags — #dhcptags | Marken, mit denen ein Bereich oder eine Option nur für einen Teil der Clients gilt. |
Leases — /leases/dnsmasq | Die aktuellen Leases. |
Dnsmasq kann DNS nicht auf dem Port beantworten, den Unbound nutzt: neben Unbound setzen Sie seinen Listen port auf 0, dann liefert es nur DHCP, so wie der Einrichtungsassistent es einrichtet. Ebenso wenig kann es DHCP für eine IP-Version liefern, die Kea bedient; ein solches Speichern wird abgelehnt. Ein Bereich wirkt nur auf einer Schnittstelle, auf der dnsmasq lauscht (Interfaces auf der Seite General, leer für alle), und der Schnittstelleneditor ergänzt die Schnittstelle, wenn er einen Bereich anlegt. Ein Host-Eintrag mit MAC-Adresse oder Client-Kennung ist eine DHCP-Reservierung mit einer IPv4-Adresse. Die Seite DHCP options führt die Optionscodes mit Namen. Mit Register Kea leases und Register Kea reservations sind die von Kea vergebenen Namen auch über dnsmasq auflösbar, und eine Domain-Überschreibung kann einen Alias vom Typ External mit den Adressen füllen, zu denen ihre Namen aufgelöst werden.

Unbound DNS
Der rekursive Resolver, den die Appliance ihren Netzen anbietet. Er ist ab Werk an und wird von Clients verwendet, sofern Sie sie nicht woandershin zeigen.
General — /m/unbound/unboundplus

Ob der Resolver läuft, auf welchen Schnittstellen er antwortet, ob er DNSSEC prüft, und ob er DHCP-Leases registriert, damit lokale Maschinen unter ihrem Namen auflösbar sind.
Ist keine Schnittstelle ausgewählt, antwortet der Resolver auf jeder Adresse, und die Firewall-Regeln entscheiden, wer ihn erreicht; 127.0.0.1 und ::1 sind immer dabei, damit die Firewall selbst auflösen kann. Mit DNSSEC wird der Vertrauensanker der Wurzel eingerichtet, und Antworten, die die Prüfung nicht bestehen, werden zu SERVFAIL. Register DHCP leases und Register DHCP reservations decken Kea und Dnsmasq ab; eine später angelegte Reservierung ist ohne weiteres Zutun auflösbar.
Port 53 kann nur ein Dienst halten. Unbound lässt sich nicht mit einem Port speichern, auf dem Dnsmasq schon DNS beantwortet, und sagt das.
Overrides — ?a=hosts/host,aliases/alias

Host-Überschreibungen (ein Name, der mit einer Adresse Ihrer Wahl antwortet) und Aliase. So lassen Sie einen internen Dienst mit seiner internen Adresse antworten, während das öffentliche DNS woandershin zeigt.
Ein Host antwortet für jeden Namen der Domain. Weitere Namen für denselben Eintrag lassen sich direkt in das Feld Aliases* der Überschreibung schreiben; jeder wird zu einer Alias-Zeile, und Aliase bekommen keinen Reverse-Namen.
Access Lists — ?a=acls/acl

Welche Netze den Resolver abfragen dürfen. Ein offener, aus dem Internet erreichbarer Resolver wird missbraucht; beschränken Sie das auf Ihre eigenen Netze.
Die Standardaktion (Allow) gilt für jede Adresse, die keine Liste abdeckt; überlappen sich Netze, entscheidet das spezifischste.
Blocklists — ?a=dnsbl/blocklist

Sperren auf DNS-Ebene aus abonnierten Listen — Werbung, Verfolgung, Schadsoftware-Domains — mit eigenen Freigaben und Sperren darüber. Billig, wirksam und für Clients unsichtbar.
Jede Zeile ist eine Richtlinie mit eigenen Listen, eigener Freigabeliste und eigener Antwort (NXDOMAIN oder eine Umleitungsadresse). Eine Richtlinie mit Source networks gilt nur für diese Clients; ein Client, den mehrere Richtlinien abdecken, bekommt alle, und führen zwei denselben Namen, entscheidet die mit dem kleineren Netz. Ein einfacher Name sperrt genau diesen Namen; Blocked domains, Listeneinträge der Form *.name und Adblock-Einträge ||name^ sperren auch alle Namen darunter. Listen werden neu geladen, wenn ihre Cache-Zeit abläuft (die Firewall prüft alle 10 Minuten), ohne den Resolver neu zu starten; schlägt ein Download fehl, bleibt die vorige Kopie in Gebrauch.
Query Forwarding / DNS over TLS

Weiterleitung schickt Anfragen an gewählte Resolver, statt selbst von der Wurzel aufzulösen. DNS over TLS tut dasselbe über einen verschlüsselten Kanal, sodass nur der gewählte Anbieter Ihre Anfragen sieht.
Query Forwarding führt die einfachen DNS-Server, DNS over TLS die verschlüsselten; ein Server bekommt die Art der Seite, auf der er angelegt wird. Ein leerer Port bedeutet 53 für einfaches DNS und 853 für TLS. Tragen Sie für TLS den Server name to verify ein (etwa dns.quad9.net); ohne ihn wird jedes Zertifikat einer vertrauenswürdigen Stelle akzeptiert. Solange Use the system nameservers an ist, werden Server ohne Domain nicht verwendet.

Advanced — /m/unbound/unboundplus

Cache-Größen, Threadzahl, Vorabauflösung und der Rest. Die Vorgaben passen für eine Appliance; erhöhen Sie zuerst den Cache, wenn der Resolver stark beansprucht ist.
Ein leeres Zahlenfeld nutzt Unbounds eigene Vorgabe, die der jeweilige Hilfetext nennt. Harden DNSSEC data ist ab Werk an: Schalten Sie es nur aus, wenn etwas auf dem Weg DNSSEC-Einträge entfernt.
Statistics — /unbound-stats

Beantwortete Anfragen, Cache-Trefferquote, was gesperrt wurde. Eine niedrige Trefferquote in einem belebten Netz deutet auf einen zu kleinen Cache.
Log File — /log/core/resolver

DHCRelay — /m/dhcrelay/dhcrelay

Leitet DHCP-Anfragen aus einem Netz ohne eigenen Server an einen Server anderswo weiter — die übliche Anordnung, wenn ein zentraler Server alle Adressen verwaltet. Stellen Sie die lauschende Schnittstelle und den Zielserver ein.

Router Advertisements — /m/radvd/radvd

Wie die Appliance sich als IPv6-Router ankündigt: der Modus (unmanaged, managed, assisted), die angekündigten Präfixe und das mitgegebene DNS. Ohne das bekommen IPv6-Clients im Segment überhaupt keine Adresse.
Network Time
General — /system-ntp

Der Zeitdienst: welchen Servern die Appliance folgt und ob sie den Netzen dahinter Zeit anbietet.
Zeit ist wichtiger, als sie aussieht. Zertifikatsprüfung, VPN-Aushandlung, Protokollierung und Compliance-Aufzeichnungen hängen alle an einer richtigen Uhr.
GPS / PPS — #gps, #pps


Für Appliances mit GPS-Empfänger oder Sekundenimpuls-Eingang: eine lokale Referenzuhr, für Standorte, die sich für die Zeit nicht auf das Internet verlassen können.
Status — /ntp-status

Die Peer-Tabelle: welcher Server tatsächlich ausgewählt ist, der Versatz und der Jitter. „Synchronisiert“ ist ein Zustand, den Sie hier ablesen können — keine Annahme.
Log File — /log/core/ntpd

ClamAV Antivirus
Settings — /m/clamav/clamav

Der Virenscanner: ob er läuft, wie oft Signaturen erneuert werden, und die Grenzen der Prüfung.
ClamAV hält seine Signaturdatenbank im Arbeitsspeicher — etwa ein Gigabyte. Auf einer Appliance mit 2 GB RAM ändert das Einschalten den Charakter der Maschine. Planen Sie 4 GB oder mehr ein, wenn Sie ihn haben wollen.
Status — /clamav-status

Ob der Scanner läuft, wie alt die Signaturen sind und was die letzte Aktualisierung getan hat. Ein altes Signaturdatum ist das, was hier auffallen soll.
Log File — /log/core/clamav
