مشکل IP نگرفتن یک کامپیوتر بعد از تغییر محدود IP در DHCP سرور
سلام دوستان عزیزم؛ وقتتون بخیر! من یک شبکه تستی راه انداختم با یک سرور و 3 تا کامپیوتر ! روی 2 تا از کامپیوترها ویندوز XP نصب هستش و روی یکی دیگه ویندوز 7 .تا چند روز پیش IP سرور من بدین شرح بود: 192.168.1.3 خب طبیعیه که DNS دیگر کامپیوترهام هم همین بود و همگی به خوبی و خوشی در کنار Active Directory زندگی می کردن.
تا اینکه مجبور شدم بنا به دلایلی IP سرور و باطبع DHCP رو عوض کنم. میخواستم بپرسم اولا مراحل این کار ظرافت خاص خودش رو داره؟؟ حالا من چیکار کردم! چون دیدم داره پیام خطا میده اومدم و یه Scope دیگه با این Range درست کردم : 192.168.110.1 بعدش قبلی رو حذف کردم.
حالا دو تا کلاینت XP با یه خورده Ipconfig//flushdns و release و config از DHCP جدید IP گرفتن و IP هاشون هم تو DHCP سرور قابل دیدن هستش ولی اون یکی دیگه که ویندوز 7 هستش به هیچ صراطی مستقیم نیست و به هیچ وجه IP نمیگیره. هر چی دستور Ipconfig//flushdns رو هم میزنم کارساز نیست.
فقط و فقط وقتی که IP دستی میدم قادر به ارتباط با بقیه و Ping هستش ولی بازم IP که بهش دادم تو لیست DHCP من نمیاد. فایروال رو هم خاموش کردم. میخواستم ببینم دلیل این مورد چی میتونه باشه که این کامپیوتر براحتی IP نمیگیره؟؟ این کامپیوتر رو به سرور اصلی شرکت که تستی نیست وصل کردم و فورا از اون IP توسط DHCP سرور گرفت ولی از این یکی تستی اصلا نمیگیره. امکانش هست یه راهنمایی بکنید؟؟ ممنونم ازتون
4 پاسخ
با سلام
نسخه ویندوز سرور و DHCP شما چیست؟
آی پی 169 میگیره؟
تمام سیستم ها به سوئیچ وصل هستن سرور هم به سوئیچ خورده؟
نوع سوئیچتون چیه؟
تا حالا سعی کردید یک بار دیگه DHCP رو کانفیگ کنید؟
تو Services برو یک بار DHCP Client رو Stop کن مجدداً Start کن.
سلام فرهاد جان؛
آره عزیزم دقیقا درست فرمودی: IP همون 169 رو میگیره.
مرحله اول :
الف) سرور(دارای ویندوز 2008 از نوع R2) + یک کلاینت (سیستم عامل XP ) + یک لپ تاپ ( چه با ویندوز XP و چه با ویندوز 7 هر دوتا از این سرور به درستی IP می گیرن) + یک کلاینت دیگه (ویندوز 7 که به هیچ وجه IP نمیگیره از این سرور تستی) همگی به یه Hub با 8 پورت وصل هستند.
ب) همین کلاینتی که دارای ویندوز 7 هستش و از این سرور IP نمیگیره از سرور اصلی و به درستی در عرض کمتر از چند ثانیه IP میگیره! و دیگه 169 نیست و میره تو range سرور اصلی! عجیبه مگه نه !!
ج) حالا اگه ایراد از سرور تستی باشه خب پس چرا بقیه دارن IP میگیرن؟؟؟!!!! و اگه ایراد از این کلاینت هستش چرا به محض اینکه به سرور اصلی وصل میشه به درستی IP میگیره ازش؟؟؟
مرحله دوم
من اومدم چیکار کردم!! حتی اومدم از Active Directory اسم این کامپیوتر رو حذف کرده و کلا کلاینت رو هم از دامنه خارجش کردم. دوباره که میخواستم بیارمش تحت Domain کنم:
الف) اول IP سرور تستی رو که میخواستم تحت اون دامنه باشه، تو DNS وارد کردم ولی قبول نمی کرد و پیام عدم ارتباط با سرور رو میداد.
ب) اومدم و بطور کامل بهش IP دادم یعنی بهش گفتم تو IP این رو بگیر: 192.168.110.15 با Subnet 255.255.255.0
و در قسمت DNS هم مجددا IP سرور رو که این بود زدم: 192.168.110.1
اینجوری تونستم به دامنه مورد نظر join کنم.
حالا بنظرتون کجای کار ایراد داره که از یکی به درستی IP میگیره و از یکی دیگه نمیگیره؟؟؟
مجددا DHCP رو از تو سرور حذف کرده و دوباره کانفیگ و نصب کنم؟؟؟؟
چگونگي کارکرد يک DHCP:
زمانيکه يک کاربر کامپيوتر خود را راه اندازي مي کند سيستم عامل آن بعد از بالا آمدن در خواستIP ميکند. بعد از آن 4 مرحله انجام ميگيرد:
1-DHCP Discover
در اين مرحله Client درخواست خود را جهت دريافتIP در شبکه Broadcast ميکند. به آدرس 255.255.255.255 ارسال ميکند و IP خود او نيز 0.0.0.0 در نظر ميگيرد.
2-DHCP Offer
در اين مرحله تمام DHCP Server هائيکه Broadcast انجام شده در مرحله اول را دريافت ميکنند از Range IP تعريف شده بر روي خود يک IP انتخاب نموده و به همراه مدت زماني که قرار است آنIP را در اختيار Client قرار دهد و آنرا به شکل زير ارسال ميکند.
Source IP=IP of DHCP Server Destination MAC Address=Client Destination IP=255.255.255.255
3-DHCP Request
Client درخواست کننده پس از دريافت DHCP Offer ها اولين DHCP Offer را انتخاب نموده و آنرا توسط يک Packet در شبکه Broadcast ميکند و در آن Packet آدرسDHCP Server که Offer او قبول شده است مشخص مينمايد.
4- DHCP Ack,DHCP Nack
پس از آنکه Client به DHCP Server که Offer اوقبول شده DHCP Request را فرستاد در صورتيکه هنوز IP که Offer شده در Range او وجود داشته باشد و توسط Admin حذف نشده باشد DHCP Server تاييد خود را مبني بر اختصاص IP به Client اعلام ميکند. ولي اگر IP توسط Admin از Range مربوطه حذف شده باشد DHCP به Client درخواست کننده پيغامDHCP Nack را ارسال ميکند و Client مجبور ميشود که تمام مراحل را دوباره طي کند.
اگر DHCP در شبکه موجود نباشد:
Client پس از ارسال DHCP Discover يک ثانيه منتظر جواب مي ايستد اگر جوابي دريافت نکرد 3بار ديگر به فاصله زماني 9 و 13 و 16 ثانيه دوباره Broadcast ميکند اگر باز هم جوابي نگرفت هر 5 دقيقه يک بار به کار خود ادامه ميدهد.
(APIPA (Automatic Private IP Addressing :
Client هاي 98 و 2000 اگر DHCP را پيدا نکنند به هر دليلي به صورت اتوماتيک از رنج 169.254.x.y يک IP انتخاب ميکنند. در ضمن قبل از استفاده از آن آنرا Broadcast ميکنند تا احيانا Client ديگري در حال استفاده از آن IP نباشد. با اين حال هر 5 دقيقه يک بار به تلاش خود مبني بر گرفتن IP از DHCP ادامه ميدهد.
دستور ipconfig:
با استفاده از اين دستور که در Command Prompt اجرا ميشود ميتوان تنظيمات IP را مشاهده کنيم.براي گرفتن IP از DHCP بايد دستور IPCONFIGRENEW را درCMD وارد کنيم و براي ازاد کردن IP دستور IPCONFIGRELEASE را در همان CMD وارد ميکنيم.
IP reservation:
در صورت نياز ميتوان براي کامپيوتر ها و مخصوصا Network Printer ها IP رزرو نمود تا هر بار که آنها درخواست IP نمودند آن IP هاي رزرو شده به آنها اختصاص داده شود براي اين کار دانستنMAC Address کارت شبکه مورد نياز است.
Lease Time:
به مدت زماني که يک IP به يک Client اختصاص داده ميشود Lease Time ميگويند که به صورت پيش فرض 8 روز است.
Notepad را باز کرده و در آن دو دستور زیر را بنویسید
netsh interface ip set address "Local Area Connection" dhcp netsh interface ip delete dns "Local Area Connection" all
Notepad را بسته و فایل نوشته شده را بصورت فایل Bat و با نام دلخواه ذخیره میکنیم ، در این سناریو برای مثال نام آن را DHCP-Auto.bat قرار داده ایم سپس فایل ساخته شده را در یک پوشه Share شده که دسترسی های مناسب را برای یوزرهای مد نظرمان دارند قرار میدهیم سپس در ویندوز در Group Policy Object مربوط به کلاینتهای مد نظرمان رفته و به مسیر زیر میرویم
Computer Configuration ==> Policies ==> Windows Settings ==> Script (Startup/Shutdown)
در اینجا Startup را باز کرده و در پنجره باز شده Add را میزنیم و آدرس UNC یعنی آدرس تحت شبکه فایل DHCP-Auto.bat را میدهیم
جهت اطلاعات بیشتر لینک زیر را ببینید