.\" 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 5, 2026 .Dt DHCPCD 8 .Os .Sh "نام (NAME)" .Nm dhcpcd .Nd یک کلاینت DHCP .Sh "خلاصه دستور (SYNOPSIS)" .Nm dhcpcd .Op Fl 146ABbDdEGgHJKLMNPpqTV .Op Fl C , Fl Fl nohook Ar hook .Op Fl c , Fl Fl script Ar script .Op Fl e , Fl Fl env Ar value .Op Fl F , Fl Fl fqdn Ar FQDN .Op Fl f , Fl Fl config Ar file .Op Fl h , Fl Fl hostname Ar hostname .Op Fl I , Fl Fl clientid Ar clientid .Op Fl i , Fl Fl vendorclassid Ar vendorclassid .Op Fl j , Fl Fl logfile Ar logfile .Op Fl l , Fl Fl leasetime Ar seconds .Op Fl m , Fl Fl metric Ar metric .Op Fl O , Fl Fl nooption Ar option .Op Fl o , Fl Fl option Ar option .Op Fl Q , Fl Fl require Ar option .Op Fl r , Fl Fl request Ar address .Op Fl S , Fl Fl static Ar value .Op Fl s , Fl Fl inform Ar address Ns Op Ar /cidr Ns Op Ar /broadcast_address .Op Fl Fl inform6 .Op Fl t , Fl Fl timeout Ar seconds .Op Fl u , Fl Fl userclass Ar class .Op Fl v , Fl Fl vendor Ar code , Ar value .Op Fl W , Fl Fl whitelist Ar address Ns Op Ar /cidr .Op Fl w .Op Fl Fl waitip Ns = Ns Op 4 | 6 .Op Fl y , Fl Fl reboot Ar seconds .Op Fl X , Fl Fl blacklist Ar address Ns Op Ar /cidr .Op Fl Z , Fl Fl denyinterfaces Ar pattern .Op Fl z , Fl Fl allowinterfaces Ar pattern .Op Fl Fl inactive .Op Fl Fl configure .Op Fl Fl noconfigure .Op interface .Op ... .Nm dhcpcd .Fl n , Fl Fl rebind .Op interface .Nm dhcpcd .Fl k , Fl Fl release .Op interface .Nm dhcpcd .Fl U , Fl Fl dumplease .Op Ar interface .Nm dhcpcd .Fl Fl version .Nm dhcpcd .Fl x , Fl Fl exit .Op interface .Sh "توضیحات (DESCRIPTION)" .Nm dhcpcd یک پیاده‌سازی از کلاینت DHCP مشخص‌شده در .Li RFC 2131 است. .Nm dhcpcd اطلاعات میزبان .Po آدرس IP، مسیرها و غیره .Pc را از یک سرور DHCP دریافت کرده و .Ar interface شبکه دستگاهی را که روی آن در حال اجرا است پیکربندی می‌کند. سپس .Nm dhcpcd اسکریپت پیکربندی را اجرا می‌کند که اطلاعات DNS را در صورت در دسترس بودن در .Xr resolvconf 8 و در غیر این صورت مستقیماً در .Pa /etc/resolv.conf می‌نویسد. اگر نام میزبان در حال حاضر خالی، (null) یا localhost باشد، یا مقدار .Va force_hostname برابر با YES یا TRUE یا 1 باشد، آن‌گاه .Nm dhcpcd نام میزبان را روی نام ارائه‌شده توسط سرور DHCP تنظیم می‌کند. سپس .Nm dhcpcd به عنوان دیمن در پس‌زمینه قرار می‌گیرد و منتظر سپری شدن زمان تمدید اجاره می‌ماند. هنگامی که زمان اجاره رو به پایان است یا سرور DHCP پیامی برای تمدید زودهنگام ارسال می‌کند، در صورت تغییر اجاره جدید، تلاش خواهد کرد تا اجاره خود را تمدید کرده و مجدداً پیکربندی کند. .Pp اگر هر رابطی سیگنال حامل (carrier) فعال گزارش دهد، .Nm dhcpcd تلاش می‌کند تا پیش از رفتن به پس‌زمینه یک اجاره به دست آورد، در غیر این صورت بلافاصله به پس‌زمینه منتقل می‌شود. این رفتار را می‌توان با گزینه‌های .Fl b , Fl Fl background و .Fl w , Fl Fl waitip تغییر داد. .Pp .Nm dhcpcd همچنین یک پیاده‌سازی از کلاینت BOOTP مشخص‌شده در .Li RFC 951 است. .Pp .Nm dhcpcd همچنین یک پیاده‌سازی از درخواست‌کننده مسیریاب IPv6 (Router Solicitor) مشخص‌شده در .Li RFC 4861 و .Li RFC 6106 است. .Pp .Nm dhcpcd همچنین یک پیاده‌سازی از افزونه‌های حریم خصوصی IPv6 برای AutoConf مشخص‌شده در .Li RFC 4941 است. این ویژگی باید در هسته فعال شود تا .Nm dhcpcd شروع به استفاده از آن کند. .Pp .Nm dhcpcd همچنین یک پیاده‌سازی از کلاینت DHCPv6 مشخص‌شده در .Li RFC 3315 است. به‌طور پیش‌فرض، .Nm dhcpcd فقط زمانی DHCPv6 را آغاز می‌کند که توسط یک اعلان مسیریاب IPv6 دستور داده شده باشد. اگر هیچ «انجمن هویت» (Identity Association) پیکربندی نشده باشد، یک «آدرس غیرموقت» (Non-temporary Address) درخواست می‌شود. .Ss "پیکربندی پیوند محلی (Local Link configuration)" اگر .Nm dhcpcd نتواند اجاره‌ای به دست آورد، برای یک آدرس معتبر IPv4LL .Po معروف به ZeroConf یا APIPA .Pc پویش (probe) انجام می‌دهد. پس از دریافت آن، فرایند جستجو برای سرور DHCP را مجدداً آغاز می‌کند تا یک آدرس مناسب به دست آورد. .Pp هنگام استفاده از IPv4LL، .Nm dhcpcd تقریباً همیشه با موفقیت عمل کرده و کد خروج 0 را برمی‌گرداند. در موارد نادری که با شکست مواجه می‌شود، معمولاً به این معنی است که یک پروکسی معکوس ARP نصب شده که همیشه پویش IPv4LL را خنثی می‌کند. برای غیرفعال کردن این رفتار، می‌توانید از گزینه .Fl L , Fl Fl noipv4ll استفاده کنید. .Ss "چندین رابط (Multiple interfaces)" اگر فهرستی از رابط‌ها در خط فرمان داده شود، .Nm dhcpcd فقط با همان رابط‌ها کار می‌کند، در غیر این صورت .Nm dhcpcd رابط‌های اترنت موجود را که قابل پیکربندی باشند شناسایی می‌کند. هنگامی که .Nm dhcpcd در خط فرمان به یک رابط محدود نشده باشد، در حالت مدیر (Manager mode) اجرا می‌شود. پروژه .Nm dhcpcd-ui انتظار دارد dhcpcd به این صورت اجرا شود. .Pp اگر یک رابط تکی مشخص شود، .Nm dhcpcd فقط برای همان رابط کار می‌کند و به عنوان یک نمونه مجزا از سایر فرایندهای .Nm dhcpcd اجرا می‌شود. گزینه .Fl w , Fl Fl waitip در این حالت برای حفظ سازگاری با نسخه‌های قدیمی‌تر فعال است. استفاده از یک رابط تکی (که اختیاری می‌تواند به یک پروتکل آدرس‌دهی نیز محدود شود)، بر گزینه‌های .Fl k ، .Fl N ، .Fl n و .Fl x نیز تأثیر می‌گذارد، به‌طوری که همان رابط و هر پروتکل آدرس‌دهی باید مشخص شوند، زیرا عدم تعیین رابط به معنای حالت مدیر خواهد بود که در اینجا چنین نیست. برای اجبار به شروع در حالت مدیر تنها با یک رابط، می‌توان از گزینه .Fl M , Fl Fl manager استفاده کرد. .Pp اولویت رابط‌ها بر اساس سیگنال حامل (carrier)، اجاره DHCP / آدرس IPv4LL و سپس کمترین متریک (metric) تعیین می‌شود. برای سیستم‌هایی که از متریک مسیر پشتیبانی می‌کنند، هر مسیر با متریک برچسب‌گذاری می‌شود، در غیر این صورت .Nm dhcpcd مسیرها را طوری تغییر می‌دهد که از رابط با همان مسیر و کمترین متریک استفاده کنند. گزینه‌های زیر را برای کنترل این‌که کدام رابط‌ها را با استفاده از الگوها مجاز یا مسدود کنیم ببینید. .Pp رابط‌های غیراترنتی و برخی رابط‌های اترنت مجازی مانند TAP و پل (bridge) به‌طور پیش‌فرض نادیده گرفته می‌شوند، همان‌طور که رابط FireWire نادیده گرفته می‌شود. برای کار با این دستگاه‌ها، یا باید در خط فرمان مشخص شوند، یا در .Fl Fl allowinterfaces فهرست شوند، یا دستورالعمل interface در .Pa /etc/dhcpcd.conf داشته باشند. .Ss "قلاب‌کردن به رویدادها (Hooking into events)" .Nm dhcpcd اسکریپت .Pa /usr/lib/dhcpcd/dhcpcd-run-hooks یا اسکریپت مشخص‌شده توسط گزینه .Fl c , Fl Fl script را اجرا می‌کند. این اسکریپت تمام اسکریپت‌های موجود در .Pa /usr/lib/dhcpcd/dhcpcd-hooks را به ترتیب لغوی (lexical order) اجرا می‌کند. نصب پیش‌فرض اسکریپت‌های .Pa 01-test ، .Pa 20-resolv.conf و .Pa 30-hostname را فراهم می‌کند. می‌توانید با استفاده از گزینه .Fl C , Fl Fl nohook هر اسکریپت را غیرفعال کنید. برای جزئیات در مورد نحوه کار این اسکریپت‌ها، .Xr dhcpcd-run-hooks 8 را ببینید. .Nm dhcpcd در حال حاضر کد خروج اسکریپت را نادیده می‌گیرد. .Pp اسکریپت‌های بیشتری در .Pa /usr/share/dhcpcd/hooks ارائه شده است و در صورت تمایل به استفاده از آن‌ها باید به .Pa /usr/lib/dhcpcd/dhcpcd-hooks کپی شوند. به عنوان مثال، می‌توانید .Pa 29-lookup-hostname را نصب کنید تا در صورتی که هیچ نام میزبانی توسط اجاره داده نشده و قبلاً نامی تنظیم نشده باشد، .Nm dhcpcd بتواند نام میزبان مربوط به آدرس IP را از طریق DNS جستجو کند. .Ss "تنظیم دقیق (Fine tuning)" می‌توانید رفتار .Nm dhcpcd را با گزینه‌های زیر تنظیم دقیق کنید: .Bl -tag -width indent .It Fl b , Fl Fl background رفتن فوری به پس‌زمینه. این گزینه برای اسکریپت‌های راه‌اندازی که پیام‌های وضعیت اتصال فیزیکی (carrier) را غیرفعال نمی‌کنند مفید است. .It Fl c , Fl Fl script Ar script استفاده از این .Ar script به جای اسکریپت پیش‌فرض .Pa /usr/lib/dhcpcd/dhcpcd-run-hooks . .It Fl D , Fl Fl duid Op Ar ll | lt | uuid | value استفاده از یک شناسه منحصر‌به‌فرد DHCP (موسوم به DUID). اگر ذخیره‌سازی ماندگار در دسترس باشد، یک DUID-LLT (آدرس محلی پیوند + زمان) تولید می‌شود، در غیر این صورت DUID-LL (آدرس محلی پیوند) ایجاد می‌گردد. در صورتی که فایل .Pa /var/lib/dhcpcd/duid وجود نداشته باشد، می‌توان نوع DUID را به عنوان یک پارامتر اختیاری پیشنهاد داد. اگر مقدار .Va ll ، .Va lt یا .Va uuid نباشد، آن‌گاه .Va value از قالب 00:11:22:33 تبدیل خواهد شد. این مقدار به همراه IAID به عنوان .Fl I , Fl Fl clientid استفاده خواهد شد. شناسه DUID تولیدشده در فایل .Pa /var/lib/dhcpcd/duid نگهداری می‌شود و نباید در میزبان‌های دیگر کپی شود. این فایل همچنین بر قواعد فوق تقدم دارد مگر زمانی که مقداری به‌طور مستقیم تنظیم شود. .It Fl d , Fl Fl debug نمایش پیام‌های اشکال‌زدایی در stderr و syslog. .It Fl E , Fl Fl lastlease اگر .Nm dhcpcd نتواند اجاره‌ای دریافت کند، تلاش می‌کند از آخرین اجاره کسب‌شده برای رابط استفاده کند. .It Fl Fl lastleaseextend مشابه گزینه فوق، اما اجاره حتی در صورت انقضا حفظ خواهد شد. اگر میزبان دیگری از طریق ARP ادعای مالکیت آن را کند، .Nm dhcpcd آن را واگذار خواهد کرد. این امر با بخش 3.7 استاندارد RFC 2131 که بیان می‌کند اجاره پس از انقضا باید رها شود مغایرت دارد. .It Fl e , Fl Fl env Ar value ارسال .Ar value به محیط جهت استفاده در .Xr dhcpcd-run-hooks 8 . به عنوان مثال، می‌توانید قلاب نام میزبان را مجبور کنید که همیشه نام میزبان را با .Fl e .Va force_hostname=YES تنظیم کند. .It Fl g , Fl Fl reconfigure .Nm dhcpcd مجدداً آدرس IP و مسیریابی را اعمال کرده و .Xr dhcpcd-run-hooks 8 را برای هر رابط اجرا می‌کند. این مورد زمانی مفید است که یک برنامه شخص ثالث مانند PPP یا VPN جدول مسیریابی و/یا DNS و غیره را تغییر داده و سپس به .Nm dhcpcd دستور دهد که بعد از آن وضعیت را به حالت قبل بازگرداند. در این حالت .Nm dhcpcd پیکربندی جدید را بازخوانی نمی‌کند - اگر به این قابلیت نیاز دارید باید از rebind استفاده کنید. .It Fl F , Fl Fl fqdn Ar fqdn درخواست از سرور DHCP برای به‌روزرسانی DNS با استفاده از FQDN به جای یک نام میزبان ساده. مقادیر معتبر برای .Ar fqdn عبارتند از disable، none، ptr و both. خود .Nm dhcpcd هرگز به‌روزرسانی DNS انجام نمی‌دهد. .Nm dhcpcd نام میزبان FQDN را همان‌طور که در .Li RFC 1035 مشخص شده کدگذاری می‌کند. .It Fl f , Fl Fl config Ar file مشخص کردن یک فایل پیکربندی برای بارگذاری به جای .Pa /etc/dhcpcd.conf . .Nm dhcpcd همیشه فایل پیکربندی را قبل از هرگونه گزینه خط فرمان پردازش می‌کند. .It Fl h , Fl Fl hostname Ar hostname ارسال .Ar hostname به سرور DHCP تا بتواند در DNS ثبت شود. اگر .Ar hostname یک رشته خالی باشد، نام میزبان فعلی سیستم ارسال می‌شود. اگر .Ar hostname یک FQDN باشد (یعنی حاوی یک نقطه . باشد)، به همین صورت کدگذاری خواهد شد. .It Fl I , Fl Fl clientid Ar clientid ارسال .Ar clientid . اگر رشته به قالب 01:02:03 باشد، به صورت هگزادسیمال کدگذاری می‌شود. برای رابط‌هایی که آدرس سخت‌افزاری آن‌ها طولانی‌تر از ۸ بایت است، یا اگر .Ar clientid یک رشته خالی باشد، .Nm dhcpcd یک .Ar clientid پیش‌فرض متشکل از خانواده سخت‌افزار و آدرس سخت‌افزاری ارسال می‌کند. .It Fl i , Fl Fl vendorclassid Ar vendorclassid بازنویسی فیلد ارسالی .Ar vendorclassid مربوط به DHCPv4. مقدار پیش‌فرض dhcpcd-::: است؛ برای مثال: .D1 dhcpcd-5.5.6:NetBSD-6.99.5:i386:i386 در صورت تنظیم نشدن، هیچ مقداری ارسال نمی‌شود. برخی سرورهای DHCP با پیکربندی نامناسب، vendorclassidهای ناشناخته را رد می‌کنند. برای دور زدن این مشکل، می‌توانید با استفاده از vendorclassid مربوط به MSFT خود را به عنوان ویندوز جا بزنید. .It Fl j , Fl Fl logfile Ar logfile نوشتن در .Ar logfile مشخص‌شده. .Nm dhcpcd همچنان در .Xr syslog 3 نیز می‌نویسد. هنگامی که .Nm dhcpcd سیگنال .Dv SIGUSR2 را دریافت کند، .Ar logfile مجدداً باز می‌شود. .It Fl k , Fl Fl release Op Ar interface باعث می‌شود که فرایند موجود .Nm dhcpcd در حال اجرا روی .Ar interface اجاره خود را آزاد کرده و .Ar interface را بدون توجه به گزینه .Fl p , Fl Fl persistent لغو پیکربندی کند. اگر هیچ .Ar interface مشخص نشده باشد، این دستور برای تمام رابط‌ها در حالت مدیر اعمال می‌شود. اگر هیچ رابط فعالی باقی نماند، .Nm dhcpcd خارج خواهد شد. .It Fl l , Fl Fl leasetime Ar seconds درخواست زمان اجاره به میزان .Ar seconds ثانیه. مقدار .Ar -1 نشان‌دهنده زمان اجاره نامحدود است. به‌طور پیش‌فرض .Nm dhcpcd هیچ زمان اجاره‌ای درخواست نمی‌کند و آن را به سرور DHCP واگذار می‌نماید. .It Fl M , Fl Fl manager اجرای .Nm dhcpcd در حالت مدیر حتی اگر تنها یک رابط در خط فرمان مشخص شده باشد. بخش «چندین رابط» در بالا را ببینید. .It Fl m , Fl Fl metric Ar metric متریک‌ها برای ترجیح دادن یک رابط بر رابط دیگر استفاده می‌شوند؛ کمترین مقدار برنده است. .Nm dhcpcd یک متریک پیش‌فرض معادل 1000 + .Xr if_nametoindex 3 ارائه می‌دهد. این مقدار برای رابط‌های بی‌سیم ۲۰۰۰ واحد افزایش می‌یابد، به همراه افزایش‌های اضافی ۱۰۰۰۰۰۰ برای IPv4LL و ۲۰۰۰۰۰۰ برای رابط‌های رومینگ (roaming). .It Fl n , Fl Fl rebind Op Ar interface به .Nm dhcpcd اطلاع می‌دهد که پیکربندی خود را مجدداً بارگذاری کرده و .Ar interface مشخص‌شده را دوباره متصل (rebind) کند. اگر هیچ .Ar interface مشخص نشود، برای تمام رابط‌ها در حالت مدیر اعمال می‌شود. اگر .Nm dhcpcd در حال اجرا نباشد، به صورت عادی راه‌اندازی می‌شود. .It Fl N , Fl Fl renew Op Ar interface به .Nm dhcpcd اطلاع می‌دهد که آدرس‌های موجود روی .Ar interface مشخص‌شده را تمدید (renew) کند. اگر هیچ .Ar interface مشخص نشود، برای تمام رابط‌ها در حالت مدیر اعمال می‌شود. اگر .Nm dhcpcd در حال اجرا نباشد، به صورت عادی راه‌اندازی می‌شود. برخلاف گزینه .Fl n , Fl Fl rebind در بالا، پیکربندی .Nm dhcpcd مجدداً بارگذاری نمی‌شود. .It Fl o , Fl Fl option Ar option درخواست متغیر .Ar option مربوط به DHCP جهت استفاده در .Pa /usr/lib/dhcpcd/dhcpcd-run-hooks . .It Fl p , Fl Fl persistent .Nm dhcpcd هنگام خروج، .Ar interface را از حالت پیکربندی خارج می‌کند، مگر اینکه این گزینه فعال باشد. گاهی اوقات این رفتار مطلوب نیست؛ برای مثال هنگامی که دایرکتوری ریشه از طریق NFS سوار شده است یا کلاینت‌های SSH به این میزبان متصل هستند و لازم است پیش از خاموش شدن میزبان مطلع شوند. می‌توانید از این گزینه برای جلوگیری از وقوع این وضعیت استفاده کنید. .It Fl r , Fl Fl request Ar address درخواست .Ar address در پیام DHCP DISCOVER. هیچ تضمینی وجود ندارد که این آدرس همان آدرسی باشد که سرور DHCP در واقع اختصاص می‌دهد. اگر هیچ .Ar address داده نشود، از اولین آدرسی که در حال حاضر به .Ar interface اختصاص یافته است استفاده می‌شود. .It Fl s , Fl Fl inform Ar address Ns Op Ar /cidr Ns Op Ar /broadcast_address مانند .Fl r , Fl Fl request در بالا عمل می‌کند، اما به جای DISCOVER/REQUEST یک پیام DHCP INFORM ارسال می‌نماید. این دستور اجاره دریافت نمی‌کند، بلکه فقط سرور DHCP را از .Ar address در حال استفاده مطلع می‌سازد. همچنین باید شماره شبکه اختیاری .Ar cidr را نیز در صورتی که آدرس از قبل روی رابط پیکربندی نشده است، درج کنید. .Nm dhcpcd در حال اجرا باقی می‌ماند و وانمود می‌کند که اجاره‌ای نامحدود دارد. .Nm dhcpcd هنگام خروج، رابط را از حالت پیکربندی خارج نخواهد کرد. اگر .Nm dhcpcd نتواند با یک سرور DHCP تماس برقرار کند، به جای بازگشت به IPv4LL، یک خطا برمی‌گرداند. .It Fl Fl inform6 یک «درخواست اطلاعات» (Information Request) در DHCPv6 انجام می‌دهد. هیچ آدرسی درخواست یا مشخص نمی‌شود، اما تمام گزینه‌های دیگر DHCPv6 مجاز هستند. این عملیات معمولاً زمانی به‌طور خودکار انجام می‌شود که اعلان مسیریاب IPv6 اعلام کند کلاینت باید این عملیات را انجام دهد. این گزینه تنها زمانی لازم است که .Nm dhcpcd پیام‌های IPv6RA را پردازش نمی‌کند و نیاز به درخواست اطلاعات DHCPv6 وجود دارد. .It Fl S , Fl Fl static Ar value یک .Ar value ایستا برای DHCP پیکربندی می‌کند. اگر .Ic ip_address را تنظیم کنید، .Nm dhcpcd تلاشی برای دریافت اجاره نخواهد کرد و فقط از مقدار مربوطه برای آدرس با زمان اجاره نامحدود استفاده می‌کند. .Pp در اینجا مثالی آورده شده است که یک آدرس ایستا، مسیرها و DNS را پیکربندی می‌کند: .D1 dhcpcd -S ip_address=192.168.0.10/24 \e .D1 -S routers=192.168.0.1 \e .D1 -S domain_name_servers=192.168.0.1 \e .D1 eth0 .Pp در حال حاضر نمی‌توانید مقادیر ایستای DHCPv6 را تنظیم کنید. به جای آن از گزینه .Fl e , Fl Fl env استفاده نمایید. .It Fl t , Fl Fl timeout Ar seconds پایان مهلت زمانی پس از .Ar seconds ثانیه، به جای مقدار پیش‌فرض ۳۰ ثانیه. در صورت پایان مهلت زمانی، اگر گزینه .Fl 1 ، .Fl Fl oneshot داده شده باشد، .Nm dhcpcd خارج خواهد شد، در غیر این صورت به پس‌زمینه منتقل شده و به تلاش خود ادامه می‌دهد. تنظیم مقدار 0 .Ar seconds باعث می‌شود که .Nm dhcpcd برای دریافت اجاره به مدت نامحدود منتظر بماند. .It Fl u , Fl Fl userclass Ar class پیام DHCPv4 را با کلاس کاربر .Ar class برچسب‌گذاری می‌کند. سرورهای DHCP از این ویژگی برای ارائه گزینه‌های DHCP غیر از پیش‌فرض به اعضای این کلاس استفاده می‌کنند، بدون اینکه نیازی به دانستن مواردی مانند آدرس سخت‌افزاری یا نام میزبان داشته باشند. .It Fl v , Fl Fl vendor Ar code , Ns Ar value افزودن یک گزینه اختصاصی سازنده (vendor option) کپسوله‌شده. .Ar code باید بین ۱ تا ۲۵۴ باشد. برای افزودن یک رشته خام سازنده، .Ar code را حذف کنید اما کاما را نگه دارید. مثال‌ها: .Pp تنظیم گزینه سازنده 01 با یک آدرس IP: .D1 dhcpcd \-v 01,192.168.0.2 eth0 تنظیم گزینه سازنده 02 با یک کد هگزادسیمال: .D1 dhcpcd \-v 02,01:02:03:04:05 eth0 تنظیم گزینه سازنده 03 با یک آدرس IP به صورت رشته: .D1 dhcpcd \-v 03,\e"192.168.0.2\e" eth0 تنظیم گزینه سازنده غیرکپسوله‌شده روی hello world: .D1 dhcpcd \-v ,"hello world" eth0 .It Fl Fl version نمایش نسخه برنامه و اطلاعات حق نشر. سپس .Nm dhcpcd پیش از انجام هرگونه پیکربندی خارج می‌شود. .It Fl w انتظار برای اختصاص آدرس پیش از رفتن به پس‌زمینه. برخلاف گزینه زیر آرگومانی نمی‌پذیرد. .It Fl Fl waitip Ns = Ns Op 4 | 6 انتظار برای اختصاص آدرس پیش از رفتن به پس‌زمینه. 4 به معنای انتظار برای تخصیص آدرس IPv4 است. 6 به معنای انتظار برای تخصیص آدرس IPv6 است. اگر آرگومانی داده نشود، .Nm dhcpcd منتظر اختصاص هر پروتکل آدرسی خواهد ماند. امکان انتظار برای بیش از یک پروتکل آدرس وجود دارد و .Nm dhcpcd تنها زمانی به پس‌زمینه می‌رود که تمام شرایط انتظار برآورده شده باشند. .It Fl x , Fl Fl exit Op Ar interface به یک فرایند موجود .Nm dhcpcd در حال اجرا روی .Ar interface سیگنال خروج ارسال می‌کند. اگر هیچ .Ar interface مشخص نشده باشد، مورد فوق برای تمام رابط‌ها در حالت مدیر اعمال می‌شود. گزینه .Fl p , Fl Fl persistent را برای کنترل ماندگاری پیکربندی در هنگام خروج بررسی کنید که به‌طور پیش‌فرض در .Xr dhcpcd.conf 5 فعال است. سپس .Nm dhcpcd تا زمانی که این فرایند خارج شود منتظر می‌ماند. .It Fl y , Fl Fl reboot Ar seconds اختصاص .Ar reboot ثانیه پیش از رفتن به مرحله discover در صورتی که یک اجاره قدیمی برای استفاده داشته باشیم. اختصاص .Ar reboot ثانیه پیش از شروع حالت‌های بازگشت به پشتیبان (fallback) از مرحله discover. پروتکل IPv4LL زمانی شروع می‌شود که اولین مهلت زمانی .Ar reboot فرا برسد. مقدار پیش‌فرض ۵ ثانیه است. تنظیم 0 ثانیه باعث می‌شود .Nm dhcpcd از مرحله reboot صرف‌نظر کرده و مستقیماً وارد مرحله discover شود. این گزینه هیچ تأثیری بر DHCPv6 به جز صرف‌نظر کردن از مرحله reboot ندارد. .El .Ss "محدود کردن رفتار (Restricting behaviour)" .Nm dhcpcd به‌طور پیش‌فرض تلاش می‌کند تا حد امکان اقدامات لازم را انجام دهد. با این حال، گاهی شرایطی پیش می‌آید که مایل نیستید موارد دقیقاً مطابق خواست سرور DHCP پیکربندی شوند. در ادامه گزینه‌هایی برای غیرفعال کردن این بخش‌ها آورده شده است. .Pp توجه داشته باشید که وقتی .Nm dhcpcd به یک رابط تکی محدود می‌شود، هنگام درخواست خروج از .Nm dhcpcd از طریق خط فرمان نیز باید همان رابط مشخص شود. اگر پروتکل نیز محدود شده باشد، باید پروتکل را نیز در دستور خروج درج کرد. .Bl -tag -width indent .It Fl 1 , Fl Fl oneshot خروج پس از پیکربندی رابط. از گزینه .Fl w , Fl Fl waitip برای تعیین پروتکل(هایی) که باید قبل از خروج پیکربندی شوند استفاده کنید. .It Fl 4 , Fl Fl ipv4only فقط پیکربندی IPv4. .It Fl 6 , Fl Fl ipv6only فقط پیکربندی IPv6. .It Fl A , Fl Fl noarp عدم درخواست یا ادعای آدرس از طریق ARP. این مورد همچنین IPv4LL را غیرفعال می‌کند. .It Fl B , Fl Fl nobackground عدم اجرا در پس‌زمینه پس از به دست آوردن اجاره. این گزینه عمدتاً برای اجرا تحت کنترل یک فرایند دیگر مانند یک اشکال‌زدا (debugger) یا یک مدیر شبکه (network manager) مفید است. .It Fl C , Fl Fl nohook Ar script عدم اجرای این اسکریپت قلاب. با نام کامل یا نامی که با ۲ رقم پیشوند دارد و به دلخواه به .Pa .sh ختم می‌شود تطبیق داده می‌شود. .Pp بنابراین برای جلوگیری از دستکاری تنظیمات DNS توسط .Nm dhcpcd می‌توانید دستور زیر را اجرا کنید: .D1 dhcpcd -C resolv.conf eth0 .It Fl G , Fl Fl nogateway عدم تنظیم هیچ‌گونه مسیر پیش‌فرض (default routes). .It Fl H , Fl Fl xidhwaddr استفاده از چهار بایت آخر آدرس سخت‌افزاری به عنوان DHCP xid به جای یک عدد تصادفی تولیدشده. .It Fl J , Fl Fl broadcast دستور به سرور DHCP برای ارسال پاسخ‌ها به صورت پخش همگانی (broadcast) به کلاینت. معمولاً این گزینه فقط برای رابط‌های غیراترنتی مانند FireWire و InfiniBand تنظیم می‌شود. در بیشتر موارد، .Nm dhcpcd این گزینه را به‌طور خودکار تنظیم خواهد کرد. .It Fl K , Fl Fl nolink عدم دریافت پیام‌های پیوند برای وضعیت حامل (carrier status). تنها در صورت مواجهه با درایورهای سخت‌افزاری دارای اشکال یا هنگام اجرای .Nm dhcpcd از طریق یک مدیر شبکه باید از این گزینه استفاده کنید. .It Fl L , Fl Fl noipv4ll عدم استفاده از IPv4LL (معروف به APIPA، Bonjour یا ZeroConf). .It Fl O , Fl Fl nooption Ar option حذف .Ar option از پیام DHCP پیش از پردازش. .It Fl P , Fl Fl printpidfile چاپ .Pa pidfile مورد استفاده توسط .Nm dhcpcd بر اساس آرگومان‌های خط فرمان در خروجی استاندارد. .It Fl Q , Fl Fl require Ar option الزام به وجود .Ar option در تمام پیام‌های DHCP؛ در غیر این صورت پیام نادیده گرفته می‌شود. برای الزام .Nm dhcpcd به پاسخ‌دهی تنها به سرورهای DHCP و نه سرورهای BOOTP، می‌توانید از .Fl Q .Ar dhcp_message_type استفاده کنید. .It Fl q , Fl Fl quiet حالت بی‌صدا برای .Nm dhcpcd در خط فرمان؛ فقط هشدارها و خطاها نمایش داده می‌شوند. اگر این گزینه مجدداً استفاده شود، تمام خروجی‌های کنسول غیرفعال می‌شوند. این پیام‌ها همچنان از طریق .Xr syslog 3 ثبت می‌گردند. .It Fl T , Fl Fl test پس از دریافت پیام‌های DHCP فقط فراخوانی .Pa /usr/lib/dhcpcd/dhcpcd-run-hooks با دلیل TEST، که متغیرهای DHCP یافت‌شده در پیام را در کنسول نمایش می‌دهد. پیکربندی رابط و هیچ‌یک از فایل‌های پیکربندی دستکاری نمی‌شوند. گزینه .Ar rapid_commit در حالت TEST ارسال نمی‌شود تا سرور آدرسی را اجاره ندهد. برای آزمایش INFORM، رابط باید قبل از شروع .Nm dhcpcd با آدرس مورد نظر پیکربندی شده باشد. .It Fl U , Fl Fl dumplease Op Ar interface تخلیه (dump) اجاره فعلی برای .Ar interface در خروجی استاندارد. اگر هیچ .Ar interface مشخص نشده باشد، اجاره تمام رابط‌ها تخلیه می‌شود. از پرچم‌های .Fl 4 یا .Fl 6 برای تعیین خانواده آدرس استفاده کنید. اگر یک اجاره از طریق ورودی استاندارد منتقل (pipe) شود، از رابط ویژه با نام .Ar - برای تخلیه آن استفاده کنید. در این حالت، تعیین خانواده آدرس اجباری است. .It Fl V , Fl Fl variables نمایش فهرستی از کدهای گزینه، متغیرهای مرتبط و کدگذاری مربوطه جهت استفاده در .Xr dhcpcd-run-hooks 8 . متغیرها با new_ و old_ پیشوند می‌گیرند مگر اینکه شماره گزینه - باشد. متغیرهای بدون گزینه بخشی از پیام DHCP هستند و نمی‌توان آن‌ها را مستقیماً درخواست کرد. .It Fl W , Fl Fl whitelist Ar address Ns Op /cidr فقط پذیرش بسته‌ها از .Ar address Ns Op /cidr . در صورت تنظیم .Fl W , Fl Fl whitelist ، گزینه .Fl X , Fl Fl blacklist نادیده گرفته می‌شود. .It Fl X , Fl Fl blacklist Ar address Ns Op Ar /cidr نادیده گرفتن تمام بسته‌ها از .Ar address Ns Op Ar /cidr . .It Fl Z , Fl Fl denyinterfaces Ar pattern هنگام شناسایی رابط‌ها، نام رابط نباید با .Ar pattern تطبیق داشته باشد؛ این پارامتر فهرستی از الگوهای جداشده با فاصله یا کاما است که به .Xr fnmatch 3 ارسال می‌شود. .It Fl z , Fl Fl allowinterfaces Ar pattern هنگام شناسایی رابط‌ها، نام رابط باید با .Ar pattern تطبیق داشته باشد؛ این پارامتر فهرستی از الگوهای جداشده با فاصله یا کاما است که به .Xr fnmatch 3 ارسال می‌شود. اگر رابطی در .Fl Z , Fl Fl denyinterfaces نیز مطابقت داشته باشد، همچنان مسدود خواهد شد. .It Fl Fl inactive عدم راه‌اندازی رابط‌هایی غیر از موارد مشخص‌شده در خط فرمان. این قابلیت به .Nm dhcpcd امکان می‌دهد در حالت مدیر شروع شود و سپس منتظر دستورات بعدی .Nm dhcpcd بماند تا هر رابط را در صورت نیاز راه‌اندازی کند. .It Fl Fl configure اجازه به .Nm dhcpcd برای پیکربندی سیستم. این رفتار پیش‌فرض است و مقدار .Ev if_configured=true را تنظیم می‌کند. .It Fl Fl noconfigure .Nm dhcpcd به‌هیچ‌وجه سیستم را پیکربندی نخواهد کرد. این گزینه فقط زمانی مفید است که .Fl Fl script که توسط .Nm dhcpcd در هر رویداد شبکه فراخوانی می‌شود، در عوض سیستم را پیکربندی کند. این حالت با حالت .Fl T , Fl Fl test متفاوت است زیرا یک‌باره (one-shot) نیست و تنها تغییر در محیط، اضافه شدن .Ev if_configured=false است. .It Fl Fl nodev عدم بارگذاری هیچ‌یک از ماژول‌های مدیریت .Pa /dev . .El .Sh "مدیریت پیوند شخص ثالث (3RDPARTY LINK MANAGEMENT)" برخی رابط‌ها نیاز به پیکربندی توسط برنامه‌های شخص ثالث مانند PPP یا VPN دارند. هنگامی که پیکربندی یک رابط در .Nm dhcpcd به عنوان STATIC یا INFORM بدون آدرس علامت‌گذاری شده باشد، .Nm dhcpcd رابط را تا زمانی که آدرسی به آن افزوده یا از آن حذف شود تحت نظر می‌گیرد و مطابق آن عمل می‌کند. برای رابط‌های نقطه به نقطه (مانند PPP)، یک مسیر پیش‌فرض به مقصد آن به‌طور خودکار به پیکربندی اضافه می‌شود. اگر رابط نقطه به نقطه برای INFORM پیکربندی شده باشد، .Nm dhcpcd پیام INFORM را به صورت تک‌پخشی (unicast) به مقصد ارسال می‌کند، در غیر این صورت به حالت پیش‌فرض STATIC درمی‌آید. .Sh "نکات (NOTES)" .Nm dhcpcd برای تمام پیکربندی‌های IPv4 نیازمند دستگاه فیلتر بسته برکلی (BPF) در سیستم‌های مبتنی بر BSD و دستگاه فیلتر سوکت لینوکس (LPF) در سیستم‌های مبتنی بر لینوکس است. .Pp اگر .Nm dhcpcd را از طریق خط فرمان به یک رابط تکی و به دلخواه یک خانواده آدرس محدود کنید، تمام فراخوانی‌های بعدی به .Nm dhcpcd جهت اتصال مجدد (rebind)، پیکربندی مجدد یا خروج باید همان پرچم‌های محدودکننده را داشته باشند تا .Nm dhcpcd بداند به کدام فرایند سیگنال ارسال کند. .Pp برخی سرورهای DHCP فیلتر کردن ClientID را پیاده‌سازی می‌کنند. اگر .Nm dhcpcd جایگزین یک کلاینت DHCP در حال استفاده می‌شود، ممکن است لازم باشد گزینه clientid ارسالی توسط .Nm dhcpcd را برای مطابقت تنظیم کنید. در صورت استفاده از DUID به جای ClientID، فایل .Pa /var/lib/dhcpcd/duid را بر همین اساس ویرایش نمایید. .Sh "فایل‌ها (FILES)" .Bl -ohang .It Pa /etc/dhcpcd.conf فایل پیکربندی برای dhcpcd. اگر همیشه از گزینه‌های یکسانی استفاده می‌کنید، آن‌ها را در اینجا قرار دهید. .It Pa /usr/lib/dhcpcd/dhcpcd-run-hooks اسکریپت پوسته Bourne که برای پیکربندی یا لغو پیکربندی یک رابط اجرا می‌شود. .It Pa /usr/lib/dhcpcd/dev ماژول‌های مدیریت .Pa /dev در لینوکس. .It Pa /usr/lib/dhcpcd/dhcpcd-hooks دایرکتوری حاوی اسکریپت‌های پوسته Bourne که توسط اسکریپت فوق اجرا می‌شوند. هر اسکریپت را می‌توان با استفاده از گزینه .Fl C , Fl Fl nohook توضیح داده شده در بالا غیرفعال کرد. .It Pa /var/lib/dhcpcd/duid فایل متنی که حاوی DUID مورد استفاده برای شناسایی میزبان است. .It Pa /var/lib/dhcpcd/secret فایل متنی که حاوی یک کلید مخفی است که تنها برای میزبان شناخته شده است. .It Pa /var/lib/dhcpcd/ Ns Ar interface Ns Ar -ssid Ns .lease پیام واقعی DHCP که توسط سرور ارسال شده است. ما از این فایل هنگام خواندن آخرین اجاره استفاده می‌کنیم و mtime فایل را به عنوان زمان صدور آن در نظر می‌گیریم. .It Pa /var/lib/dhcpcd/ Ns Ar interface Ns Ar -ssid Ns .lease6 پیام واقعی DHCPv6 که توسط سرور ارسال شده است. ما از این فایل هنگام خواندن آخرین اجاره استفاده می‌کنیم و mtime فایل را به عنوان زمان صدور آن در نظر می‌گیریم. .It Pa /var/lib/dhcpcd/rdm_monotonic شمارنده یکنواخت (monotonic counter) مورد استفاده در فیلد .Ar replay در گزینه‌های احراز هویت را ذخیره می‌کند. .It Pa /run/dhcpcd/pid شناسه فرایند (PID) مربوط به .Nm dhcpcd در حال اجرا روی تمام رابط‌ها را ذخیره می‌کند. .It Pa /run/dhcpcd/ Ns Ar interface Ns .pid شناسه فرایند (PID) مربوط به .Nm dhcpcd در حال اجرا روی .Ar interface را ذخیره می‌کند. .It Pa /run/dhcpcd/sock سوکت کنترلی برای دیمن مدیر (manager daemon). .It Pa /run/dhcpcd/ Ns Ar interface Ns .sock سوکت کنترلی برای دیمن اختصاصی هر رابط. .El .Sh "همچنین ببینید (SEE ALSO)" .Xr fnmatch 3 , .Xr if_nametoindex 3 , .Xr dhcpcd.conf 5 , .Xr resolv.conf 5 , .Xr dhcpcd-run-hooks 8 , .Xr resolvconf 8 .Sh "استانداردها (STANDARDS)" RFC\ 951, RFC\ 1534, RFC\ 2104, RFC\ 2131, RFC\ 2132, RFC\ 2563, RFC\ 2855, RFC\ 3004, RFC\ 3118, RFC\ 3203, RFC\ 3315, RFC\ 3361, RFC\ 3633, RFC\ 3396, RFC\ 3397, RFC\ 3442, RFC\ 3495, RFC\ 3925, RFC\ 3927, RFC\ 4039, RFC\ 4075, RFC\ 4242, RFC\ 4361, RFC\ 4390, RFC\ 4702, RFC\ 4074, RFC\ 4861, RFC\ 4833, RFC\ 4941, RFC\ 5227, RFC\ 5942, RFC\ 5969, RFC\ 6106, RFC\ 6334, RFC\ 6355, RFC\ 6603, RFC\ 6704, RFC\ 7217, RFC\ 7550, RFC\ 7844. .Sh "نویسندگان (AUTHORS)" .An Roy Marples Aq Mt roy@marples.name .Sh "اشکالات (BUGS)" لطفاً آن‌ها را به .Lk https://roy.marples.name/projects/dhcpcd گزارش دهید.