SYSTEMD.DNSSD(5) | systemd.dnssd | 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 /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.
[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=
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=
Hinzugefügt in Version 236.
Port=
Hinzugefügt in Version 236.
Priority=
Hinzugefügt in Version 236.
Weight=
Hinzugefügt in Version 236.
TxtText=
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=
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.
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
ANMERKUNGEN
- 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 |