ما هو بروتوكول DHCP وكيف يعمل؟ | شرح شامل للمبتدئ والمحترف
8 نوفمبر 2025 | الفئة: Networking – Windows Server – MikroTik – CCNA – Infrastructure
بروتوكول DHCP — التوزيع التلقائي لعناوين IP وإعدادات الشبكة
- DHCP: بروتوكول يُوزّع عناوين IP وإعدادات الشبكة تلقائياً.
- DORA: Discover → Offer → Request → Acknowledgment — أربع خطوات تحدث في ثوانٍ.
- بدونه: كل جهاز يحتاج إعداداً يدوياً — كابوس في شبكة 500 جهاز.
- ما هو DHCP ولماذا وُجد؟
- كيف يعمل DHCP؟ — مراحل DORA بالتفصيل
- المصطلحات الأساسية: Scope وLease وReservation
- DHCP Options — الإعدادات الإضافية
- DHCP Relay (IP Helper) — في شبكات VLAN
- DHCP Failover — التوفر العالي
- DHCP مع DNS وActive Directory
- إعداد DHCP على Windows Server
- إعداد DHCP على MikroTik
- إعداد DHCP على Cisco IOS
- أمان DHCP — DHCP Snooping والتهديدات
- المشاكل الشائعة وحلولها
- الأسئلة الشائعة (FAQ)
- الخاتمة
- مقالات مرتبطة
1. ما هو DHCP ولماذا وُجد؟
قبل ظهور DHCP، كان مسؤول الشبكة يجلس أمام كل جهاز جديد ويُدخل يدوياً: IP Address وSubnet Mask وDefault Gateway وDNS Server. في شبكة من 10 أجهزة هذا مقبول — لكن في شبكة من 500 أو 5000 جهاز؟ كابوس إداري حقيقي مع احتمالية أخطاء ضخمة.
DHCP (Dynamic Host Configuration Protocol) ظهر عام 1993 ليحل هذه المشكلة — بروتوكول يُوزّع عناوين IP وإعدادات الشبكة تلقائياً على كل جهاز يتصل بالشبكة، بدون تدخل يدوي. أنت توصّل الكابل أو تتصل بالـ WiFi — الجهاز يحصل على كل الإعدادات في ثوانٍ.
- Port 67: يستمع خادم DHCP على هذا المنفذ.
- Port 68: يستخدمه العميل (Client) لاستلام الردود.
2. كيف يعمل DHCP؟ — مراحل DORA بالتفصيل
عملية الحصول على IP عبر DHCP تمر بأربع مراحل تُعرَف اختصاراً بـ DORA — وكلها تحدث في ثوانٍ معدودة لا تلاحظها:
الجهاز الجديد لا يعرف عنوان خادم DHCP — لذا يرسل رسالة Broadcast لكل الشبكة على عنوان 255.255.255.255 بمعنى: "هل يوجد خادم DHCP هنا؟ أحتاج IP!" — المصدر 0.0.0.0 لأنه لا يملك IP بعد.
الخادم يستلم الطلب ويرد بـ Broadcast أيضاً (لأن الجهاز لا يملك IP بعد) بعرض يحتوي: IP مقترح، Subnet Mask، Gateway، DNS، ومدة الإيجار (Lease Time). الخادم يحجز هذا الـ IP مؤقتاً.
الجهاز يُرسل Broadcast آخر يُعلن قبوله للعرض ويطلب تأكيده. لماذا Broadcast مجدداً؟ لأن قد يكون هناك أكثر من خادم DHCP — هذا الـ Broadcast يُخبر الخوادم الأخرى أن الجهاز اختار هذا الخادم تحديداً.
الخادم يُرسل ACK يُؤكد منح الـ IP ويُضمّن جميع الإعدادات (Lease Time، Gateway، DNS...). الجهاز يُطبّق الإعدادات ويبدأ استخدام الشبكة. تم!
3. المصطلحات الأساسية
| المصطلح | التعريف | مثال |
|---|---|---|
| Scope / Range | نطاق العناوين التي يُوزّعها الخادم | 192.168.1.100 – 200 |
| Lease Time | مدة استخدام الـ IP قبل التجديد | 8 ساعات للمكاتب، 1 يوم للخوادم |
| Reservation | حجز IP ثابت لجهاز عبر MAC Address | طابعة، NAS، IP Phone |
| Exclusion | استثناء عناوين من نطاق التوزيع | 192.168.1.1-10 للأجهزة Static |
| DHCP Pool | مجموعة العناوين المتاحة للتوزيع | الـ Scope مطروحاً منه Exclusions |
| Lease Database | سجل بكل العناوين الممنوحة حالياً | يُخزَّن في dhcp.mdb على Windows |
4. DHCP Options — الإعدادات الإضافية
DHCP لا يُوزّع IP فقط — يُمرّر معه "خيارات" (Options) إضافية تُساعد الجهاز على معرفة المزيد عن الشبكة:
| Option Code | الاسم | مثال | الأهمية |
|---|---|---|---|
| 003 | Default Gateway | 192.168.1.1 | ضروري |
| 006 | DNS Servers | 192.168.1.10 | ضروري |
| 015 | DNS Domain Name | corp.local | موصى به |
| 044 | WINS Server | 192.168.1.15 | Legacy |
| 051 | Lease Time | 86400 (يوم) | مهم |
| 066 | TFTP Server Name | 192.168.1.20 | PXE Boot |
| 150 | TFTP Server (Cisco) | 192.168.1.20 | IP Phones |
5. DHCP Relay (IP Helper) — في شبكات VLAN
في شبكة بسيطة، الـ DHCP Broadcast يصل للخادم بسهولة. لكن في شبكة بها VLANs متعددة، الـ Broadcast لا يتجاوز حدود الـ VLAN — فكيف يحصل جهاز في VLAN 20 على IP من خادم DHCP في VLAN 10؟
الحل: DHCP Relay (يُعرَّف أيضاً بـ IP Helper). الـ Router أو الـ Layer 3 Switch يستقبل الـ Broadcast من الـ VLAN ويُحوّله لـ Unicast ويُرسله مباشرةً لعنوان خادم DHCP — كأنه وسيط.
إعداد DHCP Relay على Cisco IOS
يُضاف الأمر على Interface الـ VLAN الذي يحتاج الـ Relay.
على Interface الـ VLAN (SVI) في الـ Layer 3 Switch
interface vlan 20 ip helper-address 192.168.10.5
التحقق من إعداد ip helper-address
show running-config | include helper
إعداد DHCP Relay على MikroTik
إضافة DHCP Relay لتوجيه الطلبات لخادم مركزي.
إضافة DHCP Relay
/ip dhcp-relay add name=relay_vlan20 interface=bridge_vlan20 dhcp-server=192.168.10.5 local-address=192.168.20.1
6. DHCP Failover — التوفر العالي
في البيئات الإنتاجية، خادم DHCP واحد يعني نقطة فشل واحدة — إذا توقف، لا يحصل أي جهاز جديد على IP. DHCP Failover يُحل هذه المشكلة بتشغيل خادمَين يتشاركان قاعدة بيانات الـ Leases.
وضعَا الـ Failover:
- Load Balance (50/50 أو 80/20): كلا الخادمَين يستجيبان للطلبات. الأفضل للأداء. في الغالب 50/50 للـ Active-Active.
- Hot Standby: الخادم الثانوي لا يستجيب إلا إذا فشل الأساسي. الأفضل لضمان الاستمرارية.
إعداد DHCP Failover على Windows Server
عبر PowerShell على خادم DHCP الأساسي.
إنشاء Failover Relationship بين خادمَين
Add-DhcpServerv4Failover -Name "DC1-DC2-Failover" -PartnerServer "DC2.corp.local" -ScopeId 192.168.10.0 -LoadBalancePercent 50 -SharedSecret "SecretKey123!"
عرض حالة الـ Failover
Get-DhcpServerv4Failover
7. DHCP مع DNS وActive Directory
في بيئة Windows مع Active Directory، DHCP وDNS يعملان معاً بشكل متكامل — عندما يحصل جهاز على IP من DHCP، يُحدَّث سجل DNS الخاص به تلقائياً. هذا يُسمى Dynamic DNS (DDNS).
أهم الإعدادات في بيئة Active Directory:
- Option 006 (DNS Servers): يجب أن يُشير للـ Domain Controllers — لا لـ 8.8.8.8 أبداً في بيئة AD.
- Option 015 (DNS Domain): اسم الـ Domain الداخلي (مثل corp.local).
- Always Dynamically Update DNS: فعّل هذا الخيار في إعدادات الـ Scope.
- Authorize DHCP Server في AD: Windows Server يرفض تشغيل DHCP بدون تفويض (Authorization) — حماية من Rogue DHCP.
تفويض خادم DHCP في Active Directory
ضروري حتى يعمل DHCP Server على Windows في بيئة Domain.
تفويض الخادم في AD
Add-DhcpServerInDC -DnsName "DC1.corp.local" -IPAddress 192.168.10.5
التحقق من قائمة الخوادم المُفوَّضة
Get-DhcpServerInDC
8. إعداد DHCP على Windows Server
الخطوات عبر الواجهة الرسومية:
- Server Manager ← Add Roles → DHCP Server
- بعد التثبيت: Complete DHCP Configuration → Authorize في AD
- DHCP Console → New Scope → اسم الـ Scope، نطاق العناوين
- Exclusions للعناوين الثابتة، Lease Duration
- Scope Options: Gateway (003)، DNS (006)، Domain Name (015)
- Activate Scope
إعداد DHCP على Windows Server بـ PowerShell
الطريقة الأسرع والأفضل للنشر الموحّد.
إنشاء Scope جديد
Add-DhcpServerv4Scope -Name "Office" -StartRange 192.168.10.100 -EndRange 192.168.10.200 -SubnetMask 255.255.255.0 -Description "Office Network" -State Active
إضافة Exclusion Range
Add-DhcpServerv4ExclusionRange -ScopeId 192.168.10.0 -StartRange 192.168.10.1 -EndRange 192.168.10.10
ضبط Scope Options (Gateway وDNS والـ Domain)
Set-DhcpServerv4OptionValue -ScopeId 192.168.10.0 -Router 192.168.10.1 -DnsServer 192.168.10.5 -DnsDomain "corp.local"
إضافة Reservation لجهاز محدد
Add-DhcpServerv4Reservation -ScopeId 192.168.10.0 -IPAddress 192.168.10.50 -ClientId "00-11-22-33-44-55" -Description "FileServer"
عرض كل الـ Leases الحالية في Scope
Get-DhcpServerv4Lease -ScopeId 192.168.10.0
عرض إحصائيات الـ Scope (كم IP مستخدم؟)
Get-DhcpServerv4ScopeStatistics -ScopeId 192.168.10.0
9. إعداد DHCP على MikroTik
إعداد DHCP Server على MikroTik RouterOS
أوامر Terminal (WinBox أو SSH).
إنشاء IP Pool
/ip pool add name=pool_office ranges=192.168.20.100-192.168.20.200
إنشاء DHCP Server
/ip dhcp-server add name=dhcp_office interface=bridge_office address-pool=pool_office lease-time=1d disabled=no
إعداد Network Options (Gateway وDNS)
/ip dhcp-server network add address=192.168.20.0/24 gateway=192.168.20.1 dns-server=192.168.20.5 domain=corp.local
إضافة Lease ثابت (Reservation)
/ip dhcp-server lease add server=dhcp_office address=192.168.20.50 mac-address=00:11:22:33:44:55 comment="Printer"
عرض الـ Leases الحالية
/ip dhcp-server lease print
10. إعداد DHCP على Cisco IOS
إعداد DHCP Server على Cisco Router / Switch
Cisco IOS يدعم DHCP Server بدون الحاجة لخادم منفصل — مناسب للشبكات الصغيرة.
إضافة Exclusion للعناوين الثابتة
ip dhcp excluded-address 192.168.30.1 192.168.30.10
إنشاء DHCP Pool
ip dhcp pool OFFICE network 192.168.30.0 255.255.255.0 default-router 192.168.30.1 dns-server 192.168.30.5 domain-name corp.local lease 1
عرض الـ Leases الحالية
show ip dhcp binding
عرض إحصائيات DHCP
show ip dhcp pool
عرض Conflicts المكتشفة
show ip dhcp conflict
11. أمان DHCP — DHCP Snooping والتهديدات
Rogue DHCP — الخطر الأكبر
أي شخص يُشغّل خادم DHCP على جهازه يستطيع توزيع عناوين خاطئة على الشبكة — يُمرّر Gateway خاطئاً ويُصبح Man-in-the-Middle يرى كل حركة الشبكة.
DHCP Snooping — الحل على الـ Switch
يُقيّد DHCP Snooping الاستجابات لـ DHCP Requests على منافذ الـ Switch المُصرَّح لها فقط — المنافذ المتصلة بخوادم DHCP الحقيقية (Trusted Ports). أي DHCP Offer من منفذ غير موثوق يُحظَر.
تفعيل DHCP Snooping على Cisco Switch
يحمي الشبكة من خوادم DHCP المزيفة.
تفعيل DHCP Snooping عالمياً
ip dhcp snooping
تفعيله على VLAN محدد
ip dhcp snooping vlan 10,20,30
تحديد المنفذ الموثوق (المتصل بخادم DHCP الحقيقي)
interface GigabitEthernet0/1 ip dhcp snooping trust
التحقق من حالة DHCP Snooping
show ip dhcp snooping
12. المشاكل الشائعة وحلولها
| المشكلة | السبب المحتمل | الحل |
|---|---|---|
| 169.254.x.x على الجهاز | لم يجد خادم DHCP (APIPA) | تحقق من تشغيل الخادم وإعداد الـ Relay |
| Scope ممتلئ | عناوين نفدت أو Lease Time طويل | وسّع الـ Range أو قلّل الـ Lease Time |
| IP Conflict | جهاز بـ Static IP في نطاق الـ Scope | أضف Exclusion للعناوين الثابتة |
| Rogue DHCP على الشبكة | جهاز يُشغّل DHCP Server خاصاً به | فعّل DHCP Snooping على الـ Switch |
| VLAN لا تحصل على IP | Relay غير مُعدّ أو خاطئ | تحقق من ip helper-address على SVI |
| DHCP Server لا يعمل (Windows) | غير مُفوَّض في AD | نفّذ Add-DhcpServerInDC |
تشخيص مشاكل DHCP — Windows Client
أوامر CMD وPowerShell لتشخيص مشاكل الـ Client.
عرض معلومات IP الحالية
ipconfig /all
تحرير الـ IP الحالي وطلب جديد
ipconfig /release && ipconfig /renew
مسح DNS Cache بعد الحصول على IP جديد
ipconfig /flushdns
التحقق من اتصال الـ Client بخادم DHCP
Test-NetConnection -ComputerName "DC1.corp.local" -Port 67
13. الأسئلة الشائعة (FAQ)
14. الخاتمة
DHCP هو أحد البروتوكولات "الصامتة" في الشبكة — لا أحد يلاحظه عندما يعمل، لكن الجميع يشعر به عندما يتوقف. إعداده الصحيح منذ البداية يوفّر عليك ساعات من التشخيص لاحقاً.
سواء كنت تُعدّه على Windows Server في بيئة Enterprise مع AD وFailover، أو على MikroTik في شركة متوسطة، أو على Cisco في مختبر CCNA — المبدأ واحد: DORA، Scope، Options، وReservations للأجهزة الثابتة.
15. مقالات مرتبطة
DHCP في بيئة AD يحتاج تفويضاً خاصاً وإعدادات DNS محددة.
اقرأ المقال ←© 2025 – جميع الحقوق محفوظة | كمبيوترجي — تقنية المعلومات والبنية التحتية