- systemd.index 中文手册
- systemd.directives 中文手册
- binfmt.d 中文手册
- bootctl 中文手册
- bootup 中文手册
- busctl 中文手册
- coredump.conf 中文手册
- coredumpctl 中文手册
- crypttab 中文手册
- daemon 中文手册
- dnssec-trust-anchors.d 中文手册
- environment.d 中文手册
- file-hierarchy 中文手册
- halt 中文手册
- hostname 中文手册
- hostnamectl 中文手册
- hwdb 中文手册
- journal-remote.conf 中文手册
- journal-upload.conf 中文手册
- journalctl 中文手册
- journald.conf 中文手册
- kernel-command-line 中文手册
- kernel-install 中文手册
- loader.conf 中文手册
- locale.conf 中文手册
- localectl 中文手册
- localtime 中文手册
- loginctl 中文手册
- logind.conf 中文手册
- machine-id 中文手册
- machine-info 中文手册
- machinectl 中文手册
- modules-load.d 中文手册
- networkctl 中文手册
- networkd.conf 中文手册
- nss-myhostname 中文手册
- nss-mymachines 中文手册
- nss-resolve 中文手册
- nss-systemd 中文手册
- os-release 中文手册
- pam_systemd 中文手册
- portablectl 中文手册
- resolvectl 中文手册
- resolved.conf 中文手册
- shutdown 中文手册
- sysctl.d 中文手册
- systemctl 中文手册
- systemd 中文手册
- systemd-analyze 中文手册
- systemd-ask-password 中文手册
- systemd-ask-password-console.service 中文手册
- systemd-backlight@.service 中文手册
- systemd-binfmt.service 中文手册
- systemd-bless-boot-generator 中文手册
- systemd-bless-boot.service 中文手册
- systemd-boot 中文手册
- systemd-boot-check-no-failures.service 中文手册
- systemd-cat 中文手册
- systemd-cgls 中文手册
- systemd-cgtop 中文手册
- systemd-coredump 中文手册
- systemd-cryptsetup-generator 中文手册
- systemd-cryptsetup@.service 中文手册
- systemd-debug-generator 中文手册
- systemd-delta 中文手册
- systemd-detect-virt 中文手册
- systemd-environment-d-generator 中文手册
- systemd-escape 中文手册
- systemd-firstboot 中文手册
- systemd-fsck@.service 中文手册
- systemd-fstab-generator 中文手册
- systemd-getty-generator 中文手册
- systemd-gpt-auto-generator 中文手册
- systemd-halt.service 中文手册
- systemd-hibernate-resume-generator 中文手册
- systemd-hibernate-resume@.service 中文手册
- systemd-hostnamed.service 中文手册
- systemd-hwdb 中文手册
- systemd-id128 中文手册
- systemd-importd.service 中文手册
- systemd-inhibit 中文手册
- systemd-initctl.service 中文手册
- systemd-journal-gatewayd.service 中文手册
- systemd-journal-remote.service 中文手册
- systemd-journal-upload.service 中文手册
- systemd-journald.service 中文手册
- systemd-localed.service 中文手册
- systemd-logind.service 中文手册
- systemd-machine-id-commit.service 中文手册
- systemd-machine-id-setup 中文手册
- systemd-machined.service 中文手册
- systemd-makefs@.service 中文手册
- systemd-modules-load.service 中文手册
- systemd-mount 中文手册
- systemd-networkd-wait-online.service 中文手册
- systemd-networkd.service 中文手册
- systemd-notify 中文手册
- systemd-nspawn 中文手册
- systemd-path 中文手册
- systemd-portabled.service 中文手册
- systemd-quotacheck.service 中文手册
- systemd-random-seed.service 中文手册
- systemd-rc-local-generator 中文手册
- systemd-remount-fs.service 中文手册
- systemd-resolved.service 中文手册
- systemd-rfkill.service 中文手册
- systemd-run 中文手册
- systemd-run-generator 中文手册
- systemd-sleep.conf 中文手册
- systemd-socket-activate 中文手册
- systemd-socket-proxyd 中文手册
- systemd-suspend.service 中文手册
- systemd-sysctl.service 中文手册
- systemd-system-update-generator 中文手册
- systemd-system.conf 中文手册
- systemd-sysusers 中文手册
- systemd-sysv-generator 中文手册
- systemd-time-wait-sync.service 中文手册
- systemd-timedated.service 中文手册
- systemd-timesyncd.service 中文手册
- systemd-tmpfiles 中文手册
- systemd-tty-ask-password-agent 中文手册
- systemd-udevd.service 中文手册
- systemd-update-done.service 中文手册
- systemd-update-utmp.service 中文手册
- systemd-user-sessions.service 中文手册
- systemd-vconsole-setup.service 中文手册
- systemd-veritysetup-generator 中文手册
- systemd-veritysetup@.service 中文手册
- systemd-volatile-root.service 中文手册
- systemd.automount 中文手册
- systemd.device 中文手册
- systemd.dnssd 中文手册
- systemd.environment-generator 中文手册
- systemd.exec 中文手册
- systemd.generator 中文手册
- systemd.journal-fields 中文手册
- systemd.kill 中文手册
- systemd.link 中文手册
- systemd.mount 中文手册
- systemd.netdev 中文手册
- systemd.network 中文手册
- systemd.nspawn 中文手册
- systemd.offline-updates 中文手册
- systemd.path 中文手册
- systemd.preset 中文手册
- systemd.resource-control 中文手册
- systemd.scope 中文手册
- systemd.service 中文手册
- systemd.slice 中文手册
- systemd.socket 中文手册
- systemd.special 中文手册
- systemd.swap 中文手册
- systemd.syntax 中文手册
- systemd.target 中文手册
- systemd.time 中文手册
- systemd.timer 中文手册
- systemd.unit 中文手册
- sysusers.d 中文手册
- timedatectl 中文手册
- timesyncd.conf 中文手册
- tmpfiles.d 中文手册
- udev 中文手册
- udev.conf 中文手册
- udevadm 中文手册
- user@.service 中文手册
- vconsole.conf 中文手册
systemd.dnssd 中文手册
名称
systemd.dnssd — DNS服务发现配置
大纲
network_service
.dnssd
描述
DNS服务发现(DNS Service Discovery)功能由systemd-resolved.service(8) 实现。
注意,网络服务的Dnssd文件必须以 .dnssd
作为后缀名,否则将被忽略。
Dnssd文件分别位于:系统网络目录(/usr/lib/systemd/dnssd
)、运行时网络目录(/run/systemd/dnssd
)、本机网络目录(/etc/systemd/dnssd
)。所有的Dnssd文件(无论位于哪个目录中),统一按照文件名的字典顺序处理。对于不同目录下的同名Dnssd文件,仅以优先级最高的目录中的那一个为准。具体说来就是:/etc/
的优先级最高、/run/
的优先级居中、/usr/lib/
的优先级最低。如果系统管理员想要屏蔽 /usr/lib/
目录中的某个Dnssd文件,那么最佳做法是在 /etc/
目录中创建一个指向 /dev/null
的同名符号链接,即可彻底屏蔽 /usr/lib/
目录中的同名文件。
对于例如 foo.dnssd
这样的Dnssd文件,可以同时存在对应的foo.dnssd.d/
目录,当解析完Dnssd文件之后,目录中所有以".conf
" 结尾的文件,都会被按照文件名的字典顺序,依次解析(相当于依次附加到Dnssd文件的末尾)。这样就可以方便的修改Dnssd文件,或者为Dnssd文件添加额外的设置,而无需修改Dnssd文件本身。注意,所有配置片段(".conf
" 文件)必须包含明确的小节头(例如 "[Service]
" 之类)。
".d
" 目录除了可以放置在 /etc/systemd/dnssd
目录中,还可以放置在 /usr/lib/systemd/dnssd
与 /run/systemd/dnssd
目录中。所有 ".d/
" 目录中的配置片段都会覆盖Dnssd文件的设置(无论Dnssd文件位于哪个目录)。虽然在优先级上,/etc
中的配置片段优先级最高、/run
中的配置片段优先级居中、/usr/lib
中的配置片段优先级最低。但是由于 /run
是临时目录,而 /usr/lib
仅供软件包使用,所以在实践中,".d/
" 目录仅会放置在/etc/systemd/dnssd
目录中。
[Service] 小节选项
Dnssd文件中只包含一个 "[Service]
" 小节,用于定义一个可发现网络服务,可通过组播DNS(Multicast DNS)在局域网内宣告。
Name=
网络服务的实例名称。必须符合 RFC 6763 4.1.1小节的规范(例如"
webserver
")。此选项支持的替换符:
表 1. 替换符
替换符 含义 " %m
"当前系统的"machine ID"字符串。详见 machine-id(5) 手册。 " %b
"当前系统的"boot ID"字符串。详见 random(4) 手册。 " %H
"当前系统的主机名 " %v
"内核版本(uname -r 的输出) Type=
网络服务的类型。必须符合 RFC 6763 4.1.2小节的规范(例如"
_http._tcp
")。Port=
网络服务的监听端口。
Priority=
网络服务的优先级。也就是一个在 SRV 记录中表示优先级的数字。
Weight=
网络服务的权重。也就是一个在 SRV 记录中表示权重的数字。
TxtText=
一个空格分隔的"键=值"列表, 用于在 TXT 记录中提供额外的附加信息(例如 "
path=/portal/index.html
")。 "键"与"值"中都可以包含C风格的转义字符。此选项与
TxtData=
都可以多次使用, 从而为该服务创建多个 TXT 记录。 设为空字符串表示撤销此选项之前的全部已设列表。TxtData=
一个空格分隔的"键=值"列表 用于在 TXT 记录中提供额外的附加信息。 注意,其中的"值"必须是经过base64编码之后得到的字符串(例如 "
data=YW55IGJpbmFyeSBkYXRhCg==
")。 "键"与"值"中都可以包含C风格的转义字符。此选项与
TxtText=
都可以多次使用, 从而为该服务创建多个 TXT 记录。 设为空字符串表示撤销此选项之前的全部已设列表。
例子
例 1. HTTP 服务
# /etc/systemd/dnssd/http.dnssd [Service] Name=%H Type=_http._tcp Port=80 TxtText=path=/stats/index.html t=temperature_sensor
这将在本机的网络接口上开启DNS组播(MulticastDNS),并且使得本机上的HTTP服务在局域网内成为可发现服务。
现在, "resolvectl
"应该能够将此HTTP服务解析到对应的本机主机名:
$ 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
局域网内另一台主机上运行的 "avahi
" 服务应该也能够看到此HTTP服务:
$ 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"]
参见
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论