مقدمه :
به هر سیستم که درون یک شبکه کار می کند Host میگوییم. پروتکل DHCP پروتکلی است که به طور کامل Host را پیکربندی و کانفیگ می کند. پیکربندی Host شامل تنظیم کردن IP ، Subnetmask ، Gateway ، DNS و … میباشد. هر کدام از این موارد که توسط DHCP Server برای DHCP Client تنظیم میگردد ، DHCP Option نامیده میشود.
با توجه به اینکه اساس ارتباط بین DHCP Server و DHCP Client بر پایه ی Broadcast میباشد در نتیجه DHCP Server و DHCP Client باید در یک Broadcast Domain باشند.
دریافت IP از DHCP Server :
در ابتدا Client یک پیغام Broadcast مبنی بر یافتن DHCP Server در شبکه ارسال میکند. این پیغام توسط DHCP Server دریافت میشود و سپس در قالب یک پیغام Broadcast خود را به عنوان DHCP Server معرفی میکند. توجه داشته باشید که تمامی این پیغام ها با استفاده از Mac Address رد و بدل میشوند.
در ادامه Client درخواستی را به سمت DHCP Sever ارسال کرده و تقاضای دریافت IP میکند.
در درون DHCP Server قسمتی به نام Pool وجود دارد که تمامی IP های مجاز جهت تخصیص به Client ها در آن قرار دارند و هرگاه Client ای تقاضای IP کند ، DHCP Server یکی از IP های درون Pool را به آن پیشنهاد میدهد. در صورتی که Client آن را تایید کند ، IP به Client تعلق میگیرد.
نکته!!! در جلسه ی قبل هنگامی که قصد راه اندازی DHCP Server را داشتیم ، لازم بود که یک محدوده ی IP را برای اختصاص دادن به Client ها مشخص کنیم. همه ی این IP ها در قسمت Pool ذخیره میشوند.
تب Leased در میکروتیک:
هنگامی که DHCP Server یک IP را به Client اختصاص میدهد اطلاعات آن را در تبی به نام Leased ذخیره میکند. برای وارد شدن به این قسمت گزینه ی DHCP Server را از منوی IP انتخاب کرده و بر روی تب Leased از پنجره ی DHCP Sever کلیک میکنیم.
این اطلاعات شامل IP ، آدرس Mac مربوط به Client ، نام سیستم Client ، مدت زمانی که این IP به Client اجاره داده میشود و … میباشد. به عبارت دیگر از طریق این قسمت میتوانیم دریابیم که هر IP به کدام یک از Client های درون شبکه اختصاص یافته است.
DHCP Starvation attack :
یکی از رایج ترین Attack هایی که باعث میشود شبکه دچار مشکل گردد حمله ای به نام DHCP Starvation میباشد. نحوه ی کار این Attack به این صورت است که در مدت زمان بسیار کمی ( چند ثانیه ) تعداد زیاد Mac Address تقلبی تولید میکند و توسط آن ها از DHCP Server تقاضای IP میکند. در مقابل ، DHCP Server به ازای هر کدام از این Mac Address ها یک IP به آن ها اختصاص میدهد. واضح است که طی مدت کوتاهی Pool مربوط به DHCP Server خالی شده و هیچ IP در آن باقی نمی ماند.
حال فرض کنید که در چنین شرایطی یک Client واقعی از این DHCP Server تقاضای IP کند. Client به DHCP Server متصل میشود اما هیچ IP از آن دریافت نمیکند.
به این پدیده DHCP Starvation یا قحطی در DHCP میگوییم.
نکته!!! هنگامی که چنین اتفاقی رخ میدهد ، در سمت کامپیوتر Client یک دایره را بر روی علامت کارت شبکه مشاهده خواهیم کرد که مدام در حال چرخیدن است.
جلوگیری از DHCP Starvation :
برای جلوگیری از این Attack لازم است که اجازه دهیم Client های مجاز ( سیستم هایی که حتما باید در شبکه IP داشته باشند ) از DHCP Server ، IP دریافت کنند. پس از دریافت IP و ثبت شدن اطلاعات آن ها در قسمت Leased وارد این تب میشویم.
بایستی از آدرس Mac یا IP مربوط به Client مورد نظر اطلاع داشته باشیم. در تب Leased بر روی IP سیستم راست کلیک کرده و گزینه ی Make static را انتخاب میکنیم.
سپس وارد پنجره ی اصلی DHCP Server شده و بر روی خود DHCP کلیک میکنیم.
در پنجره ی زیر گزینه ی Address pool را در حالت Static only قرار میدهیم.
ازین پس به جز سیستمی که آن را Static کردیم هیچ سیستمی از این DHCP Server ، IP دریافت نخواهد کرد. همچنین اگر ارتباط سیستم Static شده با شبکه قطع گردد و مجددا وصل شود ، همان IP قبلی به آن اختصاص داده خواهد شد.