DHCP - Dynamic Hosting Configuration Protocol

همانطور که میدونید کامپیوترها برای برقرای ارتباط با یکدیگر در شبکه باید آدرس داشته باشند. که دونوع آدرس داشتیم.

1.Physical Address

2. Logical Address

بحث ما بر سر Logical Address هست. که IP دادن به کلاینت هایکی از Logical Addres ها درشبکه است. ما به دو صورت می توانیم کلاینت ها را در شبکه آدرس دهی کنیم.

1. Static

2. Dynamic

روش استاتیک که مشخص است. ما به صورت دستی داخل هر کلاینت آی پی تعریف می کردیم. در روش Dynamic ما به صورت اتوماتیک به کلاینت ها آی پی اختصاص میدهیم. که جهت این کار از DHCP-Server استفاده می کنیم.

ِDHCP server وظیفه آدرس دهی اتوماتیک کامپیوتر های موجود بر شبکه را برعهده دارد. برای اینکه DHCP server بتواند به کامپیوتر های شبکه به صورت اتوماتیک آی پی بدهد باید یکسری آی پی برای آن تعریف بکنیم که در اصطلاح به آن Pool می گویند.

خب 4 مرحله وجود دارد تا یک آی پی به یک کلاینت به صورت داینامیک توسط DHCP server اختصاص یابد.

1. ابتدا کلاینت یک پیغام  DHCP Discovery به صورت برودکست در شبکه ارسال می کندتا به دست DHCP-Server می رسد.

2. پس از اینکه پیغام Discovery DHCP به دست DHCP-Server رسید. سرور در Pool آی پی های خود نگاه می کند و یک IP از آنجا بیرون کشیده و به صورت DHCP offer آی پی مورد نظر را برای کلاینت ارسال میکند. بعنوان مثال 192.168.10.2

3. مجددا کلاینت پس از بررسی IP یک پیغام DHCP Request برای DHCP-server می فرستد با این مضمون که این آی پی پیشنهادی شما خوبه و لطف بفرمایید همین آی پی را برای من ثبت کنید.

4. وقتی DHCP-Server با درخواست موافقت کند یک پیغام DHCP ACK برای کاربر ارسال می کند با این مضمون که با درخواستتان موافقت شدو این آی پی به شما اختصاص داده شد.

DHCP سرور می توانست پس از درخواست کلاینت مستقیما به مرحله 4 برود و به کلاینت IP اختصاص دهد واقعا چرا دو مرحله پیشنهاد و درخواست آمده است؟

علت اینکه مراحل دو و سه آمده ، این است که ممکن است دو  DHCP server در شبکه با Pool یکسان داشته باشیم . مثلا آن یکی نقش پشتیبان را داشته باشد که اگر یکی آف شد، دیگری باشد تا شبکه down نشود.  حال وقتی کلاینت درخواست خود را به صورت Broadcast ارسال می کند، دو DHCP-Server دریافت می کنند وهر دو IP اختصاص می دهند .مراحل دو و سه گذاشته شده است تا وقتی یکی آی پی اختصاص داد، دیگری اقدام به اختصاص دادن آی پی نکند!

اعتبار زمانی IP که DHCP-Server اختصاص می دهد

IP هایی که DHCP Server به کلاینت ها اختصاص می دهد ، اعتبارشان 8 روز می باشد که کلاینت باید روز چهارم که نصف این زمان سپری می شود مجددا درخواست تمدید کند. اگر این کار انجام نشود تا مادامی که 15 درصد از این زمان باقیمانده است می تواند درخواست کند ، اگر این زمان هم سپری شود و این کار انجام نشود آن آی پی از کلاینت برداشته می شود.

حال این مباحث چه ربطی به روتر و کانفیگ آن دارد؟

ما میتونیم از روتر یا یک سوئیچ لایه سه شبکه بخواهیم که نقش یک DHCP Server را درشبکه بازی کند و در اینجا می خواهیم نحوه کانفیگ یک روتر و تنظیم آن به صورت  DHCP Server رو بررسی کنیم.

 

نحوه پیاده سازی DHCP Server بر روی یک روتر

نحوه پیاده سازی آن شامل سه مرحله می شود.

اول: فعال کردن سرویس DHCP بر روی روتر. به صورت پیش فرض این سرویس برروی سرور غیرفعال هست.جهت اینکار در محیط کانفیگ ترمینال از دستور زیر استفاده می کنیم.

R-1(config)#service DHCP

دوم: حالا باید یک Pool یا استخر برای DHCP تعریف کنیم تا از داخل این استخر IP به کلاینت ها IP دهد. به عبارت ساده یک سری آی پی به DHCP بدهیم تا دونه دونه آن IP ها را به کلاینت ها اختصاص دهد. جهت اینکار ابتدا یک Pool با یک نام برای روتر تعریف می کنیم . به صورت زیر:

R-1(config)#ip dhcp pool ccnaclass

که همانطور که پیداست ccnaclass نام این استخر است و میتواند هر نام دیگری باشد.

سوم: با اجرای مرحله بالا روتر می فهمد که می خواهید آی پی تعریف کنید و به داخل Pool رفته و آماده تعریف آی پی می شود.به صورت زیر

R-1(dhcp-config)#

نحوه تعریف آن به همان صورت است که برای روتینگ پروتکل ها آی پی تعریف می کردیم.

R-1(dhcp-config)#network 192.168.10.1

همین طور می توانیم آدرس default gateway و آدرس DNS server نیز برای DHCP تعریف کنیم که به کلاینت ها بدهد.اما چگونه؟

برای تعریف آدرس Default Gateway از دستور زیر استفاده می کنیم.

R-1(dhcp-config)#default-router 192.168.10.1

همینطور برای تعریف DNS-Server از دستور زیر استفاده می کنیم.

R-1(dhcp-config)#DNS-server 192.168.10.2

همانطور که مشخص است آی پی ها ، برای نمونه است و می تواند هر IP قرار گیرد.

خب تا اینجا بررسی کردیم که چطور می توانیم یک DHCP سرور برای یک روتر تعریف کنیم.

حال میخواهیم به تغییر بعضی تنظیمات آن بپردازیم.برای مثال گفتیم که زمان پیش فرض اعتبار هر IP هشت روز است اگر بخواهیم این زمان را تغییر دهیم از دستور زیر استفاده می کنیم.

R-1(dhcp-config)#lease 10 2 0

که عدد های مقابل آن به ترتیب روز ، ساعت و دقیقه است.یعنی ده روز و دو ساعت و صفر دقیقه

اگر بخواهیم این زمان نامحدود بشود و اعتبار آی پی ها همیشگی شود از دستور زیر استفاده میکنیم.

R-1(dhcp-config)#lease infinitive

گاهی ما به DHCP سرور یک رینج آی پی می دهیم و میگوییم IP های در این رینج را به کلاینت ها اختصاص بده.حال ممکن است چند IP را بخواهیم در میان این Rane IP جدا کنیم تا به کلاینت ها اختصاص ندهد.چکار باید کرد؟

اگر بخواهیم چند IP رو جداکنیم تا آن IP ها را dhcp سرور به کلاینت ها اختصاص ندهد به صورت زیر عمل می کنیم:


R-1(config)#ip dhcp excluded-address 192.168.10.1 192.168.10.10

همانطور که می بینید من یک رینج ده تایی تعریف کردم تا آن ها را dhcp سرور به کلاینتی اختصاص ندهد و این دستور را هم در محیط کانفیگ ترمینال تعریف کردم.


میتوانیم تنظیم کنیم که DHCP سرور هر آی پی که میخواهد اختصاص دهد را مثلا چندبار ping کند اگر کسی آن IP رانداشت سپس اختصاص دهد. جهت این کار از دستور زیر استفاده می کنیم.
 

R-1(config)#ip dhcp ping packets 10

من در اینجا روی ده بار تنظیم کردم.یعنی ده بار هر آی پی را پینگ می کند بعد اختصاص می دهد.
 

همینطور می توان Timeout یا زمان انتظار هم موقع پینگ کردن را نیز مشخص کرد.وقتی آدرسی ping می شود یک مدت زمانی منتظر میشود تا از آن آدرس پاسخ دریافت کرد که می توان این مدت زمان راتغییر داد .



R-1(config)#ip dhcp ping timeout 100

عدد صد بر حسب میلی ثانیه است.که می توان از 100 تا 10000 مقدار دهی کرد.

خب اگر بخواهیم IP های اختصاص داده شده به کلاینت ها را ببینیم از دستور زیر استفاده می کنیم.دقت کنید IP های اختصاص داده شده.. تصور نکنید که IP هایی که در pool تعریف کرده اید را به شما نشان دهد . تنهاIP هایی را نمایش می دهد که کلاینت ها دریافت کرده باشند و فعال شده باشد.
این دستور و دستورهای بعدی تماما در محیط privilege اجرا میشوند.

 

R-1#show ip dhcp binding


نکته بعدی اینکه اگر بخواهیم IP را که به یک کلاینت اختصاص داده ایم را پس بگیریم چگونه باید عمل کنیم؟ از دستور زیر استفاده می کنیم.


R-1#clear ip dhcp binding 192.168.2.1

واضح است که آی پی برای مثال است. اگر جای IP ستاره بگذاریم *، باعث می شود که کل IP های اختصاص داده شده پس گرفته شود.

 

خب یک دستور دیگر هم بگویم و بحث امروز تمام.بواسطه دستور زیر می توانیم تمام اتفاقات dhcp را مانیتور کنیم.


R-1#debug ip dhcp server event
 

خب . خسته نباشید. امروز قرار بود که از روتینگ پروتکل EIGRP بگم. ولی متاسفانه فایل صوتی که داشتم خراب هست و من تصمیم گرفتم برای کیفیت کار ، EIGRP رو موکول کنم به یک فرصت دیگر تا بتوانم تمام و کمال در خدمتتون باشم. راستی از جمعه این هفته من کلاس CCNP -Route رو در موسسه کهکشان ثبت نام کردم که سعی می کنم به امید خدا یک وبلاگ هم برای آن تشکیل بدهم و مباحثش رو دنبال کنم.
موفق باشید.

آپدیت شده در تاریخ 2/ فروردین /1391

 

یک نکته که باید حتما به آن توجه داشته باشید:

DHCP سروری که بر روی روتر کانفیگ می شود، زمان اجاره یا Lease آی پی آدرس هایی که اختصاص می دهد، یک روز است و در واقع Lease Time سرورهای DHCP مایکروسافتی 8 روز است . پس به کلاینت ها پس از سپری شدن 12 ساعت پکت درخواست تمدید ارسال می شود تا اگر مایل باشند این زمان را تمدید کنند.