SYSTEMD.DNSSD(5) systemd.dnssd SYSTEMD.DNSSD(5)

systemd.dnssd - DNS-SD-Konfiguration

ÜBERSICHT

Netzwerkdienst.dnssd

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 /usr/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.

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
"%a" Architektur Eine kurze Zeichenkette, die die Architektur des lokalen Systems identifiziert. Eine Zeichenkette wie x86, x86-64 oder arm64. Siehe die für ConditionArchitecture= in systemd.unit(5) definierten Architekturen für die vollständige Liste.
"%A" Betriebssystemabbildversion Die Betriebssystemabbildversionskennzeichnung des laufenden Systems, wie aus dem Feld IMAGE_VERSION= in /etc/os-release ausgelesen. Falls nicht gesetzt, wird es die leere Zeichenkette. Siehe os-release(5) für weitere Informationen.
"%b" Boot-Kennung Die Boot-Kennung des laufenden Systems, formatiert als Zeichenkette. Siehe random(4) für weitere Informationen.
"%B" Betriebssystembaukennung Die Betriebssystembaukennung des laufenden Systems, wie aus dem Feld BUILD_ID= in /etc/os-release ausgelesen. Falls nicht gesetzt, wird es zur leeren Zeichenkette aufgelöst. Siehe os-release(5) für weitere Informationen.
"%H" Rechnername Der Rechnername des laufenden Systems.
"%m" Maschinenkennung Die Maschinenkennung des laufenden Systems, formatiert als Zeichenkette. Siehe machine-id(5) für weitere Informationen.
"%M" Betriebssystemabbildkennung Die Betriebssystemabbildkennung des laufenden Systems, wie aus dem Feld IMAGE_ID= in /etc/os-release ausgelesen. Falls nicht gesetzt, wird es die leere Zeichenkette. Siehe os-release(5) für weitere Informationen.
"%o" Betriebssystemkennung Die Betriebssystemkennung des laufenden Systems, wie aus dem Feld ID= in /etc/os-release ausgelesen. Siehe os-release(5) für weitere Informationen.
"%v" Kernelveröffentlichung Identisch zur Ausgabe von uname -r.
"%w" Betriebssystemversionskennung Die Betriebssystemversionskennzeichnung des laufenden Systems, wie aus dem Feld VERSION_ID= in /etc/os-release ausgelesen. Falls nicht gesetzt, wird es die leere Zeichenkette. Siehe os-release(5) für weitere Informationen.
"%W" Betriebssystemvariantenkennung Die Betriebssystemvariantenkennung des laufenden Systems, wie aus dem Feld VARIANT_ID= in /etc/os-release ausgelesen. Falls nicht gesetzt, wird es die leere Zeichenkette. Siehe os-release(5) für weitere Informationen.
"%%" Einzelnes Prozentzeichen Verwenden Sie »%%« anstelle von »%«, um ein einzelnes Prozentzeichen anzugeben.

Hinzugefügt in Version 236.

Type=

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

Hinzugefügt in Version 236.

Port=

Eine IP-Port-Nummer des Netzwerkdienstes.

Hinzugefügt in Version 236.

Priority=

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

Hinzugefügt in Version 236.

Weight=

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

Hinzugefügt in Version 236.

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.

Hinzugefügt in Version 236.

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.

Hinzugefügt in Version 236.

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"]

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

1.
RFC 6763

Ü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 die Mailingliste der Übersetzer.

systemd 255