.\" SPDX-License-Identifier: BSD-2-Clause .\" Copyright (c) 2006-2025 Roy Marples .\" All rights reserved .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .Dd July 29, 2026 .Dt DHCPCD.CONF 5 .Os .SH "نام (NAME)" dhcpcd.conf \- پرونده پیکربندی کلاینت dhcpcd .Sh "توضیحات (DESCRIPTION)" اگرچه .Nm dhcpcd می‌تواند همه کارها را از طریق خط فرمان انجام دهد، مواردی وجود دارد که انجام یک‌باره آن‌ها در یک پرونده پیکربندی آسان‌تر است. بسیاری از گزینه‌های موجود در .Xr dhcpcd 8 می‌توانند در اینجا نیز استفاده شوند. نخستین کلمه در هر خط، گزینه و باقی‌مانده خط، مقدار آن است. فاصله‌های خالی ابتدایی و انتهایی گزینه و مقدار حذف (trim) می‌شوند. می‌توانید با استفاده از نویسه \ کاراکترها را در مقدار اسکیپ کنید. توضیحات می‌توانند با نویسه # آغاز شوند. مقادیر رشته‌ای باید داخل نویسه " (نقل‌قول) قرار گیرند. .Pp فهرست گزینه‌های موجود در ادامه آمده است: .Bl -tag -width indent .It Ic allowinterfaces Ar pattern هنگام شناسایی رابط‌ها، نام رابط باید با .Ar pattern تطابق داشته باشد، که فهرستی از الگوهای جداشده با فاصله یا کاما است که به .Xr fnmatch 3 ارسال می‌شوند. اگر همان رابط در .Ic denyinterfaces تطابق یابد، همچنان رد خواهد شد. .It Ic denyinterfaces Ar pattern هنگام شناسایی رابط‌ها، نام رابط نباید با .Ar pattern تطابق داشته باشد، که فهرستی از الگوهای جداشده با فاصله یا کاما است که به .Xr fnmatch 3 ارسال می‌شوند. .It Ic anonymous پروفایل‌های ناشناسی (Anonymity Profiles) را برای DHCP طبق RFC 7844 فعال می‌کند. هرگونه DUID نادیده گرفته می‌شود و ClientID فقط روی LL تنظیم می‌گردد. سپس .Nm فقط گزینه‌های ضروری را .Ic allow می‌کند. گزینه‌های غیرضروری را می‌توان با استفاده از .Ic allow یا .Ic request مجاز کرد. گزینه .Ic anonymous .Sy باید آخرین گزینه در پیکربندی باشد، مگر اینکه واقعاً بخواهید چیزی ارسال کنید که بتواند هویت شما را فاش کند. .Nm dhcpcd تلاشی برای راه‌اندازی مجدد اجاره قدیمی (reboot lease) نخواهد کرد و مستقیماً وارد مرحله DISCOVER/SOLICIT می‌شود. .It Ic randomise_hwaddr هنگام بالا آمدن رابط یا زمانی که سیگنال حامل (carrier) قطع می‌شود، تصادفی‌سازی آدرس سخت‌افزاری را اجبار می‌کند. این گزینه معمولاً همراه با گزینه anonymous استفاده می‌شود. .It Ic arping Ar address Op address قبل از تلاش برای DHCP، .Nm dhcpcd به ترتیب به هر نشانی arping ارسال می‌کند. اگر آدرسی یافت شود، آدرس سخت‌افزاری پاسخ‌دهنده به عنوان نمایه (profile) انتخاب می‌شود، در غیر این صورت آدرس IP انتخاب خواهد شد. مثال: .Pp .D1 interface bge0 .D1 arping 192.168.0.1 .Pp .D1 # My specific 192.168.0.1 network .D1 profile dd:ee:aa:dd:bb:ee .D1 static ip_address=192.168.0.10/24 .Pp .D1 # A generic 192.168.0.1 network .D1 profile 192.168.0.1 .D1 static ip_address=192.168.0.98/24 .It Ic authprotocol Ar protocol Op Ar algorithm Op Ar rdm پیام‌های DHCP را احراز هویت می‌کند. بخش پروتکل‌های احراز هویت پشتیبانی‌شده را ببینید. اگر .Ar protocol برابر .Ar token باشد، در این صورت .Ar algorithm به‌صورت snd_secretid/rcv_secretid خواهد بود تا بتوانید توکن‌های متفاوتی را ارسال و دریافت کنید. .It Ic authtoken Ar secretid Ar realm Ar expire Ar key یک کلید اشتراکی را برای استفاده در احراز هویت تعریف می‌کند. .Ar realm می‌تواند برای استفاده با پروتکل .Ar delayed به‌صورت "" باشد. .Ar expire تاریخ انقضای توکن است و باید در قالب "yyy-mm-dd HH:MM" فرمت‌بندی شود. می‌توانید از کلیدواژه .Ar forever یا .Ar 0 استفاده کنید که به این معناست توکن هرگز منقضی نمی‌شود. برای پروتکل token، مقدار .Ar secretid باید 0 و مقدار .Ar realm باید "" باشد. اگر .Nm dhcpcd با خطای .D1 dhcp_auth_encode: Invalid argument مواجه شود، به این معناست که .Nm dhcpcd نتوانسته توکن احراز هویت صحیح را در پیکربندی شما پیدا کند. .It Ic background بلافاصله در پس‌زمینه فورک (اجرا) می‌شود. این گزینه برای اسکریپت‌های راه‌اندازی که پیام‌های پیوند (link) مربوط به وضعیت حامل (carrier) را غیرفعال نمی‌کنند مفید است. .It Ic blacklist Ar address Ns Op /cidr تمام بسته‌های دریافتی از .Ar address Ns Op /cidr را نادیده می‌گیرد. .It Ic whitelist Ar address Ns Op /cidr تنها بسته‌های دریافتی از .Ar address Ns Op /cidr را می‌پذیرد. اگر .Ic whitelist تنظیم شده باشد، .Ic blacklist نادیده گرفته می‌شود. .It Ic bootp به عنوان یک کلاینت BOOTP عمل می‌کند. در اصل، گزینه DHCP Message Type ارسال نمی‌شود و برنامه فقط با یک سرور BOOTP تعامل خواهد داشت. سایر گزینه‌های DHCP همچنان کار می‌کنند. .It Ic broadcast به سرور DHCP دستور می‌دهد پاسخ‌ها را به صورت برودکست (پخش همگانی) به کلاینت بفرستد. به طور معمول این گزینه فقط برای رابط‌های غیر اترنت، مانند FireWire و InfiniBand تنظیم می‌شود. در بیشتر موارد، .Nm dhcpcd این مورد را به طور خودکار تنظیم می‌کند. .It Ic controlgroup Ar group اعضای این گروه کاربری می‌توانند dhcpcd را کنترل کنند، از جمله (اما نه محدود به) متوقف کردن و راه‌اندازی رابط‌ها. .It Ic readgroup Ar group اعضای این گروه کاربری می‌توانند پیکربندی رابط‌های dhcpcd را بخوانند. .It Ic debug پیام‌های اشکال‌زدایی را به stderr و syslog ارسال می‌کند. .It Ic dev Ar value ماژول مدیریت .Pa /dev مشخص‌شده توسط .Ar value را بارگذاری می‌کند. .Nm dhcpcd اولین ماژولی را که کارایی داشته باشد (در صورت وجود) بارگذاری خواهد کرد. .It Ic env Ar value مقدار .Ar value را برای استفاده در .Xr dhcpcd-run-hooks 8 به متغیرهای محیطی ارسال می‌کند. برای نمونه، می‌توانید با .Ic env .Va force_hostname=YES هوک hostname را مجبور کنید که همیشه نام میزبان را تنظیم کند. یا مشخص کنید کدام درایور توسط .Xr wpa_supplicant 8 استفاده شود با: .Ic env .Va wpa_supplicant_driver=nl80211 .Pp اگر نام میزبان تنظیم شده باشد، در صورت امکان مطابق با بخش ۳.۱ از RFC 4702 روی FQDN تنظیم می‌شود. اگر گزینه FQDN وجود نداشته باشد، .Nm dhcpcd برای حفظ یکپارچگی همچنان تلاش می‌کند یک FQDN از گزینه‌های hostname و domain ایجاد و تنظیم کند. برای بازنویسی این رفتار، مقدار .Ic env .Va hostname_fqdn=[YES|NO|SERVER] را تنظیم کنید. مقدار .Va SERVER به این معنی است که دقیقاً همان چیزی که سرور می‌گوید بدون دستکاری استفاده شود. این امر ممکن است در شبکه‌های دارای DHCPv4 و DHCPv6 که در آن نام میزبان DHCPv4 کوتاه است و DHCPv6 دارای FQDN است، منجر به نام میزبان ناسازگار شود. پروتکل DHCPv6 گزینه‌ای برای نام میزبان (hostname) ندارد. .It Ic clientid Ar string شناسه .Ar clientid را ارسال می‌کند. اگر رشته در قالب 01:02:03 باشد، به عنوان هگزادسیمال کدگذاری می‌شود. برای رابط‌هایی که آدرس سخت‌افزاری آن‌ها طولانی‌تر از ۸ بایت است، یا اگر .Ar clientid یک رشته خالی باشد، .Nm dhcpcd یک .Ar clientid پیش‌فرض متشکل از خانواده سخت‌افزار و آدرس سخت‌افزاری ارسال می‌کند. .It Ic duid Op ll | lt | uuid | value از یک شناسه یکتای DHCP موسوم به DUID (DHCP Unique Identifier) استفاده می‌کند. اگر حافظه پایدار در دسترس باشد، DUID-LLT (آدرس محلی پیوند + زمان) تولید می‌شود، در غیر این صورت DUID-LL (آدرس محلی پیوند) ایجاد می‌گردد. در صورتی که پرونده .Pa /var/lib/dhcpcd/duid وجود نداشته باشد، نوع DUID می‌تواند به عنوان یک پارامتر اختیاری مشخص شود. اگر مقدار داده‌شده .Va ll , .Va lt یا .Va uuid نباشد، مقدار .Va value از قالب 00:11:22:33 تبدیل خواهد شد. این مقدار به همراه IAID به عنوان .Ic clientid استفاده می‌شود. مقدار DUID تولیدشده در .Pa /var/lib/dhcpcd/duid نگهداری خواهد شد و نباید به سایر میزبان‌ها کپی شود. این پرونده همچنین بر قوانین بالا اولویت دارد، مگر در حالتی که مقدار صریح مشخص شده باشد. .It Ic iaid Ar iaid شناسه ارتباط رابط (Interface Association Identifier) را روی .Ar iaid تنظیم می‌کند. این گزینه باید در یک بلوک .Ic interface استفاده شود. مقدار پیش‌فرض آن در صورت تنظیم، VLANID (با پیشوند 0xff) رابط است، در غیر این صورت ۴ بایت آخر آدرس سخت‌افزاری اختصاص‌یافته به رابط خواهد بود. هر نمونه از آن باید در محدوده کلاینت یکتا باشد و .Nm dhcpcd در صورت شناسایی تداخل هشدار می‌دهد. اگر تداخلی رخ دهد، تنها زمانی مشکل‌ساز خواهد بود که IAIDهای متداخل در یک شبکه یکسان استفاده شوند. .It Ic dhcp پروتکل DHCP را روی رابط فعال می‌کند؛ به صورت پیش‌فرض فعال است. .It Ic dhcp6 پروتکل DHCPv6 را روی رابط فعال می‌کند؛ به صورت پیش‌فرض فعال است. .It Ic ipv4 پروتکل IPv4 را روی رابط فعال می‌کند؛ به صورت پیش‌فرض فعال است. .It Ic ipv6 پروتکل IPv6 را روی رابط فعال می‌کند؛ به صورت پیش‌فرض فعال است. .It Ic request Op Ar address نشانی .Ar address را در پیام DHCP DISCOVER درخواست می‌کند. هیچ تضمینی وجود ندارد که سرور DHCP دقیقاً همین آدرس را اختصاص دهد. اگر هیچ .Ar address مشخص نشود، اولین آدرسی که در حال حاضر به .Ar interface اختصاص یافته است استفاده می‌شود. .It Ic inform Op Ar address Ns Op Ar /cidr Ns Op Ar /broadcast_address مانند .Ic request در بالا عمل می‌کند، اما به جای DISCOVER/REQUEST یک پیام DHCP INFORM می‌فرستد. این حالت منجر به دریافت اجاره به معنای معمول نمی‌شود، بلکه تنها سرور DHCP را از .Ar address در حال استفاده مطلع می‌کند. همچنین در صورتی که آدرس از قبل روی رابط پیکربندی نشده باشد، باید شناسه شبکه اختیاری .Ar cidr را درج کنید. .Nm dhcpcd در حال اجرا باقی می‌ماند و وانمود می‌کند که اجاره نامحدود دارد. .Nm dhcpcd هنگام خروج، پیکربندی رابط را لغو نخواهد کرد. اگر .Nm dhcpcd نتواند با سرور DHCP ارتباط برقرار کند، به جای بازگشت به IPv4LL، یک خطا برمی‌گرداند. .It Ic inform6 یک درخواست اطلاعات DHCPv6 Information Request انجام می‌دهد. هیچ آدرسی درخواست یا مشخص نمی‌شود، اما سایر گزینه‌های DHCPv6 مجاز هستند. به طور معمول این کار زمانی به صورت خودکار انجام می‌شود که اعلان مسیریاب (IPv6 Router Advertisement) مشخص کند کلاینت باید این عملیات را انجام دهد. این گزینه تنها زمانی نیاز است که .Nm dhcpcd پیام‌های IPv6 RA را پردازش نمی‌کند و نیاز به یک DHCPv6 Information Request وجود دارد. .It Ic persistent .Nm dhcpcd به طور معمول هنگام خروج، پیکربندی و رابط را لغو می‌کند. گاهی اوقات این حالت مطلوب نیست؛ به عنوان مثال اگر پارتیشن ریشه روی NFS سوار شده باشد یا کلاینت‌های SSH به این میزبان متصل باشند و نیاز باشد از خاموش شدن میزبان مطلع شوند. می‌توانید از این گزینه برای جلوگیری از این اتفاق استفاده کنید. .It Ic fallback Ar profile در صورت شکست DHCP، به استفاده از این نمایه (profile) برمی‌گردد. این به شما امکان می‌دهد به جای استفاده از ZeroConf، یک نمایه ایستا را پیکربندی کنید. .It Ic initial_interval Ar seconds فاصله زمانی اولیه ارسال مجدد DHCPv4 را روی .Ar seconds ثانیه تنظیم می‌کند. حداقل مقدار ۱ و حداکثر ۴ است. مقدار پیش‌فرض طبق RFC 2131 برابر ۴ ثانیه است. این گزینه فقط بر DHCPv4 تأثیر می‌گذارد؛ ارسال مجدد در DHCPv6 طبق RFC 8415 اداره می‌شود. همچنین گزینه‌های .Ic backoff_cutoff و .Ic backoff_jitter را ببینید. .It Ic backoff_cutoff Ar seconds حداکثر سقف فاصله زمانی عقب‌نشینی نمایی (exponential backoff) در DHCPv4 را روی .Ar seconds ثانیه محدود می‌کند. حداقل مقدار ۱ و حداکثر ۶۴ است. مقدار پیش‌فرض طبق RFC 2131 برابر ۶۴ ثانیه است. اگر .Ar seconds کمتر از .Ic initial_interval باشد، مقدار آن افزایش می‌یابد تا با آن برابر شود، زیرا سقف بازه (cutoff) حدی برای رشد نمایی است و نباید فاصله زمانی اولیه را کوچک‌تر کند. تنظیم هم‌زمان هر دو گزینه .Ic initial_interval و .Ic backoff_cutoff روی ۱ عملاً رشد نمایی را غیرفعال می‌کند، به طوری که ارسال‌های مجدد تنها از فاصله زمانی اولیه به همراه نوسان تصادفی (jitter) استفاده می‌کنند. این گزینه فقط بر DHCPv4 تأثیر می‌گذارد؛ ارسال مجدد در DHCPv6 طبق RFC 8415 اداره می‌شود. همچنین گزینه‌های .Ic initial_interval و .Ic backoff_jitter را ببینید. .It Ic backoff_jitter Ar milliseconds میزان نوسان تصادفی (jitter) اعمال‌شده بر هر فاصله زمانی ارسال مجدد DHCPv4 را تنظیم می‌کند. این نوسان به صورت \(+- .Ar milliseconds میلی‌ثانیه اعمال می‌شود. مقدار پیش‌فرض طبق RFC 2131 برابر ۱۰۰۰ (\(+-۱ ثانیه) است که حداکثر مقدار مجاز نیز می‌باشد. مقدار ۰ نوسان را غیرفعال کرده و زمان‌بندی ارسال مجدد معین (قطعی) ایجاد می‌کند. این گزینه فقط بر DHCPv4 تأثیر می‌گذارد؛ ارسال مجدد در DHCPv6 طبق RFC 8415 اداره می‌شود. همچنین گزینه‌های .Ic backoff_cutoff و .Ic initial_interval را ببینید. .It Ic fallback_time Ar seconds حالت جایگزین (fallback) را پس از .Ar seconds ثانیه آغاز می‌کند. مقدار پیش‌فرض ۵ ثانیه است. .It Ic hostname Ar name نام میزبان .Ar name را به سرور DHCP ارسال می‌کند تا بتواند در DNS ثبت شود. اگر .Ar name یک رشته خالی باشد، نام میزبان فعلی سیستم ارسال می‌شود. اگر .Ar name یک FQDN باشد (یعنی شامل نقطه . باشد)، به همان صورت کدگذاری می‌شود. .It Ic hostname_short به جای FQDN، نام میزبان کوتاه را به سرور DHCP ارسال می‌کند. این گزینه از آن جهت مفید است که اگر بخش دامنه با سرور DHCP مطابقت نداشته باشد، سرورها FQDN را در DNS خود ثبت نمی‌کنند. .Pp همچنین گزینه .Ic env در بالا را برای کنترل چگونگی تنظیم نام میزبان روی سیستم ببینید. .It Ic ia_na Op Ar iaid Op / address یک نشانی عادی DHCPv6 (Normal Address) برای .Ar iaid درخواست می‌کند. مقدار پیش‌فرض .Ar iaid همان گزینه .Ic iaid توضیح داده شده در بالا است. می‌توانید با مشخص کردن یک .Ar iaid یکتا برای هر کدام، بیش از یک ia_na درخواست کنید. .It Ic ia_ta Op Ar iaid یک نشانی موقت DHCPv6 (Temporary Address) برای .Ar iaid درخواست می‌کند. می‌توانید با مشخص کردن یک .Ar iaid یکتا برای هر کدام، بیش از یک ia_ta درخواست کنید. .It Ic ia_pd Op Ar iaid Oo / Ar prefix / Ar prefix_len Oc Op Ar interface Op / Ar sla_id Op / Ar prefix_len Op / Ar suffix یک پیشوند تفویض‌شده (Delegated Prefix) DHCPv6 برای .Ar iaid درخواست می‌کند. این گزینه باید در یک بلوک .Ic interface استفاده شود. مگر اینکه یک .Ar sla_id با مقدار ۰ با همان طول پیشوند حاصل از تفویض اختصاص داده شود، یک مسیر رد (reject route) برای پیشوند تفویض‌شده نصب می‌شود تا از مسیریابی نشانی‌های تخصیص‌نیافته به سمت بالادست جلوگیری شود. اگر هیچ .Ar interface مشخص نشود، به هر رابط دیگری یک پیشوند با .Ar sla_id معادل با ایندکس رابط که توسط سیستم‌عامل تعیین شده اختصاص می‌یابد. در غیر این صورت، نشانی‌ها تنها به ازای هر .Ar interface و .Ar sla_id تخصیص داده می‌شوند. برای جلوگیری از تفویض به هر رابطی، از - به عنوان نام نامعتبر رابط استفاده کنید. هر آدرس تخصیص‌یافته دارای یک .Ar suffix خواهد بود که مقدار پیش‌فرض آن ۱ است. اگر .Ar suffix برابر ۰ باشد، یک نشانی SLAAC تخصیص می‌یابد. نمی‌توانید به رابط درخواست‌کننده یک پیشوند اختصاص دهید، مگر اینکه سرور DHCPv6 از .Li RFC 6603 (گزینه رد پیشوند یا Prefix Exclude Option) پشتیبانی کند. .Nm dhcpcd باید برای تمام رابط‌هایی که به آن‌ها پیشوند تفویض می‌کند در حال اجرا باشد. طول پیش‌فرض .Ar prefix_len برابر ۶۴ در نظر گرفته می‌شود، مگر اینکه بیشترین مقدار .Ar sla_id در آن نگنجد. در این صورت .Ar prefix_len به بالاترین مضرب ۸ که بتواند .Ar sla_id را در خود جای دهد افزایش می‌یابد. .Ar sla_id یک عدد صحیح است که باید در داخل .Ar iaid یکتا باشد و به پیشوندی اضافه می‌شود که باید درون .Ar prefix_len منهای طول پیشوند تفویض‌شده جا بگیرد. می‌توانید چند مقدار .Ar interface / .Ar sla_id / .Ar prefix_len را به ازای هر .Ic ia_pd به صورت جداشده با فاصله مشخص کنید. هنگام درخواست Prefix Delegation، گزینه IPv6RS باید به صورت سراسری غیرفعال شود. .Pp در مثال زیر، eth0 رابط متصل به شبکه خارجی است که برای هر دو پروتکل IPv4 و IPv6 پیکربندی می‌شود. سرور DHCPv4 یک نشانی IPv4 و یک مسیر پیش‌فرض ارائه می‌دهد. سرور DHCPv6 یک نشانی IPv6، یک مسیر پیش‌فرض و یک زیرشبکه /64 برای تفویض به رابط داخلی ارائه خواهد داد. رابط eth1 با استفاده از اولین آدرس (::1) از پیشوند تفویض‌شده به طور خودکار برای IPv6 پیکربندی می‌شود. یک پیشوند دوم درخواست شده و به دو رابط دیگر اختصاص می‌یابد. می‌توان از .Xr rtadvd 8 با یک پرونده پیکربندی خالی در eth1، eth2 و eth3 برای ارائه پیکربندی خودکار نشانی IPv6 در شبکه داخلی استفاده کرد. .Bd -literal noipv6rs # غیرفعال‌سازی درخواست مسیریابی denyinterfaces eth2 # دست نزدن به eth2 interface eth0 ipv6rs # فعال‌سازی درخواست مسیریابی برای eth0 ia_na 1 # درخواست یک نشانی IPv6 ia_pd 2 eth1/0 # درخواست PD و اختصاص به eth1 ia_pd 3 eth2/1 eth3/2 # درخواست PD و اختصاص به eth2 و eth3 ia_pd 4 - # درخواست PD بدون اختصاص به رابط .Ed .It Ic ipv4only تنها IPv4 را پیکربندی می‌کند. .It Ic ipv6only تنها IPv6 را پیکربندی می‌کند. .It Ic fqdn Op disable | none | ptr | both مقدار .Ar none از سرور DHCP نمی‌خواهد که DNS را به‌روزرسانی کند. مقدار .Ar ptr فقط از سرور DHCP می‌خواهد که رکورد PTR میزبان را در DNS به‌روز کند، در حالی که .Ar both رکورد A را نیز به‌روزرسانی می‌کند. مقدار .Ar disable گزینه FQDN را غیرفعال می‌کند. حالت پیش‌فرض .Ar both است. خود .Nm dhcpcd هرگز به‌روزرسانی‌های DNS را مستقیماً انجام نمی‌دهد. .Nm dhcpcd نام میزبان FQDN را طبق مشخصات .Li RFC 1035 کدگذاری می‌کند. .It Ic interface Ar interface گزینه‌های بعدی تنها برای این .Ar interface تجزیه می‌شوند. تطبیق الگو از طریق .Xr fnmatch 3 مجاز است. .It Ic ipv4ll_time Ar seconds پیش از آغاز IPv4LL به مدت .Ar seconds ثانیه منتظر می‌ماند. مقدار پیش‌فرض ۵ ثانیه است. .It Ic ipv6ra_autoconf به ازای هر پیشوند اعلام‌شده در پیام اعلان مسیریاب (IPv6 Router Advertisement) که پرچم Auto آن فعال باشد، نشانی‌های SLAAC تولید می‌کند. به صورت پیش‌فرض فعال است. .It Ic ipv6ra_noautoconf گزینه فوق را غیرفعال می‌کند. .It Ic ipv6ra_fork به صورت پیش‌فرض، هنگامی که .Nm dhcpcd یک اعلان مسیریاب IPv6 دریافت می‌کند، تنها زمانی به پس‌زمینه فورک می‌شود که RA حداقل شامل یک گزینه منقضی‌نشده RDNSS و یک پیشوند معتبر باشد، یا هیچ دستورالعملی برای DHCPv6 نداشته باشد. تنظیم این گزینه باعث می‌شود .Nm dhcpcd همواره با دریافت یک RA به پس‌زمینه فورک شود. .It Ic ipv6rs درخواست اعلان مسیریاب (IPv6 Router Advertisement solicitation) را فعال می‌کند. این گزینه به صورت پیش‌فرض فعال است، اما در اینجا برای مواردی مستند شده که به صورت سراسری غیرفعال است اما نیاز است برای یک رابط خاص فعال شود. .It Ic lastlease اگر .Nm dhcpcd نتواند اجاره‌ای به دست آورد، تلاش می‌کند از آخرین اجاره کسب‌شده برای رابط استفاده کند. .It Ic lastleaseextend مشابه گزینه بالا است، اما اجاره حتی در صورت انقضا نیز حفظ می‌شود. در صورتی که هر میزبان دیگری از طریق ARP تلاش کند آن را به خود اختصاص دهد، .Nm dhcpcd آن را واگذار خواهد کرد. این عمل بخش ۳.۷ از RFC 2131 را نقض می‌کند، که بیان می‌دارد اجاره به محض انقضا باید رها شود. .It Ic leasetime Ar seconds مدت زمان اجاره DHCP به اندازه .Ar seconds ثانیه درخواست می‌کند. مقدار .Ar -1 نشان‌دهنده زمان اجاره نامحدود است. به صورت پیش‌فرض، .Nm dhcpcd هیچ زمان اجاره‌ای درخواست نمی‌کند و آن را به سرور DHCP واگذار می‌کند. درخواست زمان اجاره برای DHCPv6 امکان‌پذیر نیست زیرا با استانداردهای RFC سازگار نیست. بخش‌های ۲۱.۴، ۲۱.۶، ۲۱.۲۱ و ۲۱.۲۲ از RFC 8415 را ببینید. .It Ic link_rcvbuf Ar size اندازه بافر دریافت پیوند (link receive buffer) را نسبت به مقدار پیش‌فرض کرنل بازنویسی می‌کند. اگرچه .Nm dhcpcd از سرریزهای بافر پیوند بازیابی می‌شود، اما این رخداد در سیستم‌های تحت بار کاری سنگین ممکن است مطلوب نباشد. .It Ic logfile Ar logfile در .Ar logfile مشخص‌شده می‌نویسد. .Nm dhcpcd همچنان در .Xr syslog 3 نیز می‌نویسد. هنگامی که .Nm dhcpcd سیگنال .Dv SIGUSR2 را دریافت کند، .Ar logfile مجدداً باز می‌شود. .It Ic metric Ar metric متریک‌ها برای ترجیح دادن یک رابط بر دیگری استفاده می‌شوند که کمترین مقدار برنده است. .Nm dhcpcd متریک پیش‌فرض 1000 + .Xr if_nametoindex 3 را در نظر می‌گیرد. این مقدار برای رابط‌های بی‌سیم با ۲۰۰۰ واحد، برای IPv4LL با ۱۰۰۰۰۰۰ واحد و برای رابط‌های رومینگ با ۲۰۰۰۰۰۰ واحد آفست (افزایش) خواهد یافت. .It Ic mudurl Ar url آدرس اینترنتی (URL) مربوط به شرح کاربرد سازنده (MUD) را مشخص می‌کند. این شرح توسط دستگاه‌های شبکه بالادست برای ایجاد فهرست‌های دسترسی مورد نظر استفاده می‌شود. برای اطلاعات بیشتر، پیش‌نویس draft-ietf-opsawg-mud را ببینید. .It Ic noalias هنگام افزودن یک نشانی IPv4 جدید، هرگونه نشانی IPv4 قبلی از رابط حذف خواهد شد. .It Ic noarp هیچ درخواست ARP ارسال نمی‌کند. این گزینه IPv4LL را نیز غیرفعال می‌کند. .It Ic arp_persistdefence در صورت تداخل نشانی IP، حتی اگر دفاع ناموفق باشد نشانی IP را حفظ می‌کند. .It Ic noauthrequired حتی در صورت درخواست احراز هویت، آن را الزامی نمی‌کند. همچنین پیام‌های FORCERENEW و RECONFIGURE را بدون احراز هویت مجاز می‌داند. .It Ic nodelay هنگام شروع پروتکل‌ها، تأخیر تصادفی اولیه ایجاد نمی‌کند. .It Ic nodev ماژول‌های مدیریت .Pa /dev را بارگذاری نمی‌کند. .It Ic nodhcp سرویس DHCP را آغاز نکرده و به پیام‌های DHCP گوش نمی‌دهد. این گزینه فقط هنگام مجاز دانستن IPv4LL کاربرد دارد. .It Ic nodhcp6 سرویس DHCPv6 را آغاز نکرده و به پیام‌های DHCPv6 گوش نمی‌دهد. به طور معمول، DHCPv6 بر اساس دستورالعمل اعلان مسیریاب IPv6 یا پیکربندی راه‌اندازی می‌شود. .It Ic nogateway هیچ مسیر پیش‌فرضی نصب نمی‌کند. .It Ic gateway در صورت وجود، یک مسیر پیش‌فرض نصب می‌کند (پیش‌فرض). .It Ic nohook Ar script این اسکریپت هوک را اجرا نمی‌کند. با نام کامل یا نام دارای ۲ رقم پیشوند و با پسوند اختیاری .Pa .sh مطابقت داده می‌شود. .Pp بنابراین برای جلوگیری از تغییر تنظیمات DNS یا راه‌اندازی wpa_supplicant توسط .Nm dhcpcd می‌توانید به این صورت عمل کنید: .D1 nohook resolv.conf, wpa_supplicant .It Ic noipv4 برای پیکربندی نشانی IPv4 تلاش نمی‌کند. .It Ic noipv4ll در صورت عدم موفقیت در دریافت نشانی از طریق DHCP، برای دریافت نشانی IPv4LL تلاش نمی‌کند. ببینید: .Rs .%T "RFC 3927" .Re .It Ic noipv6 اعلان‌های مسیریاب IPv6 و DHCPv6 را درخواست نکرده و نمی‌پذیرد. .It Ic noipv6rs اعلان‌های مسیریاب IPv6 را درخواست نکرده و نمی‌پذیرد. .It Ic nolink پیام‌های پیوند مربوط به وضعیت حامل (carrier) را دریافت نمی‌کند. تنها باید این گزینه را برای درایورهای معیوب رابط تنظیم کنید. .It Ic nosyslog نوشتن در syslog(3) را غیرفعال می‌کند. .It Ic noup در حالت مدیریتی، رابط را بالا (up) نمی‌آورد. .It Ic option Ar option گزینه .Ar option را از سرور درخواست می‌کند. می‌تواند متغیری برای استفاده در .Xr dhcpcd-run-hooks 8 یا مقدار عددی باشد. می‌توانید چند .Ar option را با کاما، فاصله یا با خطوط .Ic option بیشتر مشخص کنید. برای درخواست یک گزینه DHCPv6، عبارت dhcp6_ را به ابتدای .Ar option اضافه کنید. اگر هیچ گزینه DHCPv6 پیکربندی نشده باشد، گزینه‌های DHCPv4 به گزینه‌های معادل DHCPv6 نگاشت می‌شوند. .Pp برای مدیریت گزینه‌های ND، عبارت nd_ را به ابتدای .Ar option اضافه کنید. .Pp برای مشاهده فهرست گزینه‌های قابل استفاده، .Nm dhcpcd را با آرگومان .Fl V , Fl Fl variables فراخوانی کنید. .It Ic allow Ar option برعکس .Ic nooption است. اگر گزینه .Ic allow وجود نداشته باشد، هنگام تعیین گزینه‌های قابل ارسال و دریافت، نقیض .Ic nooption محاسبه می‌شود. گزینه .Ic option همواره مجاز است. .It Ic nooption Ar option گزینه را قبل از پردازش از پیام حذف می‌کند. .It Ic require Ar option وجود .Ar option را در تمام پیام‌ها الزامی می‌کند، در غیر این صورت پیام نادیده گرفته می‌شود. برای اینکه الزام کنید .Nm dhcpcd تنها به سرورهای DHCP پاسخ دهد و نه سرورهای BOOTP، می‌توانید .Ar dhcp_message_type را .Ic require کنید. البته این یک روش کاملاً دقیق نیست زیرا یک سرور BOOTP نیز می‌تواند گزینه‌های مشابه DHCP ارسال کند. .It Ic reject Ar option پیامی را که حاوی .Ar option باشد رد می‌کند. این گزینه زمانی مفید است که نتوانید از .Ic require برای انتخاب یا عدم انتخاب پیام‌های BOOTP استفاده کنید. .It Ic destination Ar option اگر .Nm تشخیص دهد که نشانی به یک رابط نقطه به نقطه (مانند PPP، TUN و غیره) اضافه شده است، گزینه‌های فهرست‌شده DHCP را روی نشانی مقصد رابط تنظیم می‌کند. .It Ic profile Ar name گزینه‌های بعدی تنها برای این نمایه .Ar name تجزیه می‌شوند. .It Ic quiet تمام خروجی‌های dhcpcd در کنسول را به جز خطاها پنهان می‌کند. .It Ic reboot Ar seconds در صورتی که یک اجاره قدیمی برای استفاده موجود باشد، به مدت .Ar reboot ثانیه قبل از رفتن به فاز DISCOVER فرصت می‌دهد. به مدت .Ar reboot ثانیه قبل از شروع وضعیت‌های جایگزین (fallback) از فاز DISCOVER فرصت می‌دهد. پروتکل IPv4LL زمانی که اولین مهلت زمانی .Ar reboot سر برسد آغاز می‌شود. مقدار پیش‌فرض ۵ ثانیه است. تنظیم ۰ ثانیه باعث می‌شود .Nm از فاز راه‌اندازی مجدد (reboot) صرف‌نظر کرده و مستقیماً وارد DISCOVER شود. این حالت برای کاربران دستگاه‌های همراه مطلوب است، زیرا اگر از شبکه A به شبکه B بروید و هر دو از یک زیرشبکه یکسان استفاده کنند و آدرس شبکه A در شبکه B استفاده نشده باشد، سرور DHCP حتی اگر معتبر (authoritative) باشد پاسخی نخواهد داد، به این معنی که .Nm dhcpcd پیش از بازگشت به فاز DISCOVER دچار اتمام مهلت زمانی خواهد شد. این گزینه به جز رد کردن فاز راه‌اندازی مجدد، هیچ تأثیری بر DHCPv6 ندارد. .It Ic release .Nm dhcpcd قبل از متوقف کردن رابط، اجاره را آزاد خواهد کرد. .It Ic script Ar script به جای مسیر پیش‌فرض .Pa /usr/lib/dhcpcd/dhcpcd-run-hooks از .Ar script استفاده می‌کند. .It Ic request_time Ar seconds پیش از بازگشت به DISCOVER، به مدت .Ar seconds ثانیه برای اجاره درخواست می‌دهد. مقدار پیش‌فرض ۱۸۰ ثانیه است. .It Ic ssid Ar ssid گزینه‌های بعدی تنها برای این .Ar ssid بی‌سیم تجزیه می‌شوند. .It Ic slaac Ic hwaddr | Ic private | Ic token Ar token Op Ic temp | Ic temporary شناسه رابط مورد استفاده برای نشانی‌های IPv6 تولیدشده با SLAAC را انتخاب می‌کند. اگر از .Ic private استفاده شود، نشانی بر اساس RFC 7217 تولید می‌شود. اگر از .Ic token Ar token استفاده شود، توکن با پیشوند ترکیب می‌شود تا نشانی نهایی ساخته شود. دستورالعمل .Ic temporary یک نشانی موقت نیز برای پیشوند ایجاد خواهد کرد. .It Ic static Ar value یک مقدار ایستا .Ar value را پیکربندی می‌کند. اگر .Ic ip_address را تنظیم کنید، .Nm dhcpcd برای دریافت اجاره تلاش نخواهد کرد و فقط از مقدار مذکور برای آدرس با زمان اجاره نامحدود استفاده می‌کند. اگر مقداری خالی تنظیم کنید، تمام تخصیص‌های ایستای قبلی مربوط به همان مقدار حذف می‌شوند. این ویژگی هنگام استفاده از نمایه‌ها (profiles) مفید است و در مورد .Ic ip_address تخصیص ایستا را لغو می‌کند. توجه داشته باشید که تنظیم 0.0.0.0 تخصیص ایستا را حفظ می‌کند اما منتظر برنامه‌ای شخص ثالث (3rdparty) برای پیکربندی آدرس می‌ماند. اگر .Ic ip6_address را تنظیم کنید، .Nm dhcpcd پیکربندی خودکار را طبق روال معمول ادامه خواهد داد. .Pp در اینجا مثالی آورده شده که دو آدرس ایستا را پیکربندی می‌کند و نشانی برودکست پیش‌فرض IPv4، یک روتر IPv4 و DNS را بازنویسی کرده و پیکربندی خودکار IPv6 را غیرفعال می‌سازد. همچنین اگر مایل به دریافت اطلاعات بیشتر از طریق DHCPv6 بودید، می‌توانستید از دستور .Ic inform6 در اینجا استفاده کنید. برای IPv4، باید به جای تنظیم نشانی ایستا از گزینه .Ic inform Ar ipaddress استفاده فرمایید. .D1 interface eth0 .D1 noipv6rs .D1 static ip_address=192.168.0.10/24 .D1 static broadcast_address=192.168.0.63 .D1 static ip6_address=fd51:42f8:caae:d92e::ff/64 .D1 static routers=192.168.0.1 .D1 static domain_name_servers=192.168.0.1 fd51:42f8:caae:d92e::1 .Pp در اینجا مثالی برای PPP آورده شده است که به مقصد یک مسیر پیش‌فرض می‌دهد. این مثال از کلیدواژه ویژه .Ar destination برای درج نشانی مقصد در مقدار استفاده می‌کند. .D1 interface ppp0 .D1 static ip_address=0.0.0.0 .D1 destination routers .It Ic timeout Ar seconds پس از .Ar seconds ثانیه به جای مقدار پیش‌فرض ۳۰ دچار اتمام مهلت زمانی (timeout) می‌شود. تنظیم ۰ .Ar seconds باعث می‌شود .Nm dhcpcd برای دریافت اجاره برای همیشه منتظر بماند. اگر .Nm dhcpcd روی یک رابط منفرد کار کند، پس از وقوع اتمام مهلت خارج خواهد شد، در غیر این صورت .Nm dhcpcd به پس‌زمینه فورک می‌شود. در صورت استفاده از IPv4LL، .Nm dhcpcd فرآیند IPv4LL را پس از اتمام مهلت آغاز کرده و پیش از اتمام مهلت قطعی، مدت زمان بیشتری منتظر می‌ماند. .It Ic userclass Ar string پیام DHCPv4 را با کلاس کاربری (userclass) برچسب‌گذاری می‌کند. می‌توانید بیش از یک مورد را مشخص کنید. .It Ic msuserclass Ar string پیام DHCPv4 را با کلاس کاربری مایکروسافت برچسب‌گذاری می‌کند. برخلاف گزینه .Ic userclass , این گزینه تنها یک بار قابل افزودن است. فقط باید برای سرورهای DHCP مایکروسافت استفاده شود و .Ic vendorclassid باید روی "MSFT 98" یا "MSFT 5.0" تنظیم گردد. این گزینه با استانداردهای RFC سازگار نیست. .It Ic vendor Ar code , Ns Ar value یک گزینه اطلاعات اختصاصی سازنده کپسوله‌شده (DHCP Option 43) را اضافه می‌کند. مقدار .Ar code باید عددی بین ۱ تا ۲۵۴ (شامل هر دو) باشد. برای افزودن یک رشته خام سازنده، از .Ar code صرف‌نظر کنید اما کاما را نگه دارید. مثال‌ها: .Pp تنظیم گزینه سازنده 01 با یک نشانی IP: .D1 vendor 01,192.168.0.2 تنظیم گزینه سازنده 02 با یک کد هگز: .D1 vendor 02,01:02:03:04:05 تنظیم گزینه سازنده 03 با یک نشانی IP به صورت رشته: .D1 vendor 03,\e"192.168.0.2\e" تنظیم گزینه سازنده کپسوله‌نشده روی hello world: .D1 vendor ,"hello world" .It Ic vsio Ar en Ar code, Ns Ar value یک گزینه اطلاعات اختصاصی سازنده کپسوله‌شده (DHCP Option 125) را با شماره سازمانی اختصاص‌یافته توسط IANA موسوم به .Ar en به همراه .Ar code که باید بین ۱ تا ۲۵۵ (شامل هر دو) باشد، و .Ar value پس از کاما اضافه می‌کند. مثال‌ها: .Pp تنظیم vsio برای شماره سازمانی ۱۵۵ گزینه 01 با یک نشانی IPv4: .D1 vsio 155 01,192.168.1.1 تنظیم vsio برای شماره سازمانی ۱۵۵ گزینه 02 با یک رشته: .D1 vsio 155 02,"hello world" تنظیم vsio برای شماره سازمانی ۲۵۵ گزینه 01 با یک کد هگز: .D1 vsio 255 01,01:02:03:04:05 .It Ic vsio6 Ar en Ar code, Ns Ar value یک گزینه اطلاعات اختصاصی سازنده کپسوله‌شده (DHCPv6 Option 17) را با شماره سازمانی اختصاص‌یافته توسط IANA موسوم به .Ar en به همراه .Ar code که باید بین ۱ تا ۶۵۵۳۵ (شامل هر دو) باشد، و .Ar value پس از کاما اضافه می‌کند. مثال‌ها: .Pp تنظیم vsio برای شماره سازمانی ۱۵۵ گزینه 01 با یک نشانی IPv6: .D1 vsio6 155 01,2001:0db8:85a3:0000:0000:8a2e:0370:7334 تنظیم vsio برای شماره سازمانی ۱۵۵ گزینه 02 با یک رشته: .D1 vsio6 155 02,"hello world" تنظیم vsio برای شماره سازمانی ۲۵۵ گزینه 01 با یک کد هگز: .D1 vsio6 255 01,01:02:03:04:05 .It Ic vendorclassid Ar string کلاس سازنده DHCP (DHCP Vendor Class) را تنظیم می‌کند. همان‌طور که در زیر نشان داده شده، DHCPv6 گزینه اختصاصی خود را دارد. مقدار پیش‌فرض dhcpcd-::: است. برای مثال: .D1 dhcpcd-5.5.6:NetBSD-6.99.5:i386:i386 در صورت عدم تنظیم، مقداری ارسال نمی‌شود. برخی از سرورهای DHCP با پیکربندی نامناسب، شناسه‌های vendorclassid ناشناخته را رد می‌کنند. برای دور زدن این مشکل، می‌توانید با استفاده از vendorclassid مربوط به MSFT هویت ویندوز را جعل کنید. .It Ic vendclass Ar en Ar data کلاس سازنده شناسایی‌کننده سازنده در DHCPv6 را با شماره سازمانی تخصیص‌یافته توسط IANA به صورت .Ar en همراه با داده‌های .Ar data اضافه می‌کند. این گزینه می‌تواند بیش از یک بار برای افزودن داده‌های بیشتر تنظیم شود، اما رفتار سیستم طبق RFC 3925 در صورتی که شماره سازمانی متفاوت باشد، تعریف‌نشده است. .It Ic waitip Op 4 | 6 پیش از فورک شدن به پس‌زمینه، منتظر تخصیص یک نشانی می‌ماند. مقدار ۴ به معنای انتظار برای تخصیص نشانی IPv4 است. مقدار ۶ به معنای انتظار برای تخصیص نشانی IPv6 است. اگر هیچ آرگومانی داده نشود، .Nm منتظر تخصیص هر پروتکل نشانی می‌ماند. امکان انتظار برای بیش از یک پروتکل نشانی وجود دارد و .Nm تنها زمانی به پس‌زمینه فورک می‌شود که تمام شرایط انتظار برآورده شده باشند. .It Ic xidhwaddr به جای یک عدد تصادفی تولیدشده، از چهار بایت آخر آدرس سخت‌افزاری به عنوان DHCP xid استفاده می‌کند. .El .Ss "تعریف گزینه‌های جدید (Defining new options)" پروتکل‌های DHCP، ND و DHCPv6 امکان استفاده از گزینه‌های سفارشی را فراهم می‌کنند و گزینه‌های سازنده طبق RFC 3925 برای DHCP نیز قابل ارائه هستند. هر گزینه باید با یکی از دستورالعمل‌های .Ic define , .Ic definend , .Ic define6 یا .Ic vendopt آغاز شود. این دستورالعمل می‌تواند به صورت اختیاری با گزینه‌های .Ic embed یا .Ic encap دنبال شود. هر دو می‌توانند بیش از یک بار مشخص شوند و .Ic embed باید پیش از .Ic encap قرار گیرد. .Bl -tag -width indent .It Ic define Ar code Ar type Ar variable گزینه DHCP با کد .Ar code و از نوع .Ar type را با نام .Ar variable تعریف می‌کند که به .Xr dhcpcd-run-hooks 8 صادر می‌شود. .It Ic definend Ar code Ar type Ar variable گزینه ND با کد .Ar code و از نوع .Ar type را با نام .Ar variable تعریف می‌کند که با پیشوند .Va nd_ به .Xr dhcpcd-run-hooks 8 صادر می‌شود. .It Ic define6 Ar code Ar type Ar variable گزینه DHCPv6 با کد .Ar code و از نوع .Ar type را با نام .Ar variable تعریف می‌کند که با پیشوند .Va dhcp6_ به .Xr dhcpcd-run-hooks 8 صادر می‌شود. .It Ic vendopt Ar code Ar type Ar variable گزینه‌های شناسایی‌کننده سازنده (Vendor-Identifying Vendor Options) را تعریف می‌کند. مقدار .Ar code شماره سازمانی IANA است که گزینه‌های کپسوله‌شده را به طور یکتا توصیف می‌کند. مقدار .Ar type معمولاً .Ar encap است. مقدار .Ar variable نام گزینه سازنده صادرشونده را مشخص می‌نماید. .It Ic embed Ar type Ar variable یک متغیر تعبیه‌شده (embedded) را در گزینه تعریف‌شده مشخص می‌کند. طول آن توسط .Ar type تعیین می‌شود. اگر .Ar variable با آنچه در گزینه والد تعریف شده یکسان نباشد، ابتدا نام .Ar variable والد همراه با یک زیرخط (underscore) به عنوان پیشوند به آن اضافه می‌شود. اگر .Ar variable دارای نام .Ar reserved باشد، پردازش نخواهد شد. .It Ic encap Ar code Ar type Ar variable یک متغیر کپسوله‌شده (encapsulated) را در گزینه تعریف‌شده مشخص می‌کند. طول آن توسط .Ar type تعیین می‌شود. اگر .Ar variable با آنچه در گزینه والد تعریف شده یکسان نباشد، ابتدا نام .Ar variable والد همراه با یک زیرخط به عنوان پیشوند به آن اضافه می‌شود. .El .Ss "پیشوند نوع (Type prefix)" این کلیدواژه‌ها پیش از خود نوع قرار می‌گیرند تا آن را کامل‌تر توصیف کنند. می‌توانید از بیش از یک مورد استفاده کنید، اما باید به ترتیبی که در زیر فهرست شده است آورده شوند. .Bl -tag -width -indent .It Ic request گزینه را به صورت پیش‌فرض بدون نیاز به تعیین در پیکربندی کاربر درخواست می‌کند. .It Ic norequest این گزینه صرف‌نظر از پیکربندی کاربر، قابل درخواست نیست. .It Ic optional این گزینه اختیاری است. تنها برای گزینه‌های تعبیه‌شده‌ای مانند گزینه کلاینت FQDN معنا دارد که خود رشته FQDN در آن اختیاری است. .It Ic index گزینه می‌تواند بیش از یک بار ظاهر شود و ایندکس‌گذاری خواهد شد. .It Ic array داده‌های گزینه به آرایه‌ای از عناصر جداشده با فاصله تقسیم می‌شوند که هر عنصر از نوعی یکسان است. .It Ic truncated گزینه ممکن است از طول عادی خود کوتاه‌تر (truncated) باشد. انتهای اندازه عادی هنگام گسترش با صفر پر (zero-padded) می‌شود. در حال حاضر این ویژگی تنها برای ip6address در حالتی که پیشوند باشد پشتیبانی می‌شود. .El .Ss "انواع قابل تعریف (Types to define)" نوع، مستقیماً بر طول داده‌های مصرف‌شده در داخل گزینه تأثیر می‌گذارد. داده‌های باقیمانده به طور معمول نادیده گرفته می‌شوند. طول داده را می‌توان برای انواع string و binhex مشخص کرد، اما این کار عموماً زمانی انجام می‌شود که سایر داده‌ها پس از آن در همان گزینه تعبیه شده باشند. .Bl -tag -width indent .It Ic ipaddress یک نشانی IPv4، ۴ بایت. .It Ic ip6address یک نشانی IPv6، ۱۶ بایت. .It Ic string Op : Ic length یک رشته NVT ASCII از نویسه‌های قابل چاپ. .It Ic byte یک بایت. .It Ic bitflags : Ic flags یک بایت که به صورت رشته‌ای از پرچم‌ها نمایش داده می‌شود، ابتدا باارزش‌ترین بیت (most significant bit). به عنوان مثال، با استفاده از ABCDEFGH آنگاه A معادل 10000000، B معادل 01000000، C معادل 00100000 و غیره خواهد بود. اگر بیت تنظیم نشده باشد، پرچم چاپ نمی‌شود. پرچم 0 حتی در صورت تنظیم بودن موقعیت بیت چاپ نمی‌شود. این ویژگی برای مجاز ساختن رزرو بیت‌های اولیه در حین تخصیص بیت‌های پایانی است. پرچم 1 بیت را در هر دو حالت تنظیم‌شده یا تنظیم‌نشده چاپ می‌کند. .It Ic int16 یک عدد صحیح ۱۶ بیتی علامت‌دار، ۲ بایت. .It Ic uint16 یک عدد صحیح ۱۶ بیتی بدون علامت، ۲ بایت. .It Ic int32 یک عدد صحیح ۳۲ بیتی علامت‌دار، ۴ بایت. .It Ic uint32 یک عدد صحیح ۳۲ بیتی بدون علامت، ۴ بایت. .It Ic flag یک مقدار ثابت (1) برای نشان دادن حضور گزینه، ۰ بایت. .It Ic domain یک رشته کدگذاری‌شده طبق RFC 3397. .It Ic dname یک رشته اعتبارسنجی‌شده طبق RFC 1035. .It Ic uri در صورت آرایه بودن، دو بایت اول طول URI در داده‌های گزینه است. در غیر این صورت، کل داده‌های گزینه همان URI است. از آنجا که فاصله در کدگذاری URI مجاز نیست، URIها با فاصله از یکدیگر جدا می‌شوند. .It Ic binhex Op : Ic length داده‌های باینری که به صورت هگزادسیمال بیان شده‌اند. .It Ic embed شامل گزینه‌های تعبیه‌شده (حاکی از encap نیز هست). .It Ic encap شامل گزینه‌های کپسوله‌شده (حاکی از embed نیز هست). .It Ic option به گزینه‌ای از تعاریف سراسری ارجاع می‌دهد. .El .Ss "تعریف نمونه (Example definition)" .D1 # DHCP option 81, Fully Qualified Domain Name, RFC 4702 .D1 define 81 embed fqdn .D1 embed byte flags .D1 embed byte rcode1 .D1 embed byte rcode2 .D1 embed domain fqdn .Pp .D1 # DHCP option 125, Vendor Specific Information Option, RFC 3925 .D1 define 125 encap vsio .D1 embed uint32 enterprise_number .D1 # Options defined for the enterprise number .D1 encap 1 ipaddress ipaddress .Ss "پروتکل‌های احراز هویت پشتیبانی‌شده (Supported Authentication Protocols)" .Bl -tag -width -indent .It Ic token توکن متن ساده‌ای را که سرور انتظار دارد ارسال کرده و با توکن ارسالی از سوی سرور مطابقت می‌دهد. الزامی نیست که توکن‌ها یکسان باشند. در صورت عدم تعیین، توکن با .Ar secretid برابر ۰ در ارسال پیام‌ها و اعتبارسنجی پیام‌های دریافتی استفاده خواهد شد. .It Ic delayedrealm احراز هویت با تأخیر (Delayed Authentication). .Nm dhcpcd یک گزینه احراز هویت بدون کلید یا MAC ارسال می‌کند. سرور این گزینه را مشاهده کرده و کلیدی را برای .Nm انتخاب می‌کند و .Ar realm و .Ar secretid را در آن می‌نویسد. سپس .Nm dhcpcd به دنبال یک توکن منقضی‌نشده با .Ar realm و .Ar secretid مطابق می‌گردد. این توکن برای احراز هویت سایر پیام‌ها استفاده می‌شود. .It Ic delayed مشابه حالت بالا، اما بدون حوزه (realm). .El .Ss "الگوریتم‌های احراز هویت پشتیبانی‌شده (Supported Authentication Algorithms)" در صورت عدم تعیین، .Ic hmac-md5 حالت پیش‌فرض است. .Bl -tag -width -indent .It Ic hmac-md5 .El .Ss "سازوکارهای شناسایی تکرار پشتیبانی‌شده (Supported Replay Detection Mechanisms)" در صورت عدم تعیین، .Ic monotonic حالت پیش‌فرض است. اگر این مقدار نسبت به آنچه قبلاً استفاده می‌شد تغییر کند، یا روش محاسبه و ذخیره‌سازی آن دچار اختلال شود، احتمالاً سرور DHCP باید درک خود از مقدار شناسایی تکرار (Replay Detection Value) کلاینت را بازنشانی کند. .Bl -tag -width -indent .It Ic monocounter عدد موجود در پرونده .Pa /var/lib/dhcpcd/dhcpcd-rdm.monotonic را خوانده و یکی به آن اضافه می‌کند. .It Ic monotime یک برچسب زمانی NTP از زمان سیستم ایجاد می‌کند. .It Ic monotonic مشابه .Ic monotime است. .El .Sh "همچنین ببینید (SEE ALSO)" .Xr fnmatch 3 , .Xr if_nametoindex 3 , .Xr dhcpcd 8 , .Xr dhcpcd-run-hooks 8 .Sh "نویسندگان (AUTHORS)" .An Roy Marples Aq Mt roy@marples.name .Sh "گزارش باگ‌ها (BUGS)" لطفاً آن‌ها را به .Lk https://roy.marples.name/projects/dhcpcd گزارش دهید.