'\" t .TH "SYSTEMD\&.DNSSD" "5" "" "systemd 261.2" "systemd.dnssd" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "نام (NAME)" systemd.dnssd \- پیکربندی DNS\-SD .SH "خلاصه دستور (SYNOPSIS)" .PP \fInetwork_service\fR\&.dnssd .SH "توضیحات (DESCRIPTION)" .PP راه‌اندازی DNS\-SD توسط \fBsystemd-resolved\fR(8) انجام می‌شود\&. .PP فایل اصلی سرویس شبکه باید دارای پسوند \&.dnssd باشد؛ سایر پسوندها نادیده گرفته می‌شوند\&. .PP فایل‌های \&.dnssd از فایل‌های واقع در دایرکتوری‌های شبکه سیستمی /usr/lib/systemd/dnssd و /usr/local/lib/systemd/dnssd، دایرکتوری شبکه زمان اجرای موقت /run/systemd/dnssd و دایرکتوری شبکه مدیریت محلی /etc/systemd/dnssd خوانده می‌شوند\&. تمام فایل‌های پیکربندی صرف‌نظر از دایرکتوری محل قرارگیری‌شان، به صورت یکپارچه بر اساس ترتیب واژه‌نگاری (lexicographic) مرتب و پردازش می‌شوند\&. با این حال، فایل‌های با نام یکسان جایگزین یکدیگر می‌شوند\&. فایل‌های موجود در /etc/ بالاترین اولویت را دارند، فایل‌های موجود در /run/ بر فایل‌های با نام مشابه در /usr/lib/ مقدم هستند\&. در صورت نیاز می‌توان از این سازوکار برای بازنویسی یک فایل پیکربندی ارائه‌شده توسط سیستم با یک فایل محلی استفاده کرد\&. .PP همراه با فایل سرویس شبکه foo\&.dnssd، ممکن است یک دایرکتوری قطعه تکمیلی (drop\-in) به نام foo\&.dnssd\&.d/ وجود داشته باشد\&. تمام فایل‌های با پسوند "\&.conf" از این دایرکتوری پس از تجزیه خود فایل، تجزیه خواهند شد\&. این امر برای تغییر دادن یا افزودن تنظیمات پیکربندی، بدون نیاز به ویرایش فایل پیکربندی اصلی مفید است\&. هر فایل قطعه تکمیلی باید دارای سرآیندهای بخش مناسب باشد\&. .PP علاوه بر /etc/systemd/dnssd، دایرکتوری‌های قطعه تکمیلی "\&.d" را می‌توان در دایرکتوری‌های /usr/lib/systemd/dnssd یا /run/systemd/dnssd قرار داد\&. فایل‌های قطعه تکمیلی در /etc/ بر موارد موجود در /run/ اولویت دارند که آنها نیز به نوبه خود بر موارد موجود در /usr/lib/ یا /usr/local/lib مقدم هستند\&. فایل‌های قطعه تکمیلی تحت هر یک از این دایرکتوری‌ها، صرف‌نظر از محل قرارگیری فایل اصلی سرویس شبکه، بر آن اولویت دارند\&. .SH "گزینه‌های بخش [SERVICE] ([SERVICE] SECTION OPTIONS)" .PP فایل سرویس شبکه شامل یک بخش [Service] است که یک سرویس شبکه قابل‌کشف را که با ارسال پیام‌های همه‌پخشی Multicast DNS در یک شبکه محلی اعلان می‌شود، مشخص می‌کند\&. .PP \fIName=\fR .RS 4 نام نمونه‌ای از سرویس شبکه همان‌طور که در بخش ۴.۱.۱ از \m[blue]\fBRFC 6763\fR\m[]\&\s-2\u[1]\d\s+2 تعریف شده است، به عنوان مثال "webserver"\&. .sp این گزینه از بسط ساده مشخص‌کننده‌ها پشتیبانی می‌کند\&. بسط‌های زیر پشتیبانی می‌شوند: .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .B جدول\ \&1.\ \&مشخص‌کننده‌های موجود .TS allbox tab(:); lB lB lB. T{ مشخص‌کننده T}:T{ مفهوم T}:T{ جزئیات T} .T& l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l. T{ "%a" T}:T{ معماری T}:T{ رشته کوتاهی که معماری سیستم محلی را مشخص می‌کند\&. رشته‌ای مانند \fBx86\fR، \fBx86\-64\fR یا \fBarm64\fR\&. برای فهرست کامل، به معماری‌های تعریف‌شده برای \fIConditionArchitecture=\fR در \fBsystemd.unit\fR(5) مراجعه کنید\&. T} T{ "%A" T}:T{ نسخه تصویر سیستم‌عامل T}:T{ شناسه نسخه تصویر سیستم‌عامل سیستم در حال اجرا، خوانده‌شده از فیلد \fIIMAGE_VERSION=\fR در /etc/os\-release\&. اگر تنظیم نشده باشد، به یک رشته خالی تبدیل می‌شود\&. برای اطلاعات بیشتر به \fBos-release\fR(5) مراجعه کنید\&. T} T{ "%b" T}:T{ شناسه بوت T}:T{ شناسه بوت سیستم در حال اجرا، قالب‌بندی‌شده به صورت رشته\&. برای اطلاعات بیشتر به \fBrandom\fR(4) مراجعه کنید\&. T} T{ "%B" T}:T{ شناسه ساخت سیستم‌عامل T}:T{ شناسه ساخت سیستم‌عامل سیستم در حال اجرا، خوانده‌شده از فیلد \fIBUILD_ID=\fR در /etc/os\-release\&. اگر تنظیم نشده باشد، به یک رشته خالی تبدیل می‌شود\&. برای اطلاعات بیشتر به \fBos-release\fR(5) مراجعه کنید\&. T} T{ "%H" T}:T{ نام میزبان T}:T{ نام میزبان سیستم در حال اجرا\&. T} T{ "%m" T}:T{ شناسه ماشین T}:T{ شناسه ماشین سیستم در حال اجرا، قالب‌بندی‌شده به صورت رشته\&. برای اطلاعات بیشتر به \fBmachine-id\fR(5) مراجعه کنید\&. T} T{ "%M" T}:T{ شناسه تصویر سیستم‌عامل T}:T{ شناسه تصویر سیستم‌عامل سیستم در حال اجرا، خوانده‌شده از فیلد \fIIMAGE_ID=\fR در /etc/os\-release\&. اگر تنظیم نشده باشد، به یک رشته خالی تبدیل می‌شود\&. برای اطلاعات بیشتر به \fBos-release\fR(5) مراجعه کنید\&. T} T{ "%o" T}:T{ شناسه سیستم‌عامل T}:T{ شناسه سیستم‌عامل سیستم در حال اجرا، خوانده‌شده از فیلد \fIID=\fR در /etc/os\-release\&. برای اطلاعات بیشتر به \fBos-release\fR(5) مراجعه کنید\&. T} T{ "%v" T}:T{ انتشار هسته T}:T{ همانند خروجی دستور \fBuname \-r\fR\&. T} T{ "%w" T}:T{ شناسه نسخه سیستم‌عامل T}:T{ شناسه نسخه سیستم‌عامل سیستم در حال اجرا، خوانده‌شده از فیلد \fIVERSION_ID=\fR در /etc/os\-release\&. اگر تنظیم نشده باشد، به یک رشته خالی تبدیل می‌شود\&. برای اطلاعات بیشتر به \fBos-release\fR(5) مراجعه کنید\&. T} T{ "%W" T}:T{ شناسه گونه سیستم‌عامل T}:T{ شناسه گونه (واریانت) سیستم‌عامل سیستم در حال اجرا، خوانده‌شده از فیلد \fIVARIANT_ID=\fR در /etc/os\-release\&. اگر تنظیم نشده باشد، به یک رشته خالی تبدیل می‌شود\&. برای اطلاعات بیشتر به \fBos-release\fR(5) مراجعه کنید\&. T} T{ "%%" T}:T{ علامت درصد تکی T}:T{ از "%%" به جای "%" برای مشخص کردن یک علامت درصد تکی استفاده کنید\&. T} .TE .sp 1 در نسخه 236 اضافه شد\&. .RE .PP \fIType=\fR .RS 4 نوع سرویس شبکه همان‌طور که در بخش ۴.۱.۲ از \m[blue]\fBRFC 6763\fR\m[]\&\s-2\u[1]\d\s+2 تعریف شده است، به عنوان مثال "_http\&._tcp"\&. .sp در نسخه 236 اضافه شد\&. .RE .PP \fISubType=\fR .RS 4 یک زیرنوع (subtype) از سرویس شبکه همان‌طور که در بخش ۷.۱ از \m[blue]\fBRFC 6763\fR\m[]\&\s-2\u[1]\d\s+2 تعریف شده است، به عنوان مثال "_printer"\&. .sp در نسخه 256 اضافه شد\&. .RE .PP \fIPort=\fR .RS 4 شماره درگاه (پورت) IP سرویس شبکه\&. .sp در نسخه 236 اضافه شد\&. .RE .PP \fIPriority=\fR .RS 4 شماره اولویت تنظیم‌شده در رکوردهای منبع \fBSRV\fR مربوط به سرویس شبکه\&. .sp در نسخه 236 اضافه شد\&. .RE .PP \fIWeight=\fR .RS 4 شماره وزن تنظیم‌شده در رکوردهای منبع \fBSRV\fR مربوط به سرویس شبکه\&. .sp در نسخه 236 اضافه شد\&. .RE .PP \fITxtText=\fR .RS 4 فهرستی از جفت‌های کلید/مقدار دلخواه جداشده با فاصله که اطلاعات بیشتری را درباره سرویس نام‌برده در رکورد منبع TXT مربوطه انتقال می‌دهند، به عنوان مثال "path=/portal/index\&.html"\&. کلیدها و مقادیر می‌توانند شامل توالی‌های گریز به سبک C باشند که هنگام خواندن فایل‌های پیکربندی ترجمه می‌شوند\&. .sp این گزینه به همراه \fITxtData=\fR می‌تواند بیش از یک‌بار مشخص شود، که در این صورت چندین رکورد منبع TXT برای سرویس ایجاد خواهد شد\&. اگر یک رشته خالی به این گزینه اختصاص داده شود، فهرست بازنشانی شده و تمام مقادیر اختصاص‌یافته قبلی بی‌اثر خواهند شد\&. .sp در نسخه 236 اضافه شد\&. .RE .PP \fITxtData=\fR .RS 4 فهرستی از جفت‌های کلید/مقدار دلخواه جداشده با فاصله که اطلاعات بیشتری را درباره سرویس نام‌برده در رکورد منبع TXT مربوطه انتقال می‌دهند که در آن مقادیر رشته‌هایی با کدگذاری base64 هستند و هرگونه داده باینری را نمایش می‌دهند، به عنوان مثال "data=YW55IGJpbmFyeSBkYXRhCg=="\&. کلیدها می‌توانند شامل توالی‌های گریز به سبک C باشند که هنگام خواندن فایل‌های پیکربندی ترجمه می‌شوند\&. .sp این گزینه به همراه \fITxtText=\fR می‌تواند بیش از یک‌بار مشخص شود، که در این صورت چندین رکورد منبع TXT برای سرویس ایجاد خواهد شد\&. اگر یک رشته خالی به این گزینه اختصاص داده شود، فهرست بازنشانی شده و تمام مقادیر اختصاص‌یافته قبلی بی‌اثر خواهند شد\&. .sp در نسخه 236 اضافه شد\&. .RE .SH "مثال‌ها (EXAMPLES)" .PP \fBمثال\ \&1.\ \&سرویس HTTP\fR .sp .if n \{\ .RS 4 .\} .nf # /etc/systemd/dnssd/http\&.dnssd [Service] Name=%H Type=_http\&._tcp Port=80 TxtText=path=/stats/index\&.html t=temperature_sensor .fi .if n \{\ .RE .\} .PP با فرض اینکه MulticastDNS بر روی رابط شبکه فعال باشد، این کار کارساز http در حال اجرا بر روی میزبان را در شبکه محلی قابل کشف می‌سازد\&. .PP اکنون ابزار کاربردی "resolvectl" باید بتواند سرویس را به نام میزبان حل کند: .sp .if n \{\ .RS 4 .\} .nf $ 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 .fi .if n \{\ .RE .\} .PP برنامه "Avahi" که روی میزبان دیگری در همان شبکه محلی در حال اجراست نیز باید بتواند این سرویس را ببیند: .sp .if n \{\ .RS 4 .\} .nf $ 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"] .fi .if n \{\ .RE .\} .SH "همچنین ببینید (SEE ALSO)" .PP \fBsystemd\fR(1), \fBsystemd-resolved.service\fR(8), \fBresolvectl\fR(1) .SH "نکات (NOTES)" .IP " 1." 4 RFC 6763 .RS 4 \%https://tools.ietf.org/html/rfc6763 .RE