الأمن السيبراني

DHCP، DNS و NAT/PAT على مُوجّه سيسكو لِامتحان CCNA

3 min de lecture

ثلاث خدمات أساسيّة تَجعل الإنترنت قابلاً للاستخدام : DHCP يُوزّع عَناوين IP تلقائيّاً على الأجهزة المُتّصلة بالشّبكة، DNS يُترجم الأسماء (مثل cisco.com) إلى عَناوين IP، وNAT/PAT يُتيح لعدّة أجهزة بِعَناوين خاصّة الوصول إلى الإنترنت عبر عُنوان عامّ واحد. كلّ هذه الخدمات تُعَدّ بسهولة على مُوجّه سيسكو، ولهذا تَظهر بِشكل دائم في امتحان CCNA 200-301 (قسم خدمات IP، 10%). هذا الدّرس يُغطّي الإعداد العمليّ لكلّ خدمة، مع أوامر show للتّحقّق ومُعالجة الأخطاء الشّائعة.

المتطلّبات

  • Cisco Packet Tracer أو مَختبر مماثل
  • إلمام بِأوامر IOS الأساسيّة وعَناوين IP
  • فهم تَكوين الواجهات والـ VLAN (انظر VLAN، Trunk 802.1Q)
  • الوقت المُقدّر : 75 دقيقة

الخطوة 1 — DHCP على مُوجّه سيسكو

يَعمل DHCP على مَنوال طلب-عَرض (DORA : Discover, Offer, Request, Acknowledge). يَطلب الجهاز عُنواناً، يُرسل DHCP Server عَرضاً، يَقبل الجهاز، يَستلم التّأكيد مع باراميترات كاملة (IP، subnet mask، gateway، DNS).

# على R1 (سَيَكون DHCP Server)
R1(config)#ip dhcp excluded-address 192.168.1.1 192.168.1.20
# نَستثني العَناوين الأولى للأجهزة الثّابتة (المُوجّه، الطّابعة، الخادم)

R1(config)#ip dhcp pool LAN_USERS
R1(dhcp-config)#network 192.168.1.0 255.255.255.0
R1(dhcp-config)#default-router 192.168.1.1
R1(dhcp-config)#dns-server 8.8.8.8 1.1.1.1
R1(dhcp-config)#domain-name itskillscenter.io/
R1(dhcp-config)#lease 7
R1(dhcp-config)#exit

# تَحقّق
R1#show ip dhcp pool
R1#show ip dhcp binding
# IP address     Client-ID/Hardware address  Lease expiration
# 192.168.1.21   0100.1234.5678.90           Mar 26 2026 02:30 AM

R1#show ip dhcp conflict

الـ lease 7 يُحدّد مدّة الإيجار بـ 7 أيّام (الافتراضي هو 24 ساعة). الجهاز يُحاول تَجديد بعد نِصف المدّة (3.5 يوماً) قبل الانتهاء. لِحركة المرور القَصيرة (مَطار، فندق، wifi عامّ)، اِضبط lease لساعة أو أقلّ.

الخطوة 2 — DHCP Relay مع ip helper-address

إذا كان DHCP Server في شبكة مُختلفة عن العميل (سيناريو شائع في الشّركات : Server المركزيّ، عملاء في عشرات الـ VLAN)، الـ DHCP Discover لا يَعبر المُوجّه طبيعيّاً (broadcast). الحلّ : ip helper-address على الواجهة المُتّصلة بالعملاء.

# سيناريو : DHCP Server على 192.168.100.10
# العملاء على VLAN 10 (192.168.10.0/24)
# المُوجّه R1 يَخدم VLAN 10

R1(config)#interface gigabitEthernet 0/0.10
R1(config-subif)#encapsulation dot1q 10
R1(config-subif)#ip address 192.168.10.1 255.255.255.0
R1(config-subif)#ip helper-address 192.168.100.10

# الآن، DHCP Discover من العملاء على VLAN 10 يُعاد توجيهه
# إلى 192.168.100.10 كـ unicast، الـ Server يَرد، المُوجّه يُمرّر

يُمكن إضافة عدّة ip helper-address على نفس الواجهة لتَكرار DHCP (redundancy). الـ helper يُعيد توجيه أيضاً TFTP، NTP، DNS الـ broadcasts افتراضيّاً، يُمكن تَخصيص ذلك بـ ip forward-protocol.

الخطوة 3 — تَكوين العميل DHCP

# على واجهة المُوجّه (إذا كان عميلاً)
R2(config)#interface gigabitEthernet 0/1
R2(config-if)#ip address dhcp
R2(config-if)#no shutdown

# تَحقّق
R2#show ip interface gigabitEthernet 0/1
# GigabitEthernet0/1 is up, line protocol is up
# Internet address is 192.168.1.21/24 (provided by DHCP)
# Broadcast address is 255.255.255.255

# تَحديث الإيجار يَدويّاً
R2#release dhcp gigabitEthernet 0/1
R2#renew dhcp gigabitEthernet 0/1

الخطوة 4 — DNS على مُوجّه سيسكو

المُوجّه يَستطيع التّصرّف كعميل DNS (لتَرجمة الأسماء التي تَكتبها في CLI، مثل ping cisco.com) وكخادم DNS بسيط للشّبكة الدّاخليّة.

# على R1 — العميل DNS
R1(config)#ip name-server 8.8.8.8 1.1.1.1
R1(config)#ip domain-lookup
R1(config)#ip domain-name itskillscenter.io/

# تَحقّق
R1#ping cisco.com
# Translating "cisco.com"...domain server (8.8.8.8) [OK]
# Type escape sequence to abort.
# Sending 5, 100-byte ICMP Echos to 72.163.4.185, timeout is 2 seconds:
# !!!!!

# تَعطيل DNS lookup (مفيد إذا أَخطأت في طَلب)
R1(config)#no ip domain-lookup
# الآن إذا أَخطأت في كتابة أمر، لا يَنتظر DNS resolution

نَصيحة : دائماً no ip domain-lookup على مُوجّهات معامل CCNA. سَبب : إذا أَخطأت في كتابة أمر، IOS يَعتبره hostname ويُحاول تَرجمته عبر DNS، مما يُجمّد جلسة CLI لـ 30 ثانية. أزعَج للغاية في الامتحان.

الخطوة 5 — DNS مُسجَّل محلّيّاً (مَفيد للمعامل)

# تَسجيل أسماء يَدويّاً على المُوجّه (host table محلّي)
R1(config)#ip host R2 10.0.12.2
R1(config)#ip host R3 10.0.23.2
R1(config)#ip host SERVER 192.168.100.10

# تَحقّق
R1#show hosts
# Host    Port  Flags     Age  Type   Address(es)
# R2            (perm, OK) 0   IP     10.0.12.2
# R3            (perm, OK) 0   IP     10.0.23.2
# SERVER        (perm, OK) 0   IP     192.168.100.10

# الآن يُمكنك :
R1#ping R3
# لا حاجة لـ DNS خارجي

الخطوة 6 — NAT الثّابت (Static NAT)

NAT (Network Address Translation) يَترجم عَناوين IP بيْن شَبكتيْن. Static NAT : ترجمة 1-إلى-1 ثابتة. مفيد لخادم داخلي يَجب الوصول إليه من الإنترنت بعُنوان عامّ ثابت.

# سيناريو : خادم Web داخلي 192.168.1.10
# يَجب أن يَكون قابلاً للوصول من الإنترنت على 200.1.1.10

R1(config)#interface gigabitEthernet 0/0
R1(config-if)#ip address 192.168.1.1 255.255.255.0
R1(config-if)#ip nat inside           # الواجهة الدّاخليّة
R1(config-if)#exit

R1(config)#interface gigabitEthernet 0/1
R1(config-if)#ip address 200.1.1.1 255.255.255.0
R1(config-if)#ip nat outside          # الواجهة الخارجيّة (نحو ISP)
R1(config-if)#exit

R1(config)#ip nat inside source static 192.168.1.10 200.1.1.10

# تَحقّق
R1#show ip nat translations
# Pro Inside global   Inside local    Outside local   Outside global
# --- 200.1.1.10      192.168.1.10    ---             ---

# الزّبائن على الإنترنت يَستطيعون الآن طَلب http://200.1.1.10
# المُوجّه يُترجم الوجهة إلى 192.168.1.10 ويُمرّر الطّلب للخادم

الخطوة 7 — Dynamic NAT (مَجموعة عَناوين)

Dynamic NAT : ترجمة من شبكة داخليّة (مع عدد كبير من الأجهزة) إلى مَجموعة من العَناوين العامّة. كلّ جهاز داخلي يَحصل على عنوان عامّ مؤقّت من المَجموعة لمدّة الجلسة.

# سيناريو : شبكة داخليّة 192.168.1.0/24
# مَجموعة عَناوين عامّة 200.1.1.10-200.1.1.20

R1(config)#access-list 1 permit 192.168.1.0 0.0.0.255

R1(config)#ip nat pool MY_POOL 200.1.1.10 200.1.1.20 netmask 255.255.255.0
R1(config)#ip nat inside source list 1 pool MY_POOL

# تَحقّق بَعد بَعض الحركة
R1#show ip nat translations
# Pro Inside global   Inside local       Outside local       Outside global
# --- 200.1.1.10      192.168.1.10       ---                 ---
# --- 200.1.1.11      192.168.1.20       ---                 ---

القَيد الرّئيسي للـ Dynamic NAT : عند نفاد العَناوين في الـ pool، الأجهزة الجديدة لا تَستطيع الخروج. للشّبكات الكبيرة، نَستخدم PAT.

الخطوة 8 — PAT أو NAT Overload (الأكثر استخداماً)

PAT (Port Address Translation) أو NAT Overload : كلّ الأجهزة الدّاخليّة تَخرج بنفس العُنوان العامّ، لكنّ المُوجّه يُمَيّز بَيْنها بأرقام المنافذ. هذا ما يَستخدمه معظم الراوترات المنزليّة وكثير من شَركات الإنترنت.

# سيناريو : شبكة 192.168.1.0/24 تَخرج عبر عُنوان واحد 200.1.1.1
R1(config)#access-list 1 permit 192.168.1.0 0.0.0.255
R1(config)#ip nat inside source list 1 interface gigabitEthernet 0/1 overload

# الكلمة المفتاحيّة overload هي PAT
# تَحقّق
R1#show ip nat translations
# Pro Inside global       Inside local         Outside local      Outside global
# tcp 200.1.1.1:1024      192.168.1.10:50101   8.8.4.4:443        8.8.4.4:443
# tcp 200.1.1.1:1025      192.168.1.20:50102   1.1.1.1:443        1.1.1.1:443

# المنافذ المؤقّتة (1024+) تُسمح بِتمييز الأجهزة الدّاخليّة

PAT يَدعم نَظريّاً 65 ألف ربط متزامن لكلّ عُنوان عامّ (عدد المنافذ المُحتمل). عمليّاً، 30-40 ألف بِسبب القيود الأخرى. يَكفي لـ شبكة عاديّة بـ 1000+ مُستخدم.

الأخطاء الشّائعة

الخطأ السّبب الحلّ
العملاء لا يَستلمون IP من DHCP نسيان no shutdown على واجهة المُوجّه تَحقّق من حالة الواجهة، أعِد تَفعيلها
DHCP relay لا يَعمل غياب ip helper-address اِضبط helper-address على كلّ واجهة LAN
NAT لا يَترجم نَسيان ip nat inside/outside كلّ واجهة يَجب أن تَكون مَوسومة inside أو outside
PAT يَنفد رغم 65k منافذ عَدَم انتهاء صلاحيّة المداخل القديمة clear ip nat translation * أو ضَبط timeout
الزّبائن يَنالون gateway خاطئ قاعدة default-router في pool خاطئة تَحقّق من عُنوان واجهة LAN على المُوجّه
المُوجّه يَنتظر 30 ثانية على أمر خاطئ DNS lookup مُفعّل no ip domain-lookup

أسئلة شائعة

الفرق بيْن NAT و PAT ؟
NAT : ترجمة 1-إلى-1 (عُنوان لكلّ جهاز). PAT : ترجمة 1-إلى-عدّة بِاستخدام المنافذ (عُنوان واحد لكثير من الأجهزة). PAT أكثر شيوعاً.

هل DHCP يَعمل عبر VLAN ؟
لا مُباشَرةً. تَحتاج إلى DHCP Relay (ip helper-address) على كلّ sub-interface أو SVI من المُوجّه/Layer 3 switch.

لماذا لا أَستطيع ping من الدّاخل إلى عنوان NAT العامّ ؟
NAT hairpin معطّل افتراضيّاً. الحلّ : split-horizon DNS (DNS مختلف داخلياً وخارجيّاً) أو تَفعيل hairpin على المُوجّه.

أيّ أفضل، DHCP على المُوجّه أم على Windows Server ؟
المُوجّه أبسط للشّبكات الصّغيرة. Windows Server / Linux DHCP أفضل للشّبكات الكبيرة (إدارة مركزيّة، تَكامل مع Active Directory، حجوزات بِالـ MAC).

هل CCNA يَختبر IPv6 NAT ؟
IPv6 لا يَحتاج NAT بِشكل عامّ (مساحة عَناوين هائلة). لكنّ NAT64 و DNS64 يَظهران في CCNP. CCNA يَركّز على NAT/PAT لـ IPv4.

للتّعمّق

بعد إتقان خَدمات IP، الخطوة المنطقيّة هي تَأمين الموزّعات ضدّ الهجمات بـ أمن الطّبقة الثّانية. للنّظرة الشّاملة، انظر الدّليل الرّئيسي CCNA.

مصادر ومراجع

مقالات ذات صلة

Sponsoriser ce contenu

Cet emplacement est à vous

Position premium en fin d'article — c'est l'instant où les lecteurs sont le plus engagés. Réservez cet espace pour votre marque, votre formation ou votre offre.

Recevoir nos tarifs
Publicité