مدیریت DHCP در روترهای سیسکو
مقدمه
معرفی DHCP و نقش آن در شبکه
DHCP یا Dynamic Host Configuration Protocol یک پروتکل شبکه است که وظیفهی آن تخصیص خودکار تنظیمات IP به دستگاههای موجود در شبکه میباشد. به جای اینکه مدیر شبکه به صورت دستی برای هر کلاینت (مانند کامپیوتر، پرینتر یا موبایل) آدرس IP، ماسک، گیتوی و DNS را وارد کند، DHCP این کار را بهصورت خودکار و پویا انجام میدهد. این امر باعث کاهش خطای انسانی، صرفهجویی در زمان و مدیریت سادهتر شبکه میشود.
تفاوت بین DHCP سرور، کلاینت و رله (Relay)
-
DHCP Server (سرور): دستگاه یا سیستمی که محدودهی آدرسهای IP و سایر پارامترها را نگهداری کرده و به کلاینتها اختصاص میدهد. در شبکههای سیسکو، روتر میتواند نقش DHCP سرور را ایفا کند.
-
DHCP Client (کلاینت): دستگاهی که درخواست آدرس IP و تنظیمات شبکه را از سرور دریافت میکند. به طور مثال لپتاپ، موبایل یا حتی سوییچ مدیریتی.
-
DHCP Relay (رله): در شبکههای بزرگ، ممکن است سرور DHCP در سگمنت دیگری قرار داشته باشد. در این شرایط، روتر یا سوییچ میتواند به عنوان DHCP Relay عمل کرده و درخواستهای کلاینت را به سرور اصلی ارسال کند. این ویژگی با دستور
ip helper-addressدر روتر سیسکو پیادهسازی میشود.
مزایا و معایب استفاده از DHCP در روتر سیسکو
مزایا:
-
مدیریت آسان آدرسهای IP در شبکههای کوچک و متوسط
-
کاهش خطاهای ناشی از پیکربندی دستی
-
امکان تخصیص پارامترهای متعدد (DNS، Gateway و غیره) در کنار IP
-
انعطافپذیری بالا برای دستگاههای سیار (مانند لپتاپها و موبایلها)
معایب:
-
در شبکههای بزرگ با چندین سگمنت، مدیریت متمرکز با DHCP سرور اختصاصی (مثلاً ویندوز سرور) مناسبتر است.
-
روترهای سیسکو منابع محدودی برای مدیریت تعداد زیاد کلاینت دارند.
-
اگر سرور DHCP در دسترس نباشد، کلاینتها نمیتوانند IP دریافت کنند (وابستگی به سرویس).
پیکربندی DHCP سرور روی روتر
۱. بررسی نیازمندیها قبل از فعالسازی DHCP
پیش از آنکه روتر را به عنوان DHCP Server پیکربندی کنیم، باید چند نکته را بررسی کنیم:
-
اینترفیس روتر که به شبکه داخلی متصل است، آدرس IP معتبر داشته باشد.
-
محدودهی آدرسهای IP شبکه مشخص شده باشد (مثلاً 192.168.1.0/24).
-
برخی آدرسها مانند آدرس روتر، سرورهای مهم یا دستگاههای ثابت، از محدوده DHCP خارج شوند (Reserved).
۲. فعالسازی DHCP Server روی روتر
برای فعالسازی DHCP Server روی روتر سیسکو، ابتدا باید یک Pool تعریف کنیم و مشخص کنیم که کلاینتها چه اطلاعاتی را دریافت کنند.
مثال:
Router(config)# ip dhcp pool LAN Router(dhcp-config)# network 192.168.1.0 255.255.255.0 Router(dhcp-config)# default-router 192.168.1.1 Router(dhcp-config)# dns-server 8.8.8.8 8.8.4.4 Router(dhcp-config)# domain-name mynetwork.local
توضیحات:
-
ip dhcp pool LAN→ ایجاد یک Pool با نام LAN -
network→ تعیین محدوده شبکهای که قرار است IP بدهد -
default-router→ تعیین Gateway پیشفرض (معمولاً آدرس روتر) -
dns-server→ تعیین DNS سرورهای مورد استفاده کلاینتها -
domain-name→ تعریف نام دامنه اختیاری برای کلاینتها
۳. تعریف استثناها (Excluded Addresses)
معمولاً برخی از آدرسها نباید به صورت خودکار به کلاینتها اختصاص داده شوند؛ مانند:
-
آدرس خود روتر
-
آدرس سرورها (File Server, Printer, CCTV, …)
-
IPهایی که به صورت دستی به دستگاهها داده شدهاند
برای جلوگیری از اختصاص خودکار این آدرسها، از دستور ip dhcp excluded-address استفاده میکنیم.
مثال:
Router(config)# ip dhcp excluded-address 192.168.1.1 192.168.1.10
در این حالت، آدرسهای 192.168.1.1 تا 192.168.1.10 به صورت دستی رزرو میشوند و DHCP آنها را به کلاینتها اختصاص نمیدهد.
نتیجه: با اجرای مراحل بالا، روتر سیسکو شما به عنوان یک DHCP Server فعال میشود و کلاینتهای متصل به شبکه میتوانند به طور خودکار IP و سایر تنظیمات مورد نیازشان را دریافت کنند.
تعریف Pool آدرسها و پارامترهای آن
پس از فعالسازی DHCP Server روی روتر، باید یک Pool آدرس تعریف کنیم تا روتر بداند چه محدودهای از IPها را میتواند به کلاینتها اختصاص دهد و همراه آن سایر تنظیمات لازم (Gateway، DNS و …) را ارسال کند.
۱. ایجاد DHCP Pool جدید
برای ساخت یک Pool جدید از دستور زیر استفاده میکنیم:
Router(config)# ip dhcp pool LAN-POOL
در اینجا، نام Pool به صورت دلخواه انتخاب میشود (مثلاً LAN-POOL).
۲. تعیین محدوده آدرسهای IP
در داخل محیط تنظیمات Pool، باید شبکهای که قرار است آدرسدهی شود را مشخص کنیم:
Router(dhcp-config)# network 192.168.10.0 255.255.255.0
این دستور به روتر اعلام میکند که محدوده IP از شبکه 192.168.10.0/24 به کلاینتها اختصاص یابد.
۳. تنظیم Default Gateway (Router)
یکی از مهمترین اطلاعاتی که کلاینتها باید دریافت کنند، آدرس Gateway یا همان روتر است:
Router(dhcp-config)# default-router 192.168.10.1
این آدرس معمولاً همان IP اینترفیس روتر در آن شبکه است.
۴. تعریف DNS Server و سایر پارامترهای اختیاری
علاوه بر IP و Gateway، میتوان اطلاعات دیگری را نیز به کلاینتها اختصاص داد:
Router(dhcp-config)# dns-server 8.8.8.8 8.8.4.4 Router(dhcp-config)# domain-name localnet Router(dhcp-config)# lease 7
-
dns-server→ معرفی سرورهای DNS برای ترجمه نام دامنه به IP -
domain-name→ تعریف نام دامنه داخلی شبکه (اختیاری) -
lease→ مدت زمان اجاره IP (در این مثال ۷ روز)
۵. نکات امنیتی در پیکربندی Pool
-
همیشه آدرسهای حیاتی مثل آدرس روتر و سرورها را با دستور ip dhcp excluded-address رزرو کنید.
-
در شبکههای بزرگ، برای جلوگیری از حملات DHCP Spoofing بهتر است قابلیتهای امنیتی مثل DHCP Snooping در سوییچها فعال شود.
-
در صورت نیاز به کنترل دقیقتر، میتوان Lease را کوتاهتر تنظیم کرد تا IPها سریعتر آزاد شوند.
جمعبندی: با تعریف Pool و مشخص کردن پارامترهای آن، روتر قادر خواهد بود تمامی اطلاعات مورد نیاز کلاینتها را به صورت خودکار تخصیص دهد و مدیریت IPها سادهتر شود.
مشاهده و مدیریت Bindingهای DHCP
پس از آنکه کلاینتها از DHCP Server روی روتر سیسکو آدرس دریافت کردند، روتر اطلاعات مربوط به هر کلاینت (مانند آدرس IP اختصاص دادهشده، آدرس MAC، و زمان اجاره یا Lease) را در قالب یک جدول ذخیره میکند. به این جدول اصطلاحاً DHCP Binding Table گفته میشود. مدیریت صحیح این جدول برای عیبیابی و کنترل منابع شبکه بسیار مهم است.
۱. مشاهده Bindingهای فعال
برای مشاهده لیست Bindingهای DHCP میتوان از دستور زیر استفاده کرد:
Router# show ip dhcp binding
این دستور اطلاعات زیر را نمایش میدهد:
-
آدرس IP اختصاص دادهشده به هر کلاینت
-
آدرس سختافزاری (MAC Address) کلاینت
-
مدت زمان باقیمانده از اجاره (Lease)
-
وضعیت تخصیص (Automatic یا Manual)
۲. بررسی وضعیت Pool و Leaseها
برای بررسی وضعیت کلی DHCP Poolها و Leaseهای فعال، دستورات زیر کاربرد دارند:
Router# show ip dhcp pool Router# show ip dhcp server statistics
-
show ip dhcp pool→ نمایش تعداد آدرسهای موجود، تخصیصیافته و آزاد در هر Pool -
show ip dhcp server statistics→ نمایش آمار کلی DHCP مانند تعداد Discover، Offer، Request و Ack
۳. آزادسازی یا حذف دستی Bindingها
گاهی اوقات نیاز است یک Binding خاص حذف شود (مثلاً وقتی دستگاهی جابجا شده یا آدرس Conflict ایجاد کرده است). در این شرایط میتوان از دستور زیر استفاده کرد:
Router(config)# clear ip dhcp binding 192.168.10.5
این دستور Binding مربوط به آدرس IP 192.168.10.5 را پاک میکند تا آدرس دوباره در دسترس DHCP Server قرار گیرد.
۴. رفع خطاهای متداول در Binding
برخی مشکلات رایج در Binding عبارتاند از:
-
Conflict (تداخل IP): ممکن است آدرسی که DHCP اختصاص داده با یک دستگاه دیگر در شبکه همپوشانی داشته باشد. برای بررسی، از دستور زیر استفاده میکنیم:
Router# show ip dhcp conflictو در صورت نیاز، Conflict را پاک میکنیم:
Router(config)# clear ip dhcp conflict * -
Lease منقضیشده: اگر کلاینتها نتوانند آدرس جدید بگیرند، باید Binding مربوطه آزاد شود تا آدرس دوباره تخصیص یابد.
-
اشتباه در Pool یا Gateway: بررسی تنظیمات DHCP Pool و اطمینان از صحت Default Router و Network الزامی است.
جمعبندی: با استفاده از دستورات مدیریتی مانند show ip dhcp binding، clear ip dhcp binding و show ip dhcp pool میتوان بر فرآیند تخصیص آدرسها نظارت داشت، Bindingهای مشکلدار را آزاد کرد و از بروز خطاهای شبکه جلوگیری نمود.
سناریوی عملی DHCP در روتر سیسکو
۱. طراحی سناریو
در این سناریو یک روتر سیسکو به عنوان DHCP Server در نظر گرفته میشود و سه کلاینت (PC1، PC2 و PC3) به آن متصل هستند. هدف این است که کلاینتها بدون پیکربندی دستی، بهطور خودکار آدرس IP و سایر تنظیمات شبکه را از روتر دریافت کنند.
مشخصات شبکه:
-
شبکه: 192.168.20.0/24
-
Gateway (اینترفیس روتر): 192.168.20.1
-
محدوده آدرسهای DHCP: 192.168.20.10 تا 192.168.20.50
-
DNS Server: 8.8.8.8
۲. مراحل کامل پیکربندی DHCP
گام اول: تنظیم IP روی اینترفیس روتر
Router(config)# interface fastEthernet 0/0 Router(config-if)# ip address 192.168.20.1 255.255.255.0 Router(config-if)# no shutdown
گام دوم: رزرو آدرسهای مهم (Excluded Addresses)
Router(config)# ip dhcp excluded-address 192.168.20.1 192.168.20.9
در اینجا آدرسهای 192.168.20.1 تا 192.168.20.9 برای دستگاههای خاص (مانند روتر یا سرورها) رزرو میشوند.
گام سوم: تعریف DHCP Pool
Router(config)# ip dhcp pool LAN-POOL Router(dhcp-config)# network 192.168.20.0 255.255.255.0 Router(dhcp-config)# default-router 192.168.20.1 Router(dhcp-config)# dns-server 8.8.8.8 Router(dhcp-config)# lease 5
مدت زمان Lease در این مثال ۵ روز تعیین شده است.
۳. بررسی صحت پیکربندی
در کلاینتها:
کلاینتها باید روی حالت Obtain IP automatically تنظیم شوند. سپس میتوان با دستور زیر در PCها آدرس دریافتشده را بررسی کرد:
C:> ipconfig
خروجی باید نشان دهد که کلاینتها آدرسهایی بین 192.168.20.10 تا 192.168.20.50 دریافت کردهاند.
در روتر:
میتوان از دستورات زیر برای بررسی Bindingها و Leaseهای فعال استفاده کرد:
Router# show ip dhcp binding Router# show ip dhcp pool Router# show ip dhcp server statistics
۴. نتیجه
با اجرای این سناریو، روتر به عنوان DHCP Server عمل کرده و کلاینتها بدون نیاز به تنظیم دستی، آدرس IP و تنظیمات شبکه را دریافت میکنند. این روش مدیریت IPها را در شبکه سادهتر و سریعتر میسازد.
عیبیابی و نکات پیشرفته
پس از راهاندازی DHCP Server روی روتر، ممکن است در هنگام کار مشکلاتی مانند عدم تخصیص آدرس یا بروز تداخل (Conflict) پیش بیاید. آشنایی با روشهای عیبیابی و همچنین پیادهسازی قابلیتهای امنیتی پیشرفته، برای مدیریت بهتر شبکه ضروری است.
۱. خطاهای رایج در DHCP
-
عدم تخصیص آدرس IP به کلاینتها:
-
این مشکل معمولاً به دلیل خطا در پیکربندی Pool (مثل اشتباه در Network یا Subnet Mask) ایجاد میشود.
-
ممکن است اینترفیس روتر در حالت
shutdownباشد یا IP نداشته باشد. -
در برخی موارد، آدرسهای موجود در Pool تمام شدهاند.
-
-
Conflict (تداخل IP):
-
زمانی رخ میدهد که یک آدرس IP توسط دستگاهی به صورت دستی ست شده و همان IP توسط DHCP هم به کلاینت دیگری اختصاص یابد.
-
برای مشاهدهی تداخلها:
Router# show ip dhcp conflict -
برای پاک کردن تداخلها:
Router(config)# clear ip dhcp conflict *
-
-
Lease منقضیشده و آزاد نشدن آدرس:
-
در این حالت آدرس در جدول Binding باقی میماند و کلاینتهای جدید نمیتوانند IP دریافت کنند.
-
با دستور زیر میتوان Binding مربوط به یک آدرس خاص را پاک کرد:
Router(config)# clear ip dhcp binding 192.168.10.20
-
۲. استفاده از دستور Debug برای بررسی فرآیند تخصیص IP
برای بررسی دقیق فرآیند کار DHCP میتوان از دستورهای Debug استفاده کرد. این دستورها پیامهای تبادل بین کلاینت و سرور (Discover، Offer، Request، Ack) را نمایش میدهند.
-
فعالسازی:
Router# debug ip dhcp server events Router# debug ip dhcp server packet -
غیرفعالسازی:
Router# undebug all
استفاده از Debug به ویژه زمانی که کلاینتها آدرس دریافت نمیکنند بسیار مفید است، اما توصیه میشود فقط در زمان عیبیابی و روی شبکههای کوچک فعال شود زیرا میتواند پردازنده روتر را درگیر کند.
۳. نکات امنیتی در DHCP
-
DHCP Snooping (روی سوئیچها):
-
قابلیتی امنیتی است که مانع از فعالیت DHCP Serverهای غیرمجاز در شبکه میشود.
-
با فعالسازی این ویژگی، فقط پورتهای مشخصشده به عنوان Trusted اجازه ارسال پیامهای DHCP را دارند.
-
-
IP Source Guard:
-
قابلیتی است که همراه DHCP Snooping استفاده میشود.
-
از جعل آدرس IP توسط کاربران جلوگیری کرده و اطمینان حاصل میکند که هر پورت فقط میتواند از IP اختصاصدادهشده توسط DHCP استفاده کند.
-
-
استفاده از Lease کوتاهتر:
-
در شبکههای پویا و پر تردد (مانند کافینت یا شبکههای آموزشی)، بهتر است مدت زمان اجاره کوتاهتر تنظیم شود تا آدرسها سریعتر آزاد و دوباره قابل استفاده شوند.
-
جمعبندی:
با استفاده از دستورات نمایش (show ip dhcp ...) و عیبیابی (debug ip dhcp ...) میتوان به راحتی مشکلات DHCP را شناسایی و برطرف کرد. همچنین بهکارگیری قابلیتهای امنیتی مانند DHCP Snooping و IP Source Guard باعث افزایش امنیت شبکه و جلوگیری از حملات مبتنی بر DHCP میشود.
تمرین پایانی – پیادهسازی DHCP با چند Subnet و Pool مجزا
۱. هدف تمرین
در این تمرین یک شبکه کوچک طراحی میشود که شامل چند Subnet مختلف است. روتر سیسکو وظیفه دارد به عنوان DHCP Server عمل کرده و برای هر Subnet یک Pool جداگانه تعریف کند. سپس خروجی دستورات مربوط به DHCP بررسی و تحلیل میشود.
۲. طراحی سناریو
-
شبکه اول: 192.168.10.0/24 (کاربران واحد اداری)
-
شبکه دوم: 192.168.20.0/24 (کاربران واحد پشتیبانی)
-
شبکه سوم: 192.168.30.0/24 (کاربران واحد مالی)
آدرسهای Gateway (اینترفیسهای روتر):
-
Fa0/0 → 192.168.10.1
-
Fa0/1 → 192.168.20.1
-
Fa0/2 → 192.168.30.1
۳. مراحل پیکربندی
گام اول: تنظیم آدرس روی اینترفیسهای روتر
Router(config)# interface fa0/0 Router(config-if)# ip address 192.168.10.1 255.255.255.0 Router(config-if)# no shutdown Router(config)# interface fa0/1 Router(config-if)# ip address 192.168.20.1 255.255.255.0 Router(config-if)# no shutdown Router(config)# interface fa0/2 Router(config-if)# ip address 192.168.30.1 255.255.255.0 Router(config-if)# no shutdown
گام دوم: رزرو آدرسهای مهم
Router(config)# ip dhcp excluded-address 192.168.10.1 192.168.10.10 Router(config)# ip dhcp excluded-address 192.168.20.1 192.168.20.10 Router(config)# ip dhcp excluded-address 192.168.30.1 192.168.30.10
گام سوم: تعریف DHCP Pool برای هر Subnet
Router(config)# ip dhcp pool ADMIN Router(dhcp-config)# network 192.168.10.0 255.255.255.0 Router(dhcp-config)# default-router 192.168.10.1 Router(dhcp-config)# dns-server 8.8.8.8 Router(config)# ip dhcp pool SUPPORT Router(dhcp-config)# network 192.168.20.0 255.255.255.0 Router(dhcp-config)# default-router 192.168.20.1 Router(dhcp-config)# dns-server 8.8.4.4 Router(config)# ip dhcp pool FINANCE Router(dhcp-config)# network 192.168.30.0 255.255.255.0 Router(dhcp-config)# default-router 192.168.30.1 Router(dhcp-config)# dns-server 1.1.1.1
۴. مشاهده خروجی دستورات
-
بررسی Bindingها:
Router# show ip dhcp binding
نمایش کلاینتهای فعال و آدرسهایی که دریافت کردهاند.
-
بررسی وضعیت Poolها:
Router# show ip dhcp pool
تعداد IPهای تخصیص یافته و آزاد در هر Pool نمایش داده میشود.
-
بررسی آمار کلی DHCP:
Router# show ip dhcp server statistics
اطلاعاتی مانند تعداد Discover، Offer، Request و Ack در اختیار مدیر شبکه قرار میگیرد.
۵. تحلیل نتایج
-
باید اطمینان حاصل شود که هر کلاینت در هر Subnet، آدرس صحیح مربوط به همان شبکه را دریافت کرده است.
-
آدرس Gateway در کلاینتها باید همان IP اینترفیس روتر در آن Subnet باشد.
-
اگر کلاینتها آدرس دریافت نکردند، باید با دستورات
showوdebug ip dhcp serverمشکل بررسی شود.
جمعبندی:
این تمرین کمک میکند تا توانایی شما در تعریف چندین DHCP Pool روی یک روتر سیسکو تقویت شود. همچنین یاد میگیرید چگونه خروجی دستورات مدیریتی را تحلیل کرده و مشکلات احتمالی را برطرف کنید.