SYSTEMD.DNSSD(5)

BEZEICHNUNG
systemd.dnssd - DNS-SD-Konfiguration

ÜBERSICHT

Netzwerkdienst.dnssd

BESCHREIBUNG

DNS-SD-Einrichtung erfolgt durch systemd-resolved(8).

Die Hauptnetzwerkdienstedatei muss die Erweiterung ».dnssd« tragen, andere Erweiterungen werden ignoriert.

Die ».dnssd«-Dateien werden von den Dateien gelesen, die sich in den Systemnetzwerkverzeichnissen /usr/lib/systemd/dnssd und /usr/local/lib/systemd/dnssd, dem flüchtigen Laufzeitnetzwerkverzeichnis /run/systemd/dnssd und dem lokalen administrativen Netzwerkverzeichnis /etc/systemd/dnssd befinden. Alle Konfigurationsdateien werden gemeinsam sortiert und in lexikalischer Reihenfolge verarbeitet, unabhängig von den Verzeichnissen, in denen sie sich befinden. Allerdings ersetzen Dateien mit identischem Namen einander. Dateien in /etc haben die höchste Priorität, Dateien in /run haben Vorrang vor Dateien mit dem gleichen Namen in /lib. Falls notwendig, kann dies dazu verwandt werden, durch das System bereitgestellte Dateien mit einer lokalen Konfigurationsdatei außer Kraft zu setzen.

Zusammen mit der Netzwerkdienstedatei foo.dnssd kann ein »Ergänzungs«-Verzeichnis foo.dnssd.d/ existieren. Alle Dateien mit der Endung ».conf« aus diesem Verzeichnis werden nach der Datei selbst ausgewertet. Dies ist nützlich, um Konfigurationseinstellungen zu ändern oder hinzuzufügen, ohne die Hauptkonfigurationsdatei zu verändern. Jede Ergänzungsdatei muss geeignete Abschnittskopfzeilen haben.

Zusätzlich zu /etc/systemd/dnssd können Ergänzungs-».d«-Verzeichnisse in den Verzeichnissen /usr/lib/systemd/dnssd oder /run/systemd/dnssd abgelegt werden. Ergänzungsdateien in /etc haben Vorrang vor denen in /run, die wiederum Vorrang vor denen in /usr/lib oder /usr/local/lib haben. Ergänzungsdateien unterhalb jedes dieser Verzeichnisse haben Vorrang vor der Hauptnetzwerkdienstedatei, egal wo sich diese befindet.

[SERVICE]-ABSCHNITT-OPTIONEN

Die Netzwerkdienstedatei enthält einen Abschnitt »[Service]«, der einen auffindbaren Netzwerkdienst festlegt, der in einem lokalen Netzwerk mit Multicast-DNS-Broadcasts bekanntgegeben wird.

Name=
    Ein Instanzenname des Netzwerkdienstes, wie er im Abschnitt 4.1.1 von RFC 6763[1] definiert ist, z.B. "webserver".

    Diese Option unterstützt einfache Kennzeichnerexpansion. Die folgenden Expansionen werden verstanden:

    Tabelle 1. Verfügbare Kennzeichner
    Kennzeichner | Bedeutung | Details
    "%m" | Maschinenkennung | Die Maschinenkennung des laufenden Systems, formatiert als Zeichenkette. Siehe machine-id(5) für weitere Informationen.
    "%b" | Boot-Kennung | Die Boot-Kennung des laufenden Systems, formatiert als Zeichenkette. Siehe random(4) für weitere Informationen.
    "%H" | Rechnername | Der Rechnername des laufenden Systems.
    "%v" | Kernelveröffentlichung | Identisch zur Ausgabe von uname -r.

Type=
    Eine Art von Netzwerkdienst, wie er in Abschnitt 4.1.2 von RFC 6763[1] definiert ist, z.B. "_http._tcp".

Port=
    Eine IP-Port-Nummer des Netzwerkdienstes.

Priority=
    Eine in SRV-Ressourcendatensätzen gesetzte Prioritätszahl, die dem Netzwerkdienst entspricht.

Weight=
    Eine in SRV-Ressourcendatensätzen gesetzte Gewichtungszahl, die dem Netzwerkdienst entspricht.

TxtText=
    Eine Leerraum-getrennte Liste von beliebigen Schlüssel/Wert-Paaren, die zusätzliche Informationen über den benannten Dienst in dem entsprechenden TXT-Ressourcendatensatz offenlegt, z.B. »path=/portal/index.html«. Schlüssel und Werte können C-artige Maskiersequenzen enthalten, die beim Lesen der Konfigurationsdateien übersetzt werden.

    Diese Option kann zusammen mit TxtData= mehr als einmal angegeben werden. Dann werden mehrere TXT-Ressourcendatensätze für den Dienst erstellt. Falls dieser Option die leere Zeichenkette zugewiesen wird, wird die Liste zurückgesetzt und alle vorherigen Zuweisungen haben keine Wirkung.

TxtData=
    Eine Leerraum-getrennte Liste von beliebigen Schlüssel/Wert-Paaren, die zusätzliche Informationen über den benannten Dienst in dem entsprechenden TXT-Ressourcendatensatz offenlegt, wobei Base64-kodierte Zeichenketten beliebige binäre Daten darstellen, z.B. »data=YW55IGJpbmFyeSBkYXRhCg==«. Schlüssel können C-artige Maskiersequenzen enthalten, die beim Lesen der Konfigurationsdateien übersetzt werden.

    Diese Option kann zusammen mit TxtText= mehr als einmal angegeben werden. Dann werden mehrere TXT-Ressourcendatensätze für den Dienst erstellt. Falls dieser Option die leere Zeichenkette zugewiesen wird, wird die Liste zurückgesetzt und alle vorherigen Zuweisungen haben keine Wirkung.

BEISPIELE

Beispiel 1. HTTP-Dienst

    # /etc/systemd/dnssd/http.dnssd
    [Service]
    Name=%H
    Type=_http._tcp
    Port=80
    TxtText=path=/stats/index.html t=temperature_sensor

Dies führt dazu, dass der HTTP-Server, der auf dem Rechner läuft, im lokalen Netz, sofern MulticastDNS auf der Netzwerkschnittstelle aktiviert ist, entdeckt werden kann.

Jetzt sollte das Hilfswerkzeug »resolvectl« in der Lage sein, den Dienst auf den Namen des Rechners aufzulösen:

    $ resolvectl service meteo._http._tcp.local
    meteo._http._tcp.local: meteo.local:80 [priority=0, weight=0]
                            169.254.208.106%senp0s21f0u2u4
                            fe80::213:3bff:fe49:8aa%senp0s21f0u2u4
                            path=/stats/index.html
                            t=temperature_sensor
                            (meteo/_http._tcp/local)
    -- Information acquired via protocol mDNS/IPv6 in 4.0ms.
    -- Data is authenticated: yes

Der auf einer anderen Maschine im gleichen lokalen Netzwerk laufende »Avahi« sollte den Dienst ebenfalls sehen:

    $ avahi-browse -a -r
    + enp3s0 IPv6 meteo                                         Web Site             local
    + enp3s0 IPv4 meteo                                         Web Site             local
    = enp3s0 IPv6 meteo                                         Web Site             local
       hostname = [meteo.local]
       address = [fe80::213:3bff:fe49:8aa]
       port = [80]
       txt = ["path=/stats/index.html" "t=temperature_sensor"]
    = enp3s0 IPv4 meteo                                         Web Site             local
       hostname = [meteo.local]
       address = [169.254.208.106]
       port = [80]
       txt = ["path=/stats/index.html" "t=temperature_sensor"]

SIEHE AUCH

systemd(1), systemd-resolved.service(8), resolvectl(1)

ANMERKUNGEN

1.  RFC 6763
    https://tools.ietf.org/html/rfc6763

ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von Helge Kreutzmann <debian@helgefjell.de> erstellt. Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen. Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an <debian-l10n-german@lists.debian.org>.