| SYSTEMD.DNSSD(5) | systemd.dnssd | SYSTEMD.DNSSD(5) |
نام (NAME)
systemd.dnssd - پیکربندی DNS-SD
خلاصه دستور (SYNOPSIS)
network_service.dnssd
توضیحات (DESCRIPTION)
راهاندازی DNS-SD توسط systemd-resolved(8) انجام میشود.
فایل اصلی سرویس شبکه باید دارای پسوند .dnssd باشد؛ سایر پسوندها نادیده گرفته میشوند.
فایلهای .dnssd از فایلهای واقع در دایرکتوریهای شبکه سیستمی /usr/lib/systemd/dnssd و /usr/local/lib/systemd/dnssd، دایرکتوری شبکه زمان اجرای موقت /run/systemd/dnssd و دایرکتوری شبکه مدیریت محلی /etc/systemd/dnssd خوانده میشوند. تمام فایلهای پیکربندی صرفنظر از دایرکتوری محل قرارگیریشان، به صورت یکپارچه بر اساس ترتیب واژهنگاری (lexicographic) مرتب و پردازش میشوند. با این حال، فایلهای با نام یکسان جایگزین یکدیگر میشوند. فایلهای موجود در /etc/ بالاترین اولویت را دارند، فایلهای موجود در /run/ بر فایلهای با نام مشابه در /usr/lib/ مقدم هستند. در صورت نیاز میتوان از این سازوکار برای بازنویسی یک فایل پیکربندی ارائهشده توسط سیستم با یک فایل محلی استفاده کرد.
همراه با فایل سرویس شبکه foo.dnssd، ممکن است یک دایرکتوری قطعه تکمیلی (drop-in) به نام foo.dnssd.d/ وجود داشته باشد. تمام فایلهای با پسوند ".conf" از این دایرکتوری پس از تجزیه خود فایل، تجزیه خواهند شد. این امر برای تغییر دادن یا افزودن تنظیمات پیکربندی، بدون نیاز به ویرایش فایل پیکربندی اصلی مفید است. هر فایل قطعه تکمیلی باید دارای سرآیندهای بخش مناسب باشد.
علاوه بر /etc/systemd/dnssd، دایرکتوریهای قطعه تکمیلی ".d" را میتوان در دایرکتوریهای /usr/lib/systemd/dnssd یا /run/systemd/dnssd قرار داد. فایلهای قطعه تکمیلی در /etc/ بر موارد موجود در /run/ اولویت دارند که آنها نیز به نوبه خود بر موارد موجود در /usr/lib/ یا /usr/local/lib مقدم هستند. فایلهای قطعه تکمیلی تحت هر یک از این دایرکتوریها، صرفنظر از محل قرارگیری فایل اصلی سرویس شبکه، بر آن اولویت دارند.
گزینههای بخش [SERVICE] ([SERVICE] SECTION OPTIONS)
فایل سرویس شبکه شامل یک بخش [Service] است که یک سرویس شبکه قابلکشف را که با ارسال پیامهای همهپخشی Multicast DNS در یک شبکه محلی اعلان میشود، مشخص میکند.
Name=
این گزینه از بسط ساده مشخصکنندهها پشتیبانی میکند. بسطهای زیر پشتیبانی میشوند:
جدول 1. مشخصکنندههای موجود
| مشخصکننده | مفهوم | جزئیات |
| "%a" | معماری | رشته کوتاهی که معماری سیستم محلی را مشخص میکند. رشتهای مانند x86، x86-64 یا arm64. برای فهرست کامل، به معماریهای تعریفشده برای ConditionArchitecture= در systemd.unit(5) مراجعه کنید. |
| "%A" | نسخه تصویر سیستمعامل | شناسه نسخه تصویر سیستمعامل سیستم در حال اجرا، خواندهشده از فیلد IMAGE_VERSION= در /etc/os-release. اگر تنظیم نشده باشد، به یک رشته خالی تبدیل میشود. برای اطلاعات بیشتر به os-release(5) مراجعه کنید. |
| "%b" | شناسه بوت | شناسه بوت سیستم در حال اجرا، قالببندیشده به صورت رشته. برای اطلاعات بیشتر به random(4) مراجعه کنید. |
| "%B" | شناسه ساخت سیستمعامل | شناسه ساخت سیستمعامل سیستم در حال اجرا، خواندهشده از فیلد BUILD_ID= در /etc/os-release. اگر تنظیم نشده باشد، به یک رشته خالی تبدیل میشود. برای اطلاعات بیشتر به os-release(5) مراجعه کنید. |
| "%H" | نام میزبان | نام میزبان سیستم در حال اجرا. |
| "%m" | شناسه ماشین | شناسه ماشین سیستم در حال اجرا، قالببندیشده به صورت رشته. برای اطلاعات بیشتر به machine-id(5) مراجعه کنید. |
| "%M" | شناسه تصویر سیستمعامل | شناسه تصویر سیستمعامل سیستم در حال اجرا، خواندهشده از فیلد IMAGE_ID= در /etc/os-release. اگر تنظیم نشده باشد، به یک رشته خالی تبدیل میشود. برای اطلاعات بیشتر به os-release(5) مراجعه کنید. |
| "%o" | شناسه سیستمعامل | شناسه سیستمعامل سیستم در حال اجرا، خواندهشده از فیلد ID= در /etc/os-release. برای اطلاعات بیشتر به os-release(5) مراجعه کنید. |
| "%v" | انتشار هسته | همانند خروجی دستور uname -r. |
| "%w" | شناسه نسخه سیستمعامل | شناسه نسخه سیستمعامل سیستم در حال اجرا، خواندهشده از فیلد VERSION_ID= در /etc/os-release. اگر تنظیم نشده باشد، به یک رشته خالی تبدیل میشود. برای اطلاعات بیشتر به os-release(5) مراجعه کنید. |
| "%W" | شناسه گونه سیستمعامل | شناسه گونه (واریانت) سیستمعامل سیستم در حال اجرا، خواندهشده از فیلد VARIANT_ID= در /etc/os-release. اگر تنظیم نشده باشد، به یک رشته خالی تبدیل میشود. برای اطلاعات بیشتر به os-release(5) مراجعه کنید. |
| "%%" | علامت درصد تکی | از "%%" به جای "%" برای مشخص کردن یک علامت درصد تکی استفاده کنید. |
در نسخه 236
اضافه شد.
Type=
در نسخه 236 اضافه شد.
SubType=
در نسخه 256 اضافه شد.
Port=
در نسخه 236 اضافه شد.
Priority=
در نسخه 236 اضافه شد.
Weight=
در نسخه 236 اضافه شد.
TxtText=
این گزینه به همراه TxtData= میتواند بیش از یکبار مشخص شود، که در این صورت چندین رکورد منبع TXT برای سرویس ایجاد خواهد شد. اگر یک رشته خالی به این گزینه اختصاص داده شود، فهرست بازنشانی شده و تمام مقادیر اختصاصیافته قبلی بیاثر خواهند شد.
در نسخه 236 اضافه شد.
TxtData=
این گزینه به همراه TxtText= میتواند بیش از یکبار مشخص شود، که در این صورت چندین رکورد منبع TXT برای سرویس ایجاد خواهد شد. اگر یک رشته خالی به این گزینه اختصاص داده شود، فهرست بازنشانی شده و تمام مقادیر اختصاصیافته قبلی بیاثر خواهند شد.
در نسخه 236 اضافه شد.
مثالها (EXAMPLES)
مثال 1. سرویس HTTP
# /etc/systemd/dnssd/http.dnssd [Service] Name=%H Type=_http._tcp Port=80 TxtText=path=/stats/index.html t=temperature_sensor
با فرض اینکه MulticastDNS بر روی رابط شبکه فعال باشد، این کار کارساز http در حال اجرا بر روی میزبان را در شبکه محلی قابل کشف میسازد.
اکنون ابزار کاربردی "resolvectl" باید بتواند سرویس را به نام میزبان حل کند:
$ 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" که روی میزبان دیگری در همان شبکه محلی در حال اجراست نیز باید بتواند این سرویس را ببیند:
$ 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"]
همچنین ببینید (SEE ALSO)
نکات (NOTES)
- 1.
- RFC 6763
| systemd 261.2 |