DHCP Server:
سرویس است که به ما کمک می کند ، تنظیمات IP Addressing کامپیوتر ها به صورت اتوماتیک اتفاق بیفتد و نخواهید برای هر سیستمی به صورت دستی Gateway ، Subnet Mask ، IP و بسیاری از آیتم های دیگر را تنظیم کنید .
✔️ Dynamic Host Configuration Protocol (DHCP) در لایه 4 با استفاده از پروتوکل UDP ، روی پورت های 67 , 68 کار می کند .
✔️زمانی که وارد تنظیمات IP Addressing یک سیستم می شوید ، اگر گزینه Obtaining an IP address automatically را انتخاب کنید ، این بدان معنا است که سیستم شما باید سراغ DHCP رفته و از آن IP دریافت کند . (البته به شرط آنکه DHCP Server وجود داشته باشد و درست تنظیم شده باشد تا دست سیستم شما به آن برسد) ، البته اگر می خواهید آدرس DNS هم به صورت اتوماتیک از DHCP گرفته شود ، آن را بر روی Obtain DNS server address automatically قرار دهید . البته این 2 بخش از یکدیگر جدا هستند ، اما نورم این است که همه آیتم ها از DHCP گرفته شود نه فقط بخش خاص .
عملکرد (DHCP) :
DHCP Discover :
زمانی که سیستم شما به دنبال DHCP است تا از آن IP بگیرد ، به خاطر اینکه شما نمی توانید از پیش برای سیستم تعریف کنید که DHCP کیست ، لذا سیستم از روش Broadcast استفاده می کند و در شبکه شروع به فرستادن پیام Broadcast می کند که اصطلاحا به آن DHCP Discover گویند . زمانی که سیستم شما به روش Broadcast به دنبال DHCP می گردد ، اگر DHCP هم شبکه ای او نباشد و ما بین آنها یک Router وجود داشته باشد ، Broadcast از Router رد نخواهد شد و دست سیستم شما هیچ گاه به DHCP نخواهد رسید .
در تصویر هم سعی کرده این موضوع را نشان دهد :
🔵 تعداد یک عدد Router وجود دارد که تعداد 3 شبکه را به هم متصل کرده است و DHCP Server در یک شبکه پشت Router با آدرس 10.1.4.2 قرار دارد .
💻 لپ تاپ (Step 1) ، در خواست گرفتن IP از DHCP Server دارد ، به دلیل آنکه Packet او Broadcast است در کل Network خودش پخش می شود .
💻 آخرین مقصد این Packet ، آدرس 10.1.2.9 است که Gateway شبکه محسوب می شود .
🔵 حال اگر Router به ذات خودش عمل کند ، آنگاه Broadcast شما از 10.1.2.9 رد نخواهد شد و نتیجه اینکه DHCP وجود ندارد .
جهت رد شدن ترافیک Broadcast دو راه وجود دارد :
1
در هر شبکه یک DHCP Server قرار دهید . ( البته این روش شدنی نیست ، ما نمی توانم به ازای هر شبکه یا Vlan ، یک DHCP Server در مدار قرار دهیم ) 2
Router درخواست های Broadcast مربوط به DHCP Server را از خود عبور دهد . البته Router درخواست Broadcast را عبور نمی دهد ، بلکه Packet را به حالت Unicast تبدیل کرده و آن را تحویل DHCP Server می دهد ، که اصطلاحا می گویند Router را DHCP 👈 Agent کردید . ( لفظ علمی آن DHCP Relay Agent )
بنابراین اگر بتوانید Router را DHCP 👈 Agent کنید ، آن وقت Router درخواست های Broadcast را به حالت Unicast تبدیل می کند و تحویل DHCP Server می دهد .
نکته ای که حائز اهمیت است ، Interface هایی را DHCP 👈 Agent کنید که :
1
Getaway یک سری کامپیوتر هستند و در آن شبکه سرویس DHCP وجود ندارد . ( الزامی ندارد که Interface از Router که DHCP Server دقیقاً در آن نشسته است را Agent کنید ) 2
Interface که Getaway کسی نیست را Agent نکنید . (مثلا بین 2 عدد Router فقط یک ارتباط شبکه ای است و Getaway کسی هم نیستند ، شما Agent هم بزنید کار الکی کردید )
DHCP Pool / Scope :
اگر مبنا بر این است که DHCP Server به تعدادی شبکه IP دهد ، موظف هستید به ازای هر رنج IP در DHCP یک Pool / Scope بسازید . ( Microsoft از لفظ Scope استفاده می کند )
بنابراین Pool / Scope مجموعه آدرس هایی است که ، ما در اختیار قرار می دهیم تا بین کاربران شبکه های مختلف پخش کند . ( DHCP این 100 تا IP دست تو ، هرکسی آمد یکی بهش بده )
سوال :
در این سناریو باید تعداد 3 عدد Scope بسازید . مسلماً باید در انتخاب Scope اشتباهی رخ ندهد ، زیرا آن وقت رنج IP به درد کامپیوتر نمی خورد . حال سوال اینجا است که ، DHCP چطور متوجه می شود ، از کدام Scope باید به کامپیوتر مورد نظر IP دهد ؟
💻 لپ تاپ (Step 1) ، در خواست گرفتن IP از DHCP Server دارد ، آن وقت Router درخواست های Broadcast را به حالت Unicast تبدیل می کند و تحویل DHCP Server می دهد . به واسطه اینکه شما قبلاً به Interface Router آدرس DHCP را دادید ، این درخواست Unicast به دست DHCP Server می رسد . حال DHCP براساس اینکه درخواست از کدام Interface فرستاده شده و اینکه IP Interface در رنج کدام یک از Scope می افتد ، از همان Scope مورد نظر IP خواهد داد و اشتباه نخواهد کرد .
🔵 DHCP Server جواب را به Router بر می گرداند . ( زیرا درخواست کننده Router بوده ) ، با توجه به اینکه سیستم ما IP ندارد ، Router براساس MAC Address جواب را به سوییچ و در نهایت به کامپیوتر بر می رساند .
سوال :
اگر کامپیوتری هم شبکه ای DHCP Server باشد ، پس درخواست آن از Router رد نخواهد شد . حال DHCP Server از کجا می فهمد از کدام Scope باید IP بدهد ؟
به دلیل اینکه کامپیوتر و DHCP Server در یک شبکه قرار دارند ، بنابراین IP که این کامپیوتر دریافت می کند ، حتماً هم رنج DHCP است . حال DHCP بر اساس اینکه ، درخواست به صورت Broadcast سمت او می رسد ، متوجه هم شبکه ای بودن با کامپیوتر مورد نظر می شود . بنابراین از Scope که هم رنج خودش است به کامپیوتر IP می دهد .
DHCP Lease Time :
مستحضر باشید که ، DHCP می تواند IP را به صورت اجاره ای در اختیار کاربر قرار دهد ، که اصطلاحا به آن Lease Time گویند . مدت زمان اجاره را ما تعیین می کنیم مثلا ، در Microsoft پیش فرض 8 روز است ، اما غالباً افراد Lease Time را به صورت استاندارد براساس ساعت تنظیم می کنند .
یکی از دلایلی که IP به اجاره کاربر در می آید و بعد از اتمام مدت زمان اجاره ، IP مورد نظر به Pool / Scope بر می گردد این است که ، DHCP Server نباید از IP خالی شود .
مثلا یک نفر با استفاده از تبلت از DHCP یک IP گرفته و به اینترنت متصل می شود و می رود . حال فرض کنید 10 نفر بخواهند بدین صورت عمل کنند ، Scope ما از IP خالی خواهد شد . بنابراین ما برای این موضوع Lease Time تعیین می کنیم تا IP در مدت زمانی محدودی در اختیار کاربر قرار گیرد و بعد از آن به Scope برگردد تا بتوانیم آن را به دیگران اجاره دهیم .
👈 نکته ای این وسط حائز اهمیت است :
فرض کنید Lease Time را 8 ساعت تنظیم کردید . یک کاربر رأس ساعت 8 صبح از DHCP یک IP می گیرد ، بنابراین این کاربر تا ساعت 4 بعدازظهر IP خواهد داشت .
سوال :
اگر کاربر خواست تا ساعت 6 بعدازظهر کار کند ، چطور ؟
به نظر شما آیا منطقی است ، رأس ساعت 4 بعدازظهر Lease Time به پایان برسد و کامپیوتر بدون IP بماند و ارتباط آن با شبکه قطع شود ؟
در این گونه مواقع مکانیزمی برای DHCP وجود دارد که بدین صورت است ، سیستم عاملی که رأس ساعت 8 صبح IP گرفته است و تا 4 بعدازظهر IP دارد ، به 50% از زمان Lease Time که رسید ( در سناریو ما ساعت 12 ظهر است ) سراغ DHCP رفته و IP گرفته شده را مجدداً تمدید می کند . اگر موفق شود تا ساعت 12 شب IP دارد و این پروسه همینطور اتفاق می افتد .
سوال :
اگر رأس ساعت 10 صبح DHCP از مدار شبکه ما خارج شود و سیستم 50% از زمان Lease Time سراغ DHCP برود ، بنابراین دست آن به IP نخواهد رسید . راه حل چیست ؟
سیستم در همچین شرایطی خونسردی خود را حفظ می کند و هر از چند وقتی ، سراغ DHCP رفته تا IP گرفته شده را مجدداً تمدید کند . این پروسه را تا 87.5% از زمان Lease Time ( در سناریو طرف های ساعت 3:15 ) ادامه خواهد داد . شکی نیست اگر این سیستم نتواند IP را تمدید کند ، رأس ساعت 4 بعدازظهر سیستم به صورت اتوماتیک IP خود را از دست می دهد .
سیستم عامل با وجود داشتن IP ، وقتی به 87.5% از زمان Lease Time رسید دوباره شروع به داد زدن (Broadcast) می کند . آیا DHCP دیگری در مدار است که بتواند به ما IP دهد ؟
حال اگر Admin محترم برای DHCP در مدار Backup گذاشته باشد ، آنگاه این Backup صدای این کامپیوتر را می شنود و می گوید ، حالا که DHCP اول نیست نترس من هستم . ✋
DHCP Reservations :
اگر DHCP Server یک IP را به سیستمی اختصاص دهد ، سعی می کند دفعات بعد همان IP قبل را به سیستم بدهد ( این موضوع را از روی MAC Address می فهمد ) ، البته الزامی در کار نیست که امروز IP شما 10.1.2.5 و فردا روز هم همین IP را داشته باشید ، اما خاصیتی در DHCP وجود دارد به نام Reservation که باعث می شود IP به صورت گارانتی شده (ثابت) در اختیار کاربر قرار گیرد .
سوال :
فرض کنید که یک DHCP Server در مدار وجود دارد و من دیروز به کامپیوتر شرکت با آدرس 10.1.2.7 از طریق Remote Desktop وصل شدم . حال سوال اینجا است ، اگر امروز هم بخواهم با IP به سیستم شرکت Remote بزنم ، فلانی برو ببین DHCP به ما چه IP داده است ، آیا این کار را سخت نمی کند ؟
مسلماً این کار را سخت خواهد کرد ، اما نکته ای این وسط به ما کمک می کند ، اگر شما در شبکه DNS Server داشته باشید ، DHCP و DNS به شدت با هم در ارتباط هستند . DHCP به محض اینکه یک IP را به یک سیستم می دهد رکورد آن را ثبت می کند . ( مثلا ، PC5 امروز IP آن 10.1.2.7 است) بنابراین حتی اگر IP هم تغییر کند اسم در DNS Server ثابت است و هر روز به جای استفاده از IP ، با اسم به سیستم مورد نظر Remote بزنید که سیستم از DNS می پرسد و DNS هم آخرین رکورد ثبت شده را به سیستم نشان می دهد .
APIPA (Automatic Private IP Addressing) :
در مباحث DHCP قائده ای به اسم APIPA وجود دارد که می گوید ، اگر سیستمی به هر دلیلی نتواند از IP 👈 DHCP Server بگیرد ، سیستم خودش به خودش IP خواهد داد . این IP در رنج 169.254.0.0/16 است . البته ما این رنج IP را به رسمیت نمی شناسیم و هر زمان که IP سیستمی با 169.254 شروع شود ، نشان دهنده یک سری مشکلات در این سیستم می باشد.
دلایلی که سیستم نتواند از IP 👈 DHCP Server بگیرد بدین شرح است :
✔️ سرویس DHCP در مدار نیست .
✔️ DHCP دارید ، اما ساخت Scope مربوط به آن شبکه را فراموش کردید .
✔️ DHCP دارید ، Scope هم دارید ، اما Interface های کامپیوتر ها را Agent نکردید .
✔️ IP که جهت Agent کردن Router دادید ، اشتباه است .
✔️ Routing شبکه مشکل دارد . ( جدول مسیر یابی بین 2 روتر باید تکمیل شود )
فعال سازی سرویس DHCP :
DHCP Server هیچ وقت خودش به خودش نمی تواند IP دهد ، بنابراین IP آن همیشه به صورت دستی تنظیم تنظیم می شود . ما بر روی ویندوز سرور همیشه IP را به صورت دستی تنظیم می کنیم و DHCP Server را برای Client ها در نظر می گیریم . ( Server ها به دلیل اینکه به شبکه ما سرویس DNS ، AD … ارائه می دهند ، بهتر است IP آنها ثابت ، دستی و وابسته به DHCP نباشد )
✔️ DHCP Server جزء Role های ویندوز Server محسوب می شود ، بنابراین در
ویندوز سرور از بخش Server Masnager ، گزینه Add Roles and Features را انتخاب کنید .
✔️ آن چیزی که ما می خواستیم فعال کنیم Role بود نه Feature ، بنابراین در لیست Role ها تیک DHCP Server را انتخاب کنید .👈 Next و Install .
✔️ سرویس DHCP وابستگی به Domain ندارد ، اما اگر DHCP را بر روی سیستمی فعال کردید که تحت Domain بود ، باید از Domain Controller اجازه فعالیت ( Authorize ) بگیرد . در غیر اینصورت فلش قرمز زنگ رو به پایین بر روی DHCP شما ظاهر خواهد شد و DHCP شما کار نخواهد کرد .
✔️ بر روی اسم سرور کلیک راست و گزینه Refresh + Authorize را انتخاب کنید .
ساخت Pool / Scope :
قابلیت IPv4 و IPv6 در DHCP Server وجود دارد و طبق سناریو 3 عدد Scope با قابیت IPv4 می سازیم .
✔️ بر روی IPv4 کلیک راست و گزینه New Scope را انتخاب کنید .
✔️ نامی برای Scope مورد نظر تایپ کنید . (Description اختیاری است)
✔️ در بخش بعد باید تکلیف IP و Subnet Mask را مشخص کنید ، ابتدا و انتهای بازه ای که می خواهید در اختیار کاربران قرار دهید را وارد کنید . ( IP سر رنج و ته رنج قبول نیست )
✔️ در بخش بعد در مورد عبارتی به اسم Exclusion صحبت می کند ، Exclusion یعنی IP هایی که در صفحه قبل نام بردید و قرار نیست به کسی داده شود . ( مثلا ، IP روتر )
البته یک راه حل منطقی تر هم وجود دارد ، در صفحه قبل از 1 تا 253 را تایپ کنید تا نیازی به بخش Exclusion نداشته باشید .
✔️ Subnet Delay In Milli Second : به صورت نورم این گزینه زیاد استفاده نمی شود و برای این موضوع است که اگر شما در مدار 2 سرویس DHCP دارید ، کدام DHCP زودتر IP دهد .
اینکه شما به این DHCP Server می گوید ، برای این Scope مثلا تأخیر 10 میلی ثانیه اعمال کن ، یعنی می خواهید اولویت را به DHCP دیگری دهید .
مستحضر باشید که ، DHCP می تواند IP را به صورت اجاره ای در اختیار کاربر قرار دهد ، که اصطلاحا به آن Lease Time گویند . مدت زمان اجاره را ما تعیین می کنیم مثلا ، در Microsoft پیش فرض 8 روز است ، اما غالباً افراد Lease Time را به صورت استاندارد براساس ساعت تنظیم می کنند .
✔️ ملزومات Scope تا همین جا تمام شد ، از این لحظه بعد هر چیزی که به DHCP Server اضافه کردید ، Option نام دارد . مثلا ، Gateway کاربران این شبکه را مشخص کنید DNS ، Domain Name و … اینها همه Option نام دارند . به یاد داشته باشید که ، DHCP فقط محدود به Option هایی مثل DNS ، Domain Name ، Router نیست و تعداد Option ها بسیار زیادی است ، حتی شاید تا الان به گوشمان هم نخورده باشد .
✔️ قبل از اینکه Next را بزنید و Option های این Scope را تنظیم کنید ، به یاد داشته باشید هر Option یک کد دارد . نیازی به حفظ کردن این کد ها ندارید ، بیشتر جنبه امتحانی دارد ، اما چند تا از معروف ها را حفظ باشید بد نیست . ( Router 003 )
✔️ در مرحله بعد Gateway کاربران این شبکه را مشخص کنید .
✔️ در بخش بعد باید Domain Name و DNS Server را مشخص کنید . اگر Domain شما تعداد 2 عدد Controller دارد ، بهتر است هر 2 را وارد کنید .
✔️ بعد از ساخت Scope ، دایره آبی رنگی بر روی Scope ظاهر می شود که یعنی ، Scope شما از IP خالی است . البته یک نوع توهم است که با Refresh این توهم از بین می رود .
به یاد داشته باشید ، هر Scope از چند مجموعه تشکیل شده است :
Address Pool : بازه آدرس IP و آنهایی که Exclusion کردید . اگر احیاناً خواستید Exclusion جدید اضافه کنید ، کافی است در صفحه New Exclusion Range را انتخاب کنید و همیچنین بازه IP را کم و زیاد کنید ، کافی است بر روی اسم Scope کلیک راست و Propertise را انتخاب کنید . ( Subnet Mask قابل تغییر نیست و در صورت اشتباه بودن آن باید Scope را پاک کنید )
Address Leases : در این بخش DHCP برای شما IP هایی که در اختیار کاربران قرار گرفته است را لیست خواهد کرد .
Reservations : اگر DHCP Server یک IP را به سیستمی اختصاص دهد ، سعی می کند دفعات بعد همان IP قبل را به سیستم بدهد ( این موضوع را از روی MAC Address می فهمد ) ، البته الزامی در کار نیست که امروز IP شما 10.1.2.5 و فردا روز هم همین IP را داشته باشید ، اما خاصیتی در DHCP وجود دارد به نام Reservation که باعث می شود IP به صورت گارانتی شده (ثابت) در اختیار کاربر قرار گیرد .
Scope Options : به یاد داشته باشید که ، DHCP فقط محدود به Option هایی مثل DNS ، Domain Name ، Router نیست و تعداد Option ها بسیار زیادی است ، حتی شاید تا الان به گوشمان هم نخورده باشد . این موضوع با کلیک راست بر روی Scope Options و انتخاب گزینه Configure Options قابل روئت خواهد بود . ( به عنوان مثال ، Option با کد 150 مربوط به IP Telephone Cisco که در لیست نیست و شما باید آن را به لیست DHCP اضافه کنید )
بخش Reservations :
خاصیتی در DHCP وجود دارد به نام Reservation که باعث می شود IP به صورت گارانتی شده (ثابت) در اختیار کاربر قرار گیرد . به عنوان مثال : یک IP ثابت برای ویندوز 10 در نظر بگیرید .
✔️ ابتدا باید MAC Address ویندوز 10 را پیدا کنید .
✔️ وارد بخش Reservations در سرویس DHCP شوید و New Reservation را انتخاب کنید .
✔️ MAC Address به حروف بزرگ و کوچک حساس نیست ، حتی نیاز به خط تیره هم ندارید و همه آیتم ها را پشت سر هم بزنید ، کار می کند .
بعد از Reservation از بخش Address Leases آدرس IP قابل روئت خواهد بود . (کنار IP آیکن ساعت وجود ندارد و مادام العمر Reserve شده است ، زیرا زمان اجاره ندارد)
عملیات Reservation کاربرد دیگر هم دارد ، شما می توانید Option های یک سری از کاربر ها را متفاوت با Option های Scope قرار دهید . ( مثلا ، برای فلان سیستم یک Option با کد 121 Reserve کنید که بقیه سیستم ها این Option را ندارند )
نکاتی در بحث DHCP :
جهت مشاهده نتیجه IP گرفته شده از DHCP Server ، از دستور ip config در محیط خط فرمان استفاده کنید .
C:\Users\Administrator>ipconfig
اگر آدرس Gateway روتر را اشتباه تایپ کرده باشید ، کافی است در بخش Scope Options بر روی ( 003 Router ) کلیک و آن را اصلاح کنید . البته ممکن است این وسط مشکلی به وجود آید و سیستم های دیگر با توجه به Lease Time ، مثلا 4 ساعت منتظر بمانند تا مجدداً نزد DHCP رفته و تمدید کنند . بنابراین برای حل این مشکل 2 راه وجود دارد :
1
سیستم مورد نظر را Restart کنید . در پروسه Boot شدن سیستم سراغ DHCP رفته و بعد از گرفتن IP متوجه تغییر Gateway خواهد شد . 2
با استفاده از دستورات زیر به سرویس DHCP شوک دهید تا سراغ DHCP رفته و مجدداً IP بگیرد . ( زیرا در DHCP تغییراتی اتفاق افتاده است که این سیستم متوجه آن نشده است )
C:\Users\Administrator>ipconfig/release
C:\Users\Administrator>ipconfig/renew