Πίσω στο blog

English  ·  Ελληνικά

Cisco / Lab  ·  Σεναριο Lab  ·  Αυγουστος 2026

Cisco Lab
Το Collapsed-Core Campus

Ό,τι έχει διδάξει η σειρά μέχρι τώρα, συναρμολογημένο σε ένα δίκτυο που μπορείς πραγματικά να χτίσεις — σε Packet Tracer, GNS3, ή μια στοίβα μεταχειρισμένων switches. Δύο access switches, δύο Layer-3 cores που μοιράζονται gateway με HSRP, ένα LACP interlink, Rapid-PVST roots ευθυγραμμισμένα με το active gateway, και ένα NAT edge. Μετά το σπάμε επίτηδες και βλέπουμε να επιβιώνει.

Cisco IOS Packet Tracer Lab HSRP Rapid-PVST EtherChannel Σχεδιασμος Campus

Internet EDGE (2911) DHCP · NAT overload 10.255.0.0/30 10.255.0.4/30 CORE-1 (3650) HSRP active + STP root: V10, V99 CORE-2 (3650) HSRP active + STP root: V20, V30 Po1 — 2× LACP trunk ACC-1 (2960) staff + voice + guest ports ACC-2 (2960) staff + voice + guest ports συνεχές = primary uplink · διακεκομμένο = redundant uplink (μπλοκαρισμένο από Rapid-PVST μέχρι να χρειαστεί)

Κάθε post μέχρι τώρα έκανε config μία τεχνολογία απομονωμένα. Τα πραγματικά δίκτυα είναι εκεί που συναντιούνται — και εκεί που δαγκώνουν οι αλληλεπιδράσεις. Αυτό είναι το πρώτο από τέσσερα σενάρια lab που κλείνουν τη σειρά: ένα collapsed-core campus, ο σχεδιασμός που ταιριάζει στο 90% των ξενοδοχείων, κλινικών, και γραφείων. Δύο Layer-3 switches είναι core και distribution ταυτόχρονα· access switches κάνουν dual-home και στα δύο· ένα router κάνει internet, DHCP, και NAT. Κάθε box έχει redundant path, και η αστοχία οποιασδήποτε μεμονωμένης συσκευής ή καλωδίου είναι επιβιώσιμη.

Μπορείς να χτίσεις ολόκληρη αυτή την τοπολογία σε Cisco Packet Tracer (δωρεάν με λογαριασμό NetAcad) με δύο 3650, δύο 2960, και ένα 2911 — κάθε εντολή σε αυτό το post δουλεύει εκεί. Χτίζεται επίσης αναλλοίωτο σε GNS3/CML ή σε μεταχειρισμένο εξοπλισμό. Ακολούθησε τη σειρά χτισίματος, τρέξε κάθε επαλήθευση, μετά κάνε τις ασκήσεις αστοχίας στο τέλος — το να τραβάς καλώδια είναι όλο το νόημα ενός lab.

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

01

Το Πλανο Πριν το Πληκτρολογιο

Δέκα λεπτά addressing plan γλιτώνουν δύο ώρες «γιατί το VLAN 20 δεν φτάνει τίποτα». Γράψ' το όλο πρώτα — σε δουλειά με πελάτη αυτός ο πίνακας ΕΙΝΑΙ το design document.

Πλανο VLAN & subnet

VLANΣκοπος / subnet / gateway (HSRP VIP)
10 — STAFF10.10.10.0/24 · VIP 10.10.10.1 · CORE-1 active
20 — GUEST10.10.20.0/24 · VIP 10.10.20.1 · CORE-2 active
30 — VOICE10.10.30.0/24 · VIP 10.10.30.1 · CORE-2 active
99 — MGMT10.10.99.0/24 · VIP 10.10.99.1 · CORE-1 active

Addressing συσκευων

Link / interfaceAddressing
EDGE G0/0 → Internet203.0.113.2/30 (gateway ISP .1)
EDGE G0/1 ↔ CORE-1 G1/0/2410.255.0.0/30 — EDGE .1, CORE-1 .2 (routed port)
EDGE G0/2 ↔ CORE-2 G1/0/2410.255.0.4/30 — EDGE .5, CORE-2 .6 (routed port)
CORE-1 ↔ CORE-2Po1 = G1/0/23 + G1/0/22, LACP 802.1Q trunk, όλα τα VLAN
Cores → accessCORE-x G1/0/1 → ACC-1 G0/1 · G1/0/2 → ACC-2 G0/1/2 — trunks
SVIsCORE-1 = .2 σε κάθε VLAN, CORE-2 = .3, VIP = .1
💡 Η Σειρα Χτισιματος Εχει Σημασια

Στήσε το δίκτυο με σειρά εξάρτησης και επαλήθευσε κάθε layer πριν ξεκινήσεις το επόμενο: (1) καλωδίωσε τα πάντα και ονόμασε τις συσκευές, (2) access layer — VLAN, trunks, access ports, (3) core L2 — το port-channel και τα STP roots, (4) core L3 — SVI και HSRP, (5) edge — routed links, routes, DHCP, NAT. Όταν κάτι χαλάσει στο βήμα 5, ήδη ξέρεις ότι τα layers 1–4 είναι εντάξει — αυτή η πειθαρχία είναι το μεγαλύτερο μέρος του πραγματικού troubleshooting.

02

Access Layer — ACC-1 και ACC-2

Κατευθείαν από τα parts 2 και 6: όρισε τα VLAN, κάνε trunk τα uplinks και στους δύο cores, και δώσε σε κάθε user port PortFast, BPDU Guard, και ένα VLAN φωνής.

ACC-1 — πανομοιοτυπο στο ACC-2
ACC-1(config)# vlan 10
ACC-1(config-vlan)# name STAFF
ACC-1(config-vlan)# vlan 20
ACC-1(config-vlan)# name GUEST
ACC-1(config-vlan)# vlan 30
ACC-1(config-vlan)# name VOICE
ACC-1(config-vlan)# vlan 99
ACC-1(config-vlan)# name MGMT
ACC-1(config-vlan)# exit

# Uplinks και προς τους ΔΥΟ cores — trunks, native VLAN μετακινημένο από το 1
ACC-1(config)# interface range GigabitEthernet0/1 - 2
ACC-1(config-if-range)# switchport mode trunk
ACC-1(config-if-range)# switchport trunk native vlan 99
ACC-1(config-if-range)# switchport trunk allowed vlan 10,20,30,99

# Ports staff: data VLAN 10 + τηλέφωνα στο VLAN 30
ACC-1(config)# interface range FastEthernet0/1 - 12
ACC-1(config-if-range)# switchport mode access
ACC-1(config-if-range)# switchport access vlan 10
ACC-1(config-if-range)# switchport voice vlan 30
ACC-1(config-if-range)# spanning-tree portfast
ACC-1(config-if-range)# spanning-tree bpduguard enable

# Ports επισκεπτών
ACC-1(config)# interface range FastEthernet0/13 - 24
ACC-1(config-if-range)# switchport mode access
ACC-1(config-if-range)# switchport access vlan 20
ACC-1(config-if-range)# spanning-tree portfast
ACC-1(config-if-range)# spanning-tree bpduguard enable

# Management SVI ώστε να μπορείς να κάνεις SSH στο ίδιο το access switch
ACC-1(config)# interface vlan 99
ACC-1(config-if)# ip address 10.10.99.11 255.255.255.0
ACC-1(config)# ip default-gateway 10.10.99.1
⚠ Παγιδα — Το Management IP του ACC-2 Πρεπει να Διαφερει

Το copy-paste του config του ACC-1 πάνω στο ACC-2 είναι η κλασική συντόμευση σε lab — και διπλασιάζει σιωπηλά το 10.10.99.11. Δώσε στο ACC-2 10.10.99.12. Σε Packet Tracer ένα διπλό IP απλώς κάνει το SSH να καταλήγει στο λάθος box· σε πραγματικό site βγάζει και τα δύο switches εκτός management network κατά διαστήματα, κάτι που είναι μαρτύριο να το κάνεις debug απομακρυσμένα.

03

Core L2 — το Interlink και το Root

Δέσε δύο links ανάμεσα στα cores με LACP, γύρνα τα πάντα σε Rapid-PVST, και καρφώσε το root bridge κάθε VLAN στο core που θα είναι και το HSRP active gateway του.

CORE-1 — port-channel + STP roots (καθρεφτισε τις priorities στο CORE-2)
# Πρώτα ίδιοι ορισμοί VLAN με το access layer (vlan 10,20,30,99)

# Δύο φυσικά links → ένα λογικό trunk
CORE-1(config)# interface range GigabitEthernet1/0/22 - 23
CORE-1(config-if-range)# channel-group 1 mode active
CORE-1(config-if-range)# exit
CORE-1(config)# interface Port-channel1
CORE-1(config-if)# switchport mode trunk
CORE-1(config-if)# switchport trunk native vlan 99
CORE-1(config-if)# switchport trunk allowed vlan 10,20,30,99

# Downlinks προς τα access switches — ίδιες ρυθμίσεις trunk
CORE-1(config)# interface range GigabitEthernet1/0/1 - 2
CORE-1(config-if-range)# switchport mode trunk
CORE-1(config-if-range)# switchport trunk native vlan 99
CORE-1(config-if-range)# switchport trunk allowed vlan 10,20,30,99

# Rapid-PVST παντού (τρέξ' το και στα τέσσερα switches)
CORE-1(config)# spanning-tree mode rapid-pvst

# Το CORE-1 είναι root για τα VLAN στα οποία θα είναι HSRP-active…
CORE-1(config)# spanning-tree vlan 10,99 root primary
CORE-1(config)# spanning-tree vlan 20,30 root secondary

# …και το CORE-2 το καθρεφτίζει:
CORE-2(config)# spanning-tree vlan 20,30 root primary
CORE-2(config)# spanning-tree vlan 10,99 root secondary

CORE-1# show etherchannel summary | include Po1
1      Po1(SU)         LACP      Gi1/0/22(P) Gi1/0/23(P)
⚠ Παγιδα — Γιατι το Root και το HSRP Active Πρεπει να Ειναι το Ιδιο Box

Αν το CORE-2 είναι το STP root για το VLAN 10 αλλά το CORE-1 είναι το HSRP active gateway του, κάθε πακέτο από τα staff ports του ACC-1 ταξιδεύει ACC-1 → CORE-2 → μέσω Po1 → CORE-1 — ένα επιπλέον hop για όλη την κίνηση, για πάντα, αόρατα. Το να ευθυγραμμίζεις root και active ανά VLAN (10/99 στο CORE-1, 20/30 στο CORE-2) σημαίνει ότι το συντομότερο Layer-2 path κάθε frame καταλήγει ακριβώς εκεί που ζει το Layer-3 gateway του. Αυτή η ευθυγράμμιση είναι το βήμα που παραλείπεται πιο συχνά σε πραγματικά campus deployments που κάνουμε audit.

04

Core L3 — SVIs και HSRP

Γύρνα τα cores σε routers: ένα SVI ανά VLAN, μια HSRP group ανά VLAN με το VIP που θα χρησιμοποιούν οι clients, preemption ενεργό, και priorities που ταιριάζουν με το πλάνο STP.

CORE-1 — SVIs + HSRP (το CORE-2 καθρεφτιζει με .3 και αντεστραμμενες priorities)
CORE-1(config)# ip routing   ← η γραμμή που όλοι ξεχνάνε σε ένα switch

CORE-1(config)# interface vlan 10
CORE-1(config-if)# ip address 10.10.10.2 255.255.255.0
CORE-1(config-if)# standby 10 ip 10.10.10.1
CORE-1(config-if)# standby 10 priority 110
CORE-1(config-if)# standby 10 preempt

# VLAN 99 πανομοιότυπο (priority 110 κι εδώ).
# VLAN 20 και 30: ίδια συνταγή αλλά priority 90 — το CORE-2 παίρνει 110 γι' αυτά.

# DHCP relay σε κάθε SVI — τα pools ζουν στο EDGE (section 05)
CORE-1(config)# interface vlan 10
CORE-1(config-if)# ip helper-address 10.255.0.1
# …επανέλαβε στα VLAN 20/30/99 και στα ΔΥΟ cores
#    (το CORE-2 κάνει relay στον δικό του uplink peer, 10.255.0.5)

CORE-1# show standby brief
Interface   Grp  Pri P State   Active          Standby         Virtual IP
Vl10        10   110 P Active  local           10.10.10.3      10.10.10.1
Vl20        20   90  P Standby 10.10.20.3      local           10.10.20.1
Vl30        30   90  P Standby 10.10.30.3      local           10.10.30.1
Vl99        99   110 P Active  local           10.10.99.3      10.10.99.1
💡 Pro Tip — Καν' το Track το Uplink, Οπως Διδαξε το Part 10

Πρόσθεσε standby 10 track GigabitEthernet1/0/24 30 στις groups VLAN 10 και 99 του CORE-1 (και το καθρέφτισμα στο CORE-2). Αν ένα core χάσει το routed uplink του προς το EDGE, η priority του πέφτει κατά 30 και το άλλο core — του οποίου το uplink ακόμα δουλεύει — αναλαμβάνει το gateway. Χωρίς tracking, ένα core με νεκρό uplink ευχαρίστως μένει HSRP-active και ρίχνει τη μισή σου κίνηση σε blackhole μέσω Po1. Αυτό είναι το part 9 και το part 10 να συναντιούνται σε μία γραμμή config.

05

Το Edge — Routing, DHCP, NAT

Το EDGE κατέχει το internet: routed /30 προς κάθε core, static routes προς τα VLAN μέσω και των δύο cores, DHCP pools για κάθε subnet, και PAT overload στο outside interface.

EDGE (2911)
EDGE(config)# interface GigabitEthernet0/0
EDGE(config-if)# ip address 203.0.113.2 255.255.255.252
EDGE(config-if)# ip nat outside
EDGE(config)# interface GigabitEthernet0/1
EDGE(config-if)# ip address 10.255.0.1 255.255.255.252
EDGE(config-if)# ip nat inside
EDGE(config)# interface GigabitEthernet0/2
EDGE(config-if)# ip address 10.255.0.5 255.255.255.252
EDGE(config-if)# ip nat inside

# Default out· τα subnets VLAN προσβάσιμα μέσω ΟΠΟΙΟΥΔΗΠΟΤΕ core (ζεύγη ECMP)
EDGE(config)# ip route 0.0.0.0 0.0.0.0 203.0.113.1
EDGE(config)# ip route 10.10.0.0 255.255.0.0 10.255.0.2
EDGE(config)# ip route 10.10.0.0 255.255.0.0 10.255.0.6

# Τα cores χρειάζονται τον δρόμο επιστροφής (σε κάθε core):
CORE-1(config)# ip route 0.0.0.0 0.0.0.0 10.255.0.1
CORE-2(config)# ip route 0.0.0.0 0.0.0.0 10.255.0.5

# Ένα DHCP pool ανά VLAN — το gateway είναι το HSRP VIP, ποτέ ένα πραγματικό SVI
EDGE(config)# ip dhcp excluded-address 10.10.10.1 10.10.10.10
EDGE(config)# ip dhcp pool STAFF
EDGE(dhcp-config)# network 10.10.10.0 255.255.255.0
EDGE(dhcp-config)# default-router 10.10.10.1
EDGE(dhcp-config)# dns-server 1.1.1.1
# …επανέλαβε για GUEST (10.10.20.0), VOICE (10.10.30.0), MGMT εξαιρείται εντελώς

# PAT για ό,τι είναι private
EDGE(config)# access-list 1 permit 10.10.0.0 0.0.255.255
EDGE(config)# ip nat inside source list 1 interface GigabitEthernet0/0 overload
⚠ Παγιδα — Το DHCP Offer Γυρναει Απο Αλλο Δρομο

Ένα PC staff κάνει broadcast ένα DISCOVER· το core που είναι HSRP-active το κάνει relay στο EDGE από τη διεύθυνση SVI του. Αλλά το OFFER επιστρέφει μέσω του routing table του EDGE, που έχει δύο ίσα routes — μπορεί να δώσει την απάντηση στο άλλο core. Αυτό είναι εντάξει (το άλλο core έχει SVI στο ίδιο subnet και το παραδίδει), αλλά μόνο επειδή και τα δύο cores κουβαλούν ip helper-address και SVI για κάθε VLAN. Κάνε config το relay μόνο σε ένα core και το lab δουλεύει μέχρι το πρώτο failover, μετά το DHCP πεθαίνει σιωπηλά — το είδος λανθάνοντος σφάλματος που υπάρχουν τα labs για να διδάξουν.

06

Επαληθευσε, Μετα Σπασ' το Το Διασκεδαστικο Κομματι

Ένα lab που δεν έσπασες δεν σου δίδαξε τίποτα. Επαλήθευσε το steady state, μετά τρέξε τις τρεις ασκήσεις αστοχίας και δες κάθε προστασία που έκανες config να δικαιολογεί πραγματικά την ύπαρξή της.

ΕντοληΤι πρεπει να δειχνει το steady-state
show etherchannel summaryPo1(SU), και τα δύο members (P) — bundled και σε χρήση.
show spanning-tree vlan 10Το CORE-1 λέει «This bridge is the root»· το port του ACC-1 προς το CORE-2 είναι ALTN/BLK.
show standby briefActive/standby μοιρασμένα ακριβώς σύμφωνα με τον πίνακα πλάνου.
show ip routeΣτο EDGE: δύο routes 10.10.0.0/16 (ECMP)· στα cores: από ένα default το καθένα.
show ip dhcp bindingΣτο EDGE: leases από όλα τα VLAN clients.
show ip nat translationsInside locals από 10.10.x.x πίσω από 203.0.113.2.

Drill 1 — σκοτωσε το CORE-1

Κλείσε το CORE-1 (σε Packet Tracer, γύρνα τον φυσικό διακόπτη). Από ένα staff PC, τρέξε συνεχές ping στο 8.8.8.8. Θα πρέπει να χάσεις 3–10 δευτερόλεπτα: το CORE-2 κάνει preempt το HSRP για τα VLAN 10/99, το Rapid-PVST ξεμπλοκάρει τα access uplinks προς το CORE-2, και το δεύτερο static του EDGE κουβαλά τη διαδρομή επιστροφής. Άναψε ξανά το CORE-1 — το preemption επιστρέφει τα VIP σε αυτό, ρίχνοντας ξανά για λίγο ένα-δύο pings.

Drill 2 — κοψε ενα member του Po1

Διάγραψε ένα από τα δύο καλώδια interlink. Το show etherchannel summary τώρα δείχνει ένα member (P), ένα (D) — και τα pings δεν το καταλαβαίνουν καν. Αυτό είναι όλο το επιχείρημα για το bundle: μια φυσική αστοχία έγινε ένα capacity event, όχι outage.

Drill 3 — κοψε το uplink του CORE-1 προς το EDGE

Αυτό είναι το πονηρό. Χωρίς HSRP tracking, οι clients του VLAN 10 στέλνουν ακόμα κίνηση στο CORE-1 (είναι ακόμα HSRP active), το οποίο πρέπει να κάνει detour μέσω Po1 προς το CORE-2 για να φτάσει το EDGE — δουλεύει, αλλά κοίτα το traceroute να μεγαλώνει κατά ένα hop. Με το tracking από το section 04, το CORE-1 υποβιβάζει τον εαυτό του και το detour δεν συμβαίνει ποτέ. Δοκίμασέ το και με τους δύο τρόπους και σύγκρινε traceroutes: αυτή είναι η διαφορά που κάνει το tracking, ορατή.

07

MikroTik ↔ Cisco — το Ιδιο Campus

Ο σχεδιασμός είναι vendor-neutral· να όλο το build χαρτογραφημένο σε RouterOS σε έναν πίνακα.

Αυτο το lab (Cisco)MikroTik / RouterOS
VLAN + trunks 802.1Q/interface bridge vlan (vlan-filtering=yes), tagged/untagged ports
Rapid-PVST + root primaryRSTP στο bridge, priority= ανά bridge (όχι per-VLAN trees)
LACP EtherChannel (Po1)/interface bonding mode=802.3ad
HSRP VIP ανά VLANVRRP interface ανά VLAN με την ίδια ιδέα VIP
SVIs + ip routingVLAN interfaces στο bridge με διευθύνσεις — το routing είναι πάντα on
ip helper-address/ip dhcp-relay
PAT overload στο EDGE/ip firewall nat action=masquerade
💡 Σημειωσεις Packet Tracer

Χρησιμοποίησε το 3650-24PS για τα cores (κάνει ip routing, HSRP, και LACP), το 2960 για access, και το 2911 για EDGE. Το 3650 του PT ονομάζει τα ports GigabitEthernet1/0/x — τα configs παραπάνω ήδη χρησιμοποιούν αυτό το σχήμα. Δύο ιδιοτροπίες του PT: το HSRP tracking δέχεται interface tracking αλλά όχι το syntax track-object από το part 10, και το spanning-tree vlan X root primary υποστηρίζεται ενώ κάποιες γραμμές λεπτομέρειας του show spanning-tree εμφανίζονται ελαφρώς διαφορετικά από πραγματικό IOS. Τίποτα από τα δύο δεν αλλάζει τον σχεδιασμό.

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

  1. Το collapsed core είναι το sweet spot για SMB: δύο L3 switches κουβαλάνε distribution + core, το access κάνει dual-home και στα δύο, και κανένα μεμονωμένο box ή καλώδιο δεν είναι μοιραίο.
  2. Γράψε το addressing plan πριν αγγίξεις πληκτρολόγιο. Ο πίνακας VLAN/subnet/VIP είναι ο σχεδιασμός· το config είναι απλώς να τον πληκτρολογείς.
  3. Χτίσε με σειρά εξάρτησης και επαλήθευσε κάθε layer — καλωδίωση, access L2, core L2, core L3, edge. Ένα σφάλμα που βρέθηκε αργά είναι τότε ήδη εντοπισμένο στο τελευταίο layer που άγγιξες.
  4. Ευθυγράμμισε το root STP με το HSRP active ανά VLAN αλλιώς κάθε frame κάνει μόνιμο, αόρατο detour μέσω του interlink.
  5. Και τα δύο cores χρειάζονται το DHCP relay και SVI για κάθε VLAN — ασύμμετρα return paths είναι φυσιολογικά εδώ, και μισοφτιαγμένο redundancy αποτυγχάνει μόνο κατά το failover για το οποίο υπήρχε.
  6. Κάν' το track τα uplinks στο HSRP ώστε ένα core χωρίς route προς το edge να σταματήσει να προσφέρεται εθελοντικά ως gateway.
  7. Σπάσ' το επίτηδες. Οι τρεις ασκήσεις — νεκρό core, νεκρό μέλος bundle, νεκρό uplink — είναι το πραγματικό πρόγραμμα σπουδών του lab, και τα ίδια τεστ που τρέχουμε πριν την παράδοση ενός site.

Θελεις αυτο το campus, αλλα στο δικο σου κτιριο;

Σχεδιάζω και χτίζω redundant campus networks με τεκμηριωμένα addressing plans και STP/HSRP που πραγματικά συμφωνούν μεταξύ τους — και τρέχω τις ασκήσεις αστοχίας πριν την παράδοση, όχι μετά το πρώτο πραγματικό outage.

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