DHCP یک پروتکل مدیریت شبکه است که به هر دستگاه موجود در شبکه یک IP اختصاص می دهد تا بتواند از طریق شبکه با دیگران ارتباط برقرار کند. DHCP این تنظیمات را به صورت خودکار و مرکزی مدیریت می کند و مدیران شبکه نیازی به اختصاص دستی آدرس IP به همه دستگاه ها ندارند. درواقع DHCP را می توان در شبکه های محلی کوچک و همچنین شبکه های سازمانی بزرگ پیاده سازی کرد.
DHCP به طور خودکار یک IP جدید را به دستگاهی که در شبکه حرکت می کند اختصاص می دهد. سرور DHCP یک جزء حیاتی از زیرساخت فناوری اطلاعات در اکثر محیط ها است. علاوه بر نظارت، که در دسترس بودن اولیه سرویس را تضمین می کند، ممکن است بخواهید وضعیت محدوده IP یا اجاره نامه را نیز بررسی کنید. PowerShell چندین cmdlet را برای این منظور فراهم می کند.
دستورات مدیریت سرور های DHCP مبتنی بر ویندوز بخشی از ماژول DhcpServer هستند که با نصب RSAT برای DHCP میتوان آنها را دریافت کرد. cmdlet های ذکر شده در اینجا به ویژه برای تجزیه و تحلیل مشکلات پیش آمده مفید هستند.
نحوه شناسایی همه سرورها و جستجو در تنظیمات آنها
اولین قدم برای آنالیز DHCP، بازیابی لیستی از سرورهایی است که سرویس DHCP را به شبکه ارائه می دهند. این امر به ویژه برای محیط های بزرگتر با چندین سرور DHCP مهم است.
cmdlet Get-DhcpServerInDC این کار را انجام می دهد و معمولاً بدون پارامتر فراخوانی می شود.
برای استفاده بیشتر در دستورات دیگر، می توانید نام سرورهای برگشتی را در یک متغیر ذخیره کنید:
$dhcps = (Get-DhcpServerInDC).DnsName
cmdlet لیستی از سرورهای DHCP ثبت شده در Active Directory را برمی گرداند. این بدان معنی است که سرورهای DHCP را که بدون اطلاع بخش فناوری اطلاعات به شبکه متصل شده اند، پیدا نخواهید کرد.
برخی از تنظیمات اولیه یک سرور DHCP، مانند اینکه آیا عضو دامنه است و مجاز است یا خیر، می تواند با دستور زیر بازیابی شود:
Get-DhcpServerSetting -ComputerName <MyDHCP>
این cmdlet همچنین به شما می گوید که آیا دیتا ها از یک نسخه پشتیبان بازیابی شده اند یا خیر. این و سایر اطلاعات در مورد پایگاه داده را می توان از کوئری زیر نیز بدست آورد:
Get-DhcpServerDatabase -ComputerName <MyDHCP>
Get-DhcpServerAuditLog -ComputerName <MyDHCP>
شما می توانید متوجه شوید که آیا ورود به سیستم برای سرویس DHCP فعال شده است یا خیر و فایل log در کجا ذخیره می شود.
با این حال، شما نمی توانید محتوای log را با این دستور نمایش دهید. شما باید خودتان این فایل متنی را ارزیابی کنید.
cmdlet های اختصاصی برای IPv4 و IPv6
اکثر عملکردهای ماژول در دو نسخه موجود هستند. همه توابع دارای “۴” یا “۶” در نام خود هستند زیرا به ترتیب به IPv4 یا IPv6 مربوط می شوند. بنابراین مثال های زیر برای IPv4 را می توان برای IPv6 اعمال کرد:
برای دریافت آنالیز و آمار سرویس DHCP برای IPv4 به طور کلی، باید از موارد زیر استفاده کنید:
Get-DhcpServerv4Statistics -ComputerName <MyDHCP>
آمار شامل اعدادی است که میتوانید با ارزیابی دامنههای فردی نیز به دست آورید، اما در اینجا مجموع همه دامنه ها آمده است.
Getting IPv4-related statistics for a DHCP server using Get-DhcpServerv4Statistics
آموزش آنالیز دامنه های (Scopes) DHCP
اکثر کوئری ها، خواه در مورد آدرس های IP موجود باشند یا آمارهای عمومی، به حوزه های خاصی اشاره می کنند. می توانید آنها را با استفاده از Get-DhcpServerv4Scope بشمارید.
برای مثال، اگر میخواهید تمام دامنههای همه سرورهای DHCP را خروجی بگیرید تا ببینید آیا بین آنها overlap وجود دارد یا خیر، میتوانید به صورت زیر عمل کنید:
$dhcps = (Get-DhcpServerInDC).DnsName $dhcps | foreach {Get-DhcpServerv4Scope -ComputerName $_}
برای دریافت نمای کلی از مهمترین ارقام مربوط به دامنه IPv4 یک سرور DHCP، از موارد زیر استفاده کنید:
Get-DhcpServerv4ScopeStatistics -ComputerName <MyDHCP>
این دستور به شما میگوید که چه درصدی از محدوده استفاده میشود و چه تعداد آدرس قبلاً گرفته شده یا هنوز در دسترس هستند.
آدرس های آزاد، اختصاص داده شده و رزرو شده
اطلاعات آدرس های آزاد، را می توان با Get-DhcpServerv4FreeIPAddress به دست آورد.
توجه: اگر آن را فقط با استفاده از پارامتر ScopeID بازیابی کنید، فقط آدرس آزاد بعدی را دریافت خواهید کرد. برای بررسی آدرسهای موجود بیشتر، باید مقداری برای NumAddress وارد کنید:
DhcpServerv4FreeIPAddress -ComputerName <MyDHCP> -ScopeId 192.168.0.0 ` -StartAddress 192.168.0.59 -NumAddress 20
این مثال ۲۰ آدرس آزاد را لیست می کند که از ۱۹۲٫۱۶۸٫۰٫۵۹ شروع می شود
ممکن است دوست داشته باشید که بدانید کدام آدرس ها قبلاً به دستگاه ها اختصاص داده شده اند:
Get-DhcpServerv4Lease -ComputerName <MyDHCP> -ScopeId 192.168.0.0
در خروجی تابع بالا، آدرس MAC کلاینت ها و وضعیت آنها را به عنوان اطلاعات اضافی خواهید دید.
علاوه بر آدرسهای Hchn و قبلاً اختصاص داده شده، معمولاً آدرسهایی نیز وجود دارند که برای دستگاههایی با IP ثابت رزرو شدهاند. این موارد را می توان به صورت زیر استعلام کرد:
Get-DhcpServerv4Reservation -ComputerName <MyDHCP> -ScopeId 192.168.0.0
توجه: اگر کلاینت نمی تواند آدرسی را دریافت کند، باید بررسی کنید که آیا در لیست رد کردن ظاهر می شود یا خیر:
Get-DhcpServerv4Filter -ComputerName <MyDHCP>
جمع بندی
ماژول Dhcp Server شامل ۱۲۱ فرمان است که نه تنها تنظیمات و وضعیت آنها آنالیز می کند، بلکه می تواند سرویس را نیز پیکربندی کند.