dhcping(8) General Commands Manual dhcping(8)

dhcping - ابزار ارسال درخواست DHCP برای بررسی عملکرد سرور

dhcping [-v] [-q] [-i] [-r] -t maxwait -c client-IP-address -s server-IP-address -h client-hardware-address [-g gateway-IP-address]

این دستور به مدیر سیستم امکان می‌دهد تا بررسی کند آیا یک سرور DHCP دوردست همچنان فعال است و به درستی کار می‌کند یا خیر.

گزینه‌ها عبارتند از:

حالت پرگو (verbose)، چاپ برخی اطلاعات تشخیصی.
استفاده از بسته‌های DHCPINFORM.
استفاده از بسته‌های DHCPREQUEST (رفتار پیش‌فرض).
حالت ساکت (quiet)، هیچ متنی را روی صفحه چاپ نمی‌کند.
حداکثر زمان انتظار برای دریافت پاسخ از سرور (بر حسب ثانیه). مقدار پیش‌فرض ۳ ثانیه است.
درخواست این آدرس IP. توجه داشته باشید که این همان آدرس IP است که پاسخ نیز به آن ارسال خواهد شد.
ارسال بسته DHCP به این آدرس IP.
استفاده از این آدرس سخت‌افزاری (MAC) در درخواست DHCP. این آدرس می‌تواند تا شانزده هشت‌بیت (اکتت) باشد که با دونقطه از هم جدا شده‌اند (مانند 01:02:03:04).
استفاده از این آدرس IP به عنوان آدرس گیت‌وی در بسته DHCP. این گزینه در حال حاضر کار نمی‌کند و دچار اشکال است.

در صورت موفقیت و اجرای بدون مشکل، مقدار 0 بازگردانده می‌شود. در صورت بروز هرگونه خطا، مقدار 1 بازگردانده می‌شود.

این برنامه باید با مجوز setuid root نصب شود یا فقط توسط کاربر ریشه (root) اجرا گردد. برای اطلاعات بیشتر، بخش امنیت (SECURITY) را ببینید.

در سرور DHCP خود، این خطوط را به فایل dhcpd.conf اضافه کنید:

host <your monitoring host FQDN> {
   hardware ethernet <your monitor host mac address>;
   fixed-address     <your monitoring host IP address>;
}
سپس آن را امتحان کنید:
$ dhcping -c your monitoring host IP address \
          -s your DHCP server IP address \
          -h your monitor host mac address

این دستور با یکی از دو پیام "no answer" یا "Got answer from: your DHCP server IP address" پاسخ خواهد داد.

فایل ثبت وقایع (logfile) سرور DHCP خروجی زیر را ثبت خواهد کرد:

DHCPREQUEST for 192.168.1.1 from 00:20:18:56:29:8f via ed0
DHCPACK on 192.168.1.1 to 00:20:18:56:29:8f via ed0
DHCPRELEASE of 192.168.1.1 from 00:20:18:56:29:8f via ed0 (found)

اجرا در حالت DHCPINFORM با استفاده از گزینه -i:

اگر پیام "DHCPINFORM from 192.168.1.1 via xl0: not authoritative for subnet 192.168.1.0" را مشاهده کردید، باید عبارت authoritative را به آن زیرشبکه اضافه کنید. برای جزئیات بیشتر dhcpd.conf(5) را ببینید.

هنگام اجرا در حالت بسیار پرگو (very verbose)، دستور dhcping تلاش می‌کند تمام داده‌های بسته‌های DHCP ارسالی و دریافتی را تخلیه (dump) کند. این برنامه ابتدا بسته را در قالب هگزادسیمال چاپ کرده، سپس سرآیند و در نهایت گزینه‌ها را تفسیر می‌کند.

کلاینت یا یک بسته DHCPREQUEST یا یک بسته DHCPINFORM به سرور ارسال می‌کند و منتظر دریافت پاسخ می‌ماند. سپس، چنانچه بسته DHCPREQUEST ارسال شده باشد، یک بسته DHCPRELEASE را مجدداً به سرور بازمی‌فرستد.

این برنامه با مجوز setuid root نصب می‌شود، زیرا برای اتصال (bind) به پورت ۶۸ (bootpc) به دسترسی‌های ویژه نیاز دارد. دسترسی‌های کاربر ریشه (root) به محض اینکه برنامه به این پورت متصل شد لغو می‌شوند.

در حال حاضر (که ممکن است در آینده تغییر کند یا نکند)، دیمن ISC DHCP اجاره‌ها (leases) با آدرس IP ثابت را در فایل dhcpd.leases ثبت نمی‌کند.

بسته‌های DHCPINFORM تنها می‌توانند در زیرشبکه‌هایی استفاده شوند که سرور برای آن‌ها معتبر (authoritative) باشد. اگر اسکریپت پایش در زیرشبکه‌ای اجرا شود که سرور برای آن authoritative نیست، باید از بسته‌های DHCPREQUEST استفاده کند. نویسنده همچنین مشکلاتی را با سرورهای ISC DHCPD نسخه ۲ تجربه کرده است که در فایل README آن نیز ذکر شده‌اند.

گزینه -V هنوز کار می‌کند، اما نباید برای اشکال‌زدایی بسته‌ها استفاده شود. بهتر است برای این کار از dhcpdump(8) که در وب‌سایت نویسنده در دسترس است استفاده کنید. نویسنده قصد داشت این گزینه را حذف کند، اما تصمیم گرفت آن را فقط از مستندات بردارد و در کد باقی بگذارد، شاید روزی برای اشکال‌زدایی لازم شود.

Edwin Groothuis, edwin@mavetju.org (http://www.mavetju.org)

dhcpd(8), dhclient(8), dhcpd.conf(5), dhcpdump(8)

Januari 27, 2002 3rd Berkeley Distribution