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

VLAN، Trunk 802.1Q والتّوجيه بين شبكات VLAN خطوة بخطوة

6 دقائق للقراءة

شبكات VLAN (Virtual LANs) من أقوى مفاهيم CCNA لأنّها تَسمح بتَقسيم شبكة فيزيائيّة واحدة إلى عدّة شبكات منطقيّة مَعزولة، دون الحاجة إلى أجهزة موزّعة إضافيّة. كلّ VLAN تَعمل كأنّها شبكة مُستقلّة من ناحية البثّ (broadcast domain)، تُحسّن الأمن، تَخفض حركة المرور الزّائدة، وتُسهّل الإدارة. مفهوم Trunk 802.1Q يُكمّل VLAN بنقل عدّة VLAN على نفس الكابل بيْن موزّعيْن. والتّوجيه بين شبكات VLAN (Inter-VLAN Routing) يُتيح الاتّصال المنظَّم بين هذه الشّبكات المنطقيّة. يَستعرض هذا الدّرس الإعداد الكامل لهذه الثّلاثيّة على Cisco IOS باستخدام Packet Tracer.

المتطلّبات

  • Cisco Packet Tracer 9.0 مُثبَّت (انظر إقامة مختبر CCNA)
  • فهم أساسي للموزّع والمُوجّه (الفرق Layer 2 / Layer 3)
  • إلمام بأوامر IOS الأساسيّة (enable، configure terminal، interface)
  • الوقت المُقدّر : 90 دقيقة

الخطوة 1 — بناء التّوبولوجيا

سَنبني توبولوجيا تَحتوي موزّعيْن (SW1، SW2) + موجّه (R1) + أربعة أجهزة كمبيوتر مُوزَّعة على VLAN 10 (المحاسبة) و VLAN 20 (المبيعات). الهدف : أجهزة VLAN 10 يَجب أن تَتواصل فيما بينها، وأجهزة VLAN 20 كذلك، لكنّ التّواصل بين VLAN 10 و VLAN 20 يَمرّ عبر R1.

# التّوبولوجيا
#
#         R1 (router)
#          |
#          | (trunk 802.1Q)
#       SW1 (switch)
#       /        \
#      /          \
#    PC1          PC2          ← VLAN 10 (192.168.10.0/24)
#    (192.168.10.10) (192.168.10.20)
#
#         SW1 ---- SW2 (trunk)
#                 /         \
#                /           \
#              PC3           PC4         ← VLAN 20 (192.168.20.0/24)
#              (192.168.20.10) (192.168.20.20)

# توصيل الكابلات :
# PC1, PC2 → SW1 ports Fa0/1, Fa0/2 (access VLAN 10)
# PC3, PC4 → SW2 ports Fa0/1, Fa0/2 (access VLAN 20)
# SW1 ↔ SW2 : Fa0/24 ↔ Fa0/24 (trunk 802.1Q)
# SW1 ↔ R1  : Fa0/23 ↔ Gig0/0/0 (trunk 802.1Q)

الخطوة 2 — إنشاء VLAN على الموزّعات

على كلّ موزّع، نُنشئ VLAN 10 و VLAN 20 ونُسمّيهما. الأسماء غير ضروريّة فنّيّاً لكنّها مفيدة للتّوثيق ومراجعة الإعدادات لاحقاً.

# على SW1
SW1>enable
SW1#configure terminal
SW1(config)#vlan 10
SW1(config-vlan)#name Comptabilite
SW1(config-vlan)#exit
SW1(config)#vlan 20
SW1(config-vlan)#name Ventes
SW1(config-vlan)#exit

# تأكيد
SW1#show vlan brief
# VLAN Name             Status    Ports
# 1    default          active    Fa0/3-22
# 10   Comptabilite     active
# 20   Ventes           active
# 1002 fddi-default     ...

# تَكرار نفس الأوامر على SW2

VLAN 1 هو VLAN الافتراضي (Native VLAN) ولا يُمكن حذفه. كلّ المنافذ التي لم تُكَوَّن صَراحةً على VLAN معيّن تَنتمي إلى VLAN 1. هذه واحدة من نقاط الأمن المُهمّة : لا يَجب ترك Native VLAN كـ VLAN 1 على روابط trunk في بيئة الإنتاج (سَنرى ذلك في درس أمن الطّبقة الثّانية).

الخطوة 3 — تَخصيص المنافذ إلى VLAN (Access ports)

الآن، نَنسب كلّ منفذ من الموزّع إلى الـ VLAN المناسب. منفذ access (الافتراضي) يَنتمي إلى VLAN واحد فقط ولا يَستقبل علامة 802.1Q.

# على SW1 — منافذ VLAN 10
SW1(config)#interface range fastEthernet 0/1 - 2
SW1(config-if-range)#switchport mode access
SW1(config-if-range)#switchport access vlan 10
SW1(config-if-range)#exit

# على SW2 — منافذ VLAN 20
SW2(config)#interface range fastEthernet 0/1 - 2
SW2(config-if-range)#switchport mode access
SW2(config-if-range)#switchport access vlan 20
SW2(config-if-range)#exit

# تأكيد
SW1#show interfaces fastEthernet 0/1 switchport
# Name: Fa0/1
# Switchport: Enabled
# Administrative Mode: static access
# Operational Mode: static access
# Administrative Trunking Encapsulation: dot1q
# Access Mode VLAN: 10 (Comptabilite)

في هذه المرحلة، PC1 و PC2 (على VLAN 10) يَنبغي أن يَتواصلا فيما بينهما إذا كانا على نفس الـ subnet. لاختبار : اَفتح Command Prompt على PC1 وَأَدخل ping 192.168.10.20. النّجاح يُؤكّد أنّ VLAN 10 يَعمل داخل SW1.

الخطوة 4 — إعداد رابط Trunk 802.1Q بيْن الموزّعيْن

لجعل VLAN 10 و VLAN 20 يَعبران الرّابط بيْن SW1 و SW2، يَجب تحويل المنافذ Fa0/24 على كلّ موزّع إلى وضع trunk. بروتوكول 802.1Q يُضيف علامة 4 بايت (VLAN tag) إلى كلّ إطار يَعبر الرّابط، فيَعرف المُستقبل إلى أيّ VLAN يَنتمي.

# على SW1
SW1(config)#interface fastEthernet 0/24
SW1(config-if)#switchport mode trunk
SW1(config-if)#switchport trunk encapsulation dot1q
SW1(config-if)#switchport trunk allowed vlan 10,20
SW1(config-if)#exit

# على SW2 — نفس الأوامر
SW2(config)#interface fastEthernet 0/24
SW2(config-if)#switchport mode trunk
SW2(config-if)#switchport trunk encapsulation dot1q
SW2(config-if)#switchport trunk allowed vlan 10,20
SW2(config-if)#exit

# تأكيد
SW1#show interfaces trunk
# Port      Mode    Encapsulation  Status   Native vlan
# Fa0/24    on      802.1q         trunking 1
# Port      Vlans allowed on trunk
# Fa0/24    10,20

الأمر switchport trunk allowed vlan مهمّ في الأمن : فهو يَحصر VLAN العابرة على الرّابط (ممارسة جيّدة لمنع تَسرّب VLAN غير مَطلوبة). بدون هذا الأمر، كلّ VLAN على الموزّع تَعبر الـ trunk، وهذا قد يُسبّب مَشاكل أمنيّة أو حملاً غير ضروري.

الخطوة 5 — التّوجيه بين شبكات VLAN على الموجّه (Router-on-a-Stick)

لاتّصال VLAN 10 بـ VLAN 20، نَحتاج إلى تَوجيه على الطّبقة الثّالثة. الطّريقة الكلاسيكيّة في CCNA هي Router-on-a-Stick : واجهة موجّه واحدة مُقسَّمة إلى عدّة sub-interfaces، كلّ sub-interface تَخدم VLAN واحد.

# على R1
R1>enable
R1#configure terminal
R1(config)#interface gigabitEthernet 0/0/0
R1(config-if)#no shutdown
R1(config-if)#exit

# sub-interface لـ VLAN 10
R1(config)#interface gigabitEthernet 0/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)#exit

# sub-interface لـ VLAN 20
R1(config)#interface gigabitEthernet 0/0/0.20
R1(config-subif)#encapsulation dot1q 20
R1(config-subif)#ip address 192.168.20.1 255.255.255.0
R1(config-subif)#exit

# على SW1 — إعداد المنفذ المُتّصل بـ R1 كـ trunk
SW1(config)#interface fastEthernet 0/23
SW1(config-if)#switchport mode trunk
SW1(config-if)#switchport trunk encapsulation dot1q
SW1(config-if)#switchport trunk allowed vlan 10,20

# تأكيد على R1
R1#show ip interface brief
# Interface              IP-Address      OK? Method Status
# GigabitEthernet0/0/0   unassigned      YES manual up
# GigabitEthernet0/0/0.10 192.168.10.1   YES manual up
# GigabitEthernet0/0/0.20 192.168.20.1   YES manual up

على كلّ كمبيوتر، أَضِف Default Gateway إلى عنوان الـ sub-interface المُناسب : PC1، PC2 → 192.168.10.1 ؛ PC3، PC4 → 192.168.20.1. الآن، PC1 يَستطيع ping على PC3 — الحركة تَمرّ عبر SW1 → R1 (sub-interface .10 → sub-interface .20) → SW1 → SW2 → PC3.

الخطوة 6 — بَديل أحدث : SVI على Switch Layer 3

على موزّعات Layer 3 الحديثة (Catalyst 3650، 9300، إلخ)، يُمكن الاستغناء عن المُوجّه باستخدام SVI (Switched Virtual Interface) — واجهات افتراضيّة على الموزّع نَفسه. هذا أسرع وأكثر فعاليّة. CCNA يَختبر الطّريقتيْن.

# في حال استخدام Multilayer Switch (مثل 3560 أو 9300)
SW1(config)#ip routing  # تَفعيل التّوجيه على الـ switch
SW1(config)#interface vlan 10
SW1(config-if)#ip address 192.168.10.1 255.255.255.0
SW1(config-if)#no shutdown
SW1(config-if)#exit
SW1(config)#interface vlan 20
SW1(config-if)#ip address 192.168.20.1 255.255.255.0
SW1(config-if)#no shutdown
SW1(config-if)#exit

# في هذه الحالة، لا حاجة للمُوجّه إذا كانت كلّ الـ VLAN على نفس الموزّع

السّؤال على CCNA يَفرّق بيْن « Router-on-a-Stick » (سيناريو Layer 2 switch + Router) و »Inter-VLAN routing on Layer 3 switch » (SVI). معرفة الاثنيْن ومتى يُستخدم كلّ منهما مفيدة جدّاً.

الخطوة 7 — اختبار وتَوثيق الإعدادات

بعد اكتمال الإعداد، اختبر التّواصل الكامل : كلّ كمبيوتر يَجب أن يَستطيع ping كلّ كمبيوتر آخر (داخل نفس VLAN وعبر VLAN مختلف). ثمّ اَحفظ الإعدادات على كلّ جهاز.

# على كلّ جهاز (SW1, SW2, R1)
device#copy running-config startup-config

# تَحقّق نهائي على SW1
SW1#show vlan brief         # تَحقّق من VLAN
SW1#show interfaces trunk   # تَحقّق من الـ trunk
SW1#show interfaces status  # حالة كلّ المنافذ

# تَحقّق نهائي على R1
R1#show ip interface brief
R1#show ip route             # جدول التّوجيه

جدول التّوجيه على R1 يَجب أن يَعرض شبكتيْن مُتّصلَتيْن مباشرةً (Connected) : 192.168.10.0/24 و 192.168.20.0/24. إذا ظهر فقط واحد، أعِد التّحقّق من الـ sub-interface المفقود.

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

الخطأ السّبب الحلّ
ping يَفشل بين VLAN رغم الـ trunk VLAN غير مَسموح به على الـ trunk switchport trunk allowed vlan
الـ sub-interface لا تَعمل الواجهة الرّئيسيّة معطّلة no shutdown على Gig0/0/0
أوامر encapsulation تَفشل الواجهة في وضع dynamic auto switchport mode trunk صراحةً
VLAN 10 يَتواصل لكن 20 لا تَخصيص المنفذ خاطئ switchport access vlan 20
طَلب DHCP يَفشل بعد الإعداد نَسيان ip helper-address على sub-interface أضِف عُنوان خادم DHCP على كلّ sub-interface
STP يُقفل الـ trunk حلقة بيْن الموزّعات spanning-tree يَعمل تلقائيّاً ؛ تَحقّق من show spanning-tree

أسئلة شائعة

كم عدد VLAN يَدعمه موزّع سيسكو واحد ؟
4094 VLAN نَظريّاً (12 بت). لكنّ موزّعات 2960 الافتراضيّة تَدعم 255 VLAN فقط. للأكثر، استخدم 3650 أو 9300.

ما الفرق بيْن 802.1Q و ISL ؟
ISL بروتوكول سيسكو القديم، 30 بايت overhead. 802.1Q معيار IEEE، 4 بايت فقط. سيسكو هَجرت ISL منذ سنوات. CCNA يَدرس 802.1Q فقط.

هل يُمكن تَكوين VLAN على PC ؟
نعم باستخدام بروتوكول VLAN tagging على بطاقة الشّبكة (لينكس : vconfig أو NetworkManager). لكنّ هذا غير شائع، PC عادةً access port.

متى أستخدم Layer 3 switch بدل Router-on-a-Stick ؟
عند الحاجة إلى أداء عالٍ بيْن VLAN داخل نفس المركز. Router-on-a-Stick أبطأ (يُمرّر كلّ شيء عبر Router). Layer 3 switch يُوجّه بسرعة wire-speed.

هل DTP (Dynamic Trunking Protocol) آمن ؟
لا. ينبغي تعطيله صراحةً في الإنتاج : switchport nonegotiate ثمّ switchport mode trunk أو switchport mode access حسب الحاجة.

للتّعمّق

بعد إتقان VLAN و trunk، الخطوة المنطقيّة هي تَوسيع المعرفة إلى التّوجيه الدّيناميكي مع OSPFv2 single-area. للنّظرة الشّاملة، انظر الدّليل الرّئيسي 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é