Πίσω στο blog

English  ·  Ελληνικά

Cisco / IOS  ·  Tutorial  ·  Ιουλιος 2026

Cisco IOS
VLAN & Trunking

Ένα φυσικό switch, πολλά απομονωμένα δίκτυα. Φτιάξε VLAN, ανάθεσε access ports, κουβάλησε πολλά VLAN πάνω από ένα μοναδικό 802.1Q trunk, και δρομολόγησε ανάμεσά τους — πρώτα με router-on-a-stick, μετά με έναν L3 switch. Μαζί με τις παγίδες του native VLAN που την πατάνε όλοι.

Cisco IOS VLAN 802.1Q Trunking Inter-VLAN Routing Catalyst CCNA

SW1 access + trunk SW2 access + trunk 802.1Q TRUNK κουβαλάει VLAN 10 + 20 + 99 (tagged) VLAN 10 VLAN 20 VLAN 10 VLAN 20 Τα access ports βλέπουν προς τους hosts (ένα untagged VLAN). Το trunk τα κουβαλάει όλα ανάμεσα στα switch.

Ένα VLAN μετατρέπει ένα φυσικό switch σε πολλά λογικά switch. Οι θύρες στο VLAN 10 δεν μπορούν να μιλήσουν με τις θύρες στο VLAN 20 — διαφορετικά broadcast domains, τόσο απομονωμένα σαν να ήταν ξεχωριστές συσκευές. Έτσι βάζεις προσωπικό, guests, VoIP και κάμερες στο ίδιο hardware χωρίς να ακουμπάει το ένα το άλλο.

Δύο ρόλοι θυρών κάνουν τη δουλειά. Ένα access port ανήκει σε ακριβώς ένα VLAN και βλέπει μια τελική συσκευή — έναν υπολογιστή, έναν εκτυπωτή, ένα AP — που δεν ξέρει τίποτα για VLAN. Ένα trunk port κουβαλάει πολλά VLAN ανάμεσα σε switch (ή προς έναν router), βάζοντας σε κάθε frame το VLAN ID του με 802.1Q. Αυτό το tutorial στήνει και τα δύο, και μετά δρομολογεί ανάμεσα στα VLAN με δύο διαφορετικούς τρόπους. Αν έχεις κάνει VLAN σε MikroTik, οι έννοιες είναι ίδιες — αλλάζει μόνο το syntax, και η ενότητα 07 τις αντιστοιχίζει μία προς μία.

Προαπαιτουμενα

01

Δημιουργια VLAN

Ένα VLAN πρέπει να υπάρχει στο VLAN database του switch πριν μπορέσεις να βάλεις θύρα μέσα του. Φτιάξ' το, ονόμασέ το, τέλος. Η ονομασία είναι προαιρετική, αλλά θα μετανιώσεις αν την παραλείψεις.

IOS — δημιουργια και ονομασια VLAN
SW1# configure terminal
SW1(config)# vlan 10
SW1(config-vlan)# name STAFF
SW1(config-vlan)# exit
SW1(config)# vlan 20
SW1(config-vlan)# name GUEST
SW1(config-vlan)# exit
SW1(config)# vlan 99
SW1(config-vlan)# name NATIVE-MGMT
SW1(config-vlan)# end

# Επιβεβαίωσε ότι υπάρχουν (όλα ασφαλή, read-only)
SW1# show vlan brief
VLAN Name              Status    Ports
1    default           active    Gi0/3, Gi0/4, Gi0/5 ...
10   STAFF             active
20   GUEST             active
99   NATIVE-MGMT       active
# Τα νέα VLAN δεν έχουν ακόμα θύρες — κάθε θύρα ζει ακόμα στο VLAN 1 (default).
⚠ Παγιδα — Το VLAN 1 Ειναι Ξεχωριστο, και Ευθυνη

Κάθε θύρα ξεκινάει στο VLAN 1, και by default το VLAN 1 είναι επίσης το native και το management VLAN. Βολικό και ανασφαλές — σημαίνει ότι ένας επιτιθέμενος σε μια default θύρα μοιράζεται broadcast domain με την κίνηση διαχείρισής σου. Καλή πρακτική: μη χρησιμοποιείς το VLAN 1 για τίποτα ουσιαστικό. Βάλε ένα αποκλειστικό management VLAN (εμείς το 99) και μετακίνησε το native VLAN εκτός του 1 (ενότητα 03).

02

Access Ports

Ένα access port κουβαλάει ακριβώς ένα VLAN, untagged, προς μια τελική συσκευή. Εδώ βάζεις υπολογιστές, εκτυπωτές και access points. Η λέξη-κλειδί interface range ρυθμίζει πολλές θύρες με τη μία.

IOS — αναθεση access ports (μια, μετα ενα range)
# Μία μεμονωμένη θύρα στο VLAN 10
SW1(config)# interface GigabitEthernet0/1
SW1(config-if)# switchport mode access
SW1(config-if)# switchport access vlan 10
SW1(config-if)# exit

# Δώδεκα θύρες στο VLAN 20 με μία κίνηση, με το "interface range"
SW1(config)# interface range GigabitEthernet0/13 - 24
SW1(config-if-range)# switchport mode access
SW1(config-if-range)# switchport access vlan 20
SW1(config-if-range)# end

# Επαλήθευση: κάθε θύρα δείχνει τώρα το VLAN της
SW1# show interfaces status
Port    Name   Status       Vlan   Duplex  Speed Type
Gi0/1          connected    10     a-full  a-1000 ...
Gi0/13         notconnect   20     auto    auto   ...
💡 Pro Tip — Βαλε Ρητα το "mode access"

Οι θύρες Cisco είναι by default σε dynamic auto (DTP), δηλαδή μια θύρα μπορεί να διαπραγματευτεί μόνη της και να γίνει trunk αν το ζητήσει ο γείτονας — γνωστό attack vector (VLAN hopping). Κλείδωνε πάντα τις θύρες των τελικών χρηστών με switchport mode access, και για επιπλέον ασφάλεια πρόσθεσε switchport nonegotiate ώστε η θύρα να μη στέλνει καθόλου DTP frames. Ένα access port δεν πρέπει ποτέ να γίνεται trunk κατά λάθος.

03

Trunk Ports & 802.1Q

Ένα trunk κουβαλάει πολλά VLAN πάνω από ένα link, βάζοντας σε κάθε frame το VLAN ID του. Αυτό είναι το link ανάμεσα σε δύο switch, ή ανάμεσα σε ένα switch και έναν router. Ένα untagged VLAN — το native VLAN — ταξιδεύει χωρίς tag.

IOS — ρυθμιση ενος trunk (πρεπει να ταιριαζουν και τα δυο ακρα)
SW1(config)# interface GigabitEthernet0/24

# Σε switch που υποστηρίζουν ISL, όρισε πρώτα το encapsulation.
# Σε 2960/2960-X (μόνο dot1q) η εντολή αυτή δεν υπάρχει — απλώς παράλειψέ την.
SW1(config-if)# switchport trunk encapsulation dot1q

SW1(config-if)# switchport mode trunk
SW1(config-if)# switchport trunk native vlan 99
SW1(config-if)# switchport trunk allowed vlan 10,20,99
SW1(config-if)# switchport nonegotiate
SW1(config-if)# end

# Επαλήθευσε το trunk: allowed VLAN και native VLAN
SW1# show interfaces trunk
Port    Mode  Encapsulation  Status    Native vlan
Gi0/24  on    802.1q         trunking  99

Port    Vlans allowed on trunk
Gi0/24  10,20,99
⚠ Παγιδα — Ασυμφωνια Native VLAN

Και τα δύο ακρα ενός trunk πρέπει να συμφωνούν στο native VLAN. Αν το SW1 έχει native 99 και το SW2 native 1, τα untagged frames καταλήγουν σε λάθος VLAN και το CDP πετάει %CDP-4-NATIVE_VLAN_MISMATCH κάθε 60 δευτερόλεπτα. Είναι πραγματικό πρόβλημα ασφάλειας και συνδεσιμότητας, όχι απλός θόρυβος. Βάλε switchport trunk native vlan 99 ολόιδιο και στις δύο πλευρές. Το ίδιο: αν ένα VLAN δεν είναι στη λίστα allowed, η κίνησή του πέφτει σιωπηλά πάνω στο trunk — η κλασική αιτία του «το VLAN 20 δεν φτάνει στο άλλο switch».

04

Inter-VLAN Routing — Router-on-a-Stick

Τα VLAN είναι απομονωμένα εκ σχεδιασμού — το VLAN 10 δεν φτάνει το VLAN 20 χωρίς router. Ο φθηνότερος τρόπος να δρομολογήσεις ανάμεσά τους είναι ένα interface router, σε trunk, που κουβαλάει ένα subinterface ανά VLAN. Κάθε subinterface είναι το default gateway αυτού του VLAN.

IOS (router) — ενα φυσικο link, ενα subinterface ανα VLAN
# Η θύρα του switch που βλέπει τον router πρέπει να είναι trunk (δες ενότητα 03).
# Στον ROUTER, κόψε το φυσικό interface σε tagged subinterfaces:
R1(config)# interface GigabitEthernet0/0
R1(config-if)# no shutdown          # ο φυσικός γονέας δεν θέλει IP, μόνο "up"
R1(config-if)# exit

R1(config)# interface GigabitEthernet0/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

R1(config)# interface GigabitEthernet0/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

# Το native VLAN χρησιμοποιεί τη λέξη "native" ώστε τα frames του να μένουν untagged
R1(config)# interface GigabitEthernet0/0.99
R1(config-subif)# encapsulation dot1q 99 native
R1(config-subif)# ip address 192.168.99.1 255.255.255.0
R1(config-subif)# end

Τώρα βάλε σε κάθε host default gateway το IP του subinterface του (π.χ. οι hosts του VLAN 10 → 192.168.10.1) και το VLAN 10 φτάνει το VLAN 20 μέσω του router. Τέλειο για μικρά sites· σε κλίμακα, το μοναδικό link γίνεται το bottleneck.

05

Inter-VLAN Routing — L3 Switch (SVI)

Ένα layer-3 switch δρομολογεί ανάμεσα στα VLAN σε hardware, σε wire speed, χωρίς bottleneck από trunk. Αντί για subinterfaces σε router, φτιάχνεις ένα Switched Virtual Interface (SVI) ανά VLAN. Έτσι το κάνουν τα πραγματικά sites.

IOS (L3 switch) — ενεργοποιηση routing, ενα SVI ανα VLAN
# 1. Άναψε το IP routing — by default κλειστό σε ένα switch
L3-SW(config)# ip routing

# 2. Ένα virtual interface ανά VLAN — αυτό το IP είναι το gateway του VLAN
L3-SW(config)# interface vlan 10
L3-SW(config-if)# ip address 192.168.10.1 255.255.255.0
L3-SW(config-if)# no shutdown
L3-SW(config-if)# exit

L3-SW(config)# interface vlan 20
L3-SW(config-if)# ip address 192.168.20.1 255.255.255.0
L3-SW(config-if)# no shutdown
L3-SW(config-if)# end

# Επαλήθευσε ότι το routing ανάμεσα στα VLAN είναι πλέον local και ενεργό
L3-SW# show ip route
C    192.168.10.0/24 is directly connected, Vlan10
C    192.168.20.0/24 is directly connected, Vlan20
⚠ Παγιδα — Ενα SVI Σηκωνεται Μονο με Ζωντανο Access Port

Το SVI ενός VLAN μένει down/down μέχρι τουλάχιστον ένα access port σε αυτό το VLAN να είναι connected και up (ή το VLAN να επιτρέπεται πάνω σε ένα ενεργό trunk). Ρύθμισε τα πάντα τέλεια και το SVI μπορεί ακόμα να δείχνει down, απλώς επειδή δεν έχει μπει τίποτα στο VLAN 10 ακόμα. Το show ip interface brief | include Vlan σου λέει την αλήθεια. Και μην ξεχάσεις το ip routing — χωρίς αυτό, το L3 switch έχει SVIs αλλά δεν δρομολογεί ανάμεσά τους.

06

Ελεγχος & Troubleshooting Ασφαλες να το Τρεξεις

Τέσσερις read-only εντολές απαντούν σχεδόν σε κάθε πρόβλημα VLAN: σε ποιο VLAN είναι μια θύρα, τι κουβαλάει το trunk, είναι συνεπές το native VLAN, και έχει IP το SVI.

ΕντοληΑπανταει
show vlan briefΠοια VLAN υπάρχουν και ποια access ports είναι στο καθένα.
show interfaces trunkΠοιες θύρες είναι trunk, το native VLAN τους, και η λίστα allowed-VLAN.
show interfaces statusΑνά θύρα: connected/notconnect, access VLAN, speed/duplex.
show interfaces gi0/1 switchportΠλήρες switchport detail για μία θύρα — mode, access VLAN, ρυθμίσεις trunk.
show ip interface briefIPs των SVI και κατάσταση up/down (L3 switch / router).
show ip routeΕπιβεβαιώνει ότι τα inter-VLAN routes είναι directly connected και ενεργά.
IOS — η λιστα «γιατι δεν μιλανε αυτα τα δυο VLAN»
# 1. Είναι όντως και οι δύο hosts στο VLAN που νομίζεις;
SW1# show interfaces status | include connected

# 2. Κουβαλάει το trunk ανάμεσα στα switch ΚΑΙ ΤΑ ΔΥΟ VLAN;
SW1# show interfaces trunk
#    Αν λείπει το VLAN 20 από το "allowed", πρόσθεσέ το:
SW1(config-if)# switchport trunk allowed vlan add 20

# 3. Υπάρχει router/SVI με gateway IP σε κάθε subnet;
L3-SW# show ip interface brief | include Vlan

# 4. Χρησιμοποιεί κάθε host αυτό το gateway; (ping στο gateway, μετά απέναντι)
SW1# ping 192.168.20.1

07

MikroTik ↔ Cisco — Ιδια Ιδεα, Αλλες Λεξεις

Αν έρχεσαι από RouterOS, το μοντέλο είναι ίδιο — ένα bridge με VLAN filtering είναι switch, το tagged/untagged είναι trunk/access. Αλλάζει μόνο το λεξιλόγιο.

MikroTik / RouterOSCisco IOS
Bridge με vlan-filtering=yesΤο ίδιο το switch (VLAN-aware by default)
Bridge port pvid=10, untaggedswitchport mode access ; switchport access vlan 10
Bridge VLAN tagged=ether1,ether2switchport mode trunk ; switchport trunk allowed vlan …
Frame tagging = 802.1Q802.1Q — ίδιο wire format
/interface vlan (VLAN interface + IP)interface vlan 10 (SVI) ή subinterface router
PVID στη θύρα εισόδουAccess VLAN / native VLAN στο trunk
💡 Η Πραγματικη Διαφορα

Το MikroTik σε βάζει να χτίσεις το bridge και να ενεργοποιήσεις ρητά το VLAN filtering — η συμπεριφορά switch είναι opt-in. Στη Cisco, ένα Catalyst είναι VLAN-aware switch από το κουτί· ρυθμίζεις ρόλους σε θύρες που ήδη κάνουν switching. Κανένα δεν είναι δυσκολότερο — αλλά η Cisco κρύβει λιγότερα, γι' αυτό το native VLAN και το DTP την πατάνε οι πρωτάρηδες. Όταν μεταφέρουμε ένα site από MikroTik σε Cisco (ή τρέχουμε και τα δύο), αυτόν τον πίνακα δίνουμε cheat sheet στην ομάδα του πελάτη.

Συμπερασματα

  1. Ένα VLAN πρέπει να υπάρχει πριν μπει θύρα μέσα του. Φτιάξ' το και ονόμασέ το στο VLAN database (vlan 10 ; name STAFF), μετά ανάθεσε θύρες. Ονόμαζε τα πάντα — το show vlan brief γίνεται αυτο-τεκμηριωμένο.
  2. Access = ένα VLAN προς έναν host· trunk = πολλά VLAN ανάμεσα σε switch. Κλείδωνε τις θύρες των τελικών χρηστών με switchport mode access και nonegotiate ώστε να μη γίνονται ποτέ trunk με διαπραγμάτευση.
  3. Και τα δύο ακρα ενός trunk πρέπει να συμφωνούν σε native VLAN και allowed VLAN. Μια ασυμφωνία native βγάζει CDP errors και παραδίδει λάθος τα untagged frames· ένα allowed VLAN που λείπει ρίχνει σιωπηλά αυτό το VLAN πάνω στο link.
  4. Τα VLAN δεν δρομολογούνται μόνα τους. Χρησιμοποίησε router-on-a-stick (subinterfaces με encapsulation dot1q) για μικρά sites, ή ένα L3 switch με SVIs και ip routing για ο,τιδήποτε σοβαρό.
  5. Ένα SVI χρειάζεται μια ζωντανή θύρα στο VLAN του για να σηκωθεί. Ένα τέλεια ρυθμισμένο interface vlan 10 δείχνει down/down μέχρι να συνδεθεί κάτι στο VLAN 10.
  6. Η έννοια είναι καθολική. Το access/trunk και το 802.1Q είναι ίδια σε MikroTik, Cisco και σε ο,τιδήποτε άλλο — αλλάζουν μόνο οι λέξεις του CLI. Μάθε το μία φορά εδώ και μεταφέρεται παντού.

Τμηματοποιεις δικτυο για γραφειο, ξενοδοχειο ή SMB στην Κρητη;

Σχεδιάζω διατάξεις VLAN που κρατούν προσωπικό, guests, VoIP και κάμερες πραγματικά απομονωμένα μεταξύ τους — σε Cisco, MikroTik, ή συνδυασμό των δύο — και τεκμηριώνω κάθε θύρα και trunk ώστε η ομάδα σου να τα βγάζει πέρα χωρίς να με παίρνει πρώτα τηλέφωνο.

Κλεισε μια Discovery Call →