English · Ελληνικά
Η υπόλοιπη σειρά είναι για το πώς δουλεύει κάθε κομμάτι. Να τι συμβαίνει όταν τα βάζεις όλα μαζί για λεφτά, με deadline, σε ένα κτίριο με τοίχους από πέτρα 30cm και μία γραμμή ίνας που πέφτει κάθε φορά που βρέχει. Ένα ανωνυμοποιημένο write-up ενός πραγματικού collapsed-core Cisco build για παραθαλάσσιο ξενοδοχείο — ο σχεδιασμός, το dual-WAN failover πάνω σε Starlink, και τα τρία πράγματα που χάλασαν την πρώτη εβδομάδα.
Στοιχεία πελάτη, διευθύνσεις, SSID και public IP έχουν αλλαχτεί ή γενικευτεί· η τοπολογία και οι αριθμοί είναι αντιπροσωπευτικοί του πραγματικού build, όχι αντίγραφο του live config. Μοιράζεται με άδεια. Το θέμα είναι οι αποφάσεις, όχι ο πελάτης.
01
Ένα οικογενειακό παραθαλάσσιο ξενοδοχείο 40 δωματίων, που το δίκτυό του είχε μεγαλώσει με συσσώρευση: ένα flat /24, ένα consumer router, και ένα Wi-Fi password που μοιραζόταν με κάθε επισκέπτη από το 2019. Ήθελαν «πιο γρήγορο Wi-Fi». Αυτό που χρειάζονταν ήταν ένα δίκτυο.
Οι πραγματικές απαιτήσεις, όταν τις συζητήσαμε: οι επισκέπτες δεν πρέπει ποτέ να φτάνουν το property-management system (το PMS κρατά δεδομένα κάρτας και διαβατηρίου), το CCTV πρέπει να είναι απομονωμένο και να καταγράφει αξιόπιστα, τα τηλέφωνα VoIP στη reception δεν πρέπει να κράζουν όταν το lobby γεμίζει με επισκέπτες που κάνουν streaming, και όλο το σύστημα πρέπει να μένει online όταν πεθαίνει η μία γραμμή ίνας — κάτι που, σε αυτό το χωριό, συμβαίνει. Το budget ήταν πραγματικό αλλά όχι απεριόριστο: ένα managed Layer-3 switch που παίζει ρόλο collapsed core, υπάρχουσα καλωδίωση, και Starlink ως δεύτερο WAN επειδή δεν υπάρχει δεύτερος ενσύρματος provider για 20χλμ.
Το standard Starlink σου δίνει μια διεύθυνση CGNAT, όχι public. Αυτό είναι μια χαρά για ένα path backup όπου το ξενοδοχείο κάνει μόνο outbound συνδέσεις, αλλά σημαίνει ότι το Starlink δεν μπορεί να τερματίσει inbound VPN ή να φιλοξενήσει τίποτα. Ανάγκασε νωρίς την απόφαση σχεδιασμού: η ίνα είναι primary και κουβαλά ό,τι είναι inbound· το Starlink είναι επιβίωση μόνο outbound. Το να το ξέρεις από την πρώτη μέρα γλίτωσε ένα καταδικασμένο απόγευμα προσπάθειας να κάνεις port-forward το CCTV πάνω στο backup link. (Λεπτομέρειες στο Starlink + MikroTik Failover — ίδια πραγματικότητα CGNAT, διαφορετικό edge.)
02
Ένα ξενοδοχείο 40 δωματίων δεν χρειάζεται three-tier campus. Χρειάζεται ένα έξυπνο box που κάνει και switching και routing, με καθαρό segmentation από πάνω. Το collapsed-core είναι η ειλικρινής απάντηση σε αυτή την κλίμακα.
Ένα Layer-3 switch είναι το core και το distribution layer· access switches κρέμονται από αυτό για τους ορόφους με δωμάτια. Το inter-VLAN routing γίνεται στο core με SVI, και το ίδιο box χειρίζεται τα δύο WAN uplinks. Πιο απλό να τρέχεις, φθηνότερο, και για ένα μοναδικό κτίριο χωρίς απαίτηση redundancy ανάμεσα σε ορόφους, απόλυτα κατάλληλο — το pattern από το lab collapsed-core μπαίνει σε πραγματικό cabinet.
| VLAN | Σκοπος & policy |
|---|---|
| 10 · Προσωπικο | Back-office PC· φτάνει internet + PMS (print/booking), τίποτα άλλο. |
| 20 · Επισκεπτες | Wi-Fi δωματίων + lobby. Μόνο internet. /23 για headroom DHCP. Client isolation ενεργό. |
| 30 · PMS | Τερματικά booking/POS + server. Κανένα inbound από guest/CCTV· ζώνη card-data. |
| 40 · CCTV | Κάμερες + NVR. Καθόλου internet — καταγραφή on-prem, προσβάσιμο μόνο από προσωπικό. |
| 50 · VoIP | Τηλέφωνα reception. Priority-queued· δικό του subnet για καθαρό QoS marking. |
| 99 · Mgmt | Management switch/AP. Κλειδωμένο σε ένα μόνο admin host + μόνο SSH. |
Το segmentation δεν είναι παράνοια — είναι η διαφορά ανάμεσα σε «ένα laptop επισκέπτη κόλλησε malware» και «ένα laptop επισκέπτη κόλλησε malware και έφτασε το μηχάνημα με τα σκαναρισμένα διαβατήρια όλων». Η inter-VLAN policy επιβάλλεται με ACL στα SVI, ακριβώς το pattern από το post του ACL: default-deny ανάμεσα σε segments, ρητά allows για τις λίγες ροές που πρέπει να περάσουν (staff→PMS, staff→CCTV).
# Εφαρμόζεται inbound στο SVI του Guest: internet ναι, internal όχι. Core(config)# ip access-list extended GUEST-IN Core(config-ext-nacl)# deny ip 10.10.20.0 0.0.1.255 10.10.0.0 0.0.255.255 # κανένα internal RFC1918 Core(config-ext-nacl)# permit ip 10.10.20.0 0.0.1.255 any # οτιδήποτε άλλο (internet) Core(config)# interface Vlan20 Core(config-if)# ip access-group GUEST-IN in
Το ACL σταματά τον guest να κάνει routing προς το PMS. Δεν σταματά την κίνηση guest-to-guest μέσα στο VLAN 20 — είναι το ίδιο broadcast domain, άρα ένα μολυσμένο laptop μπορεί ακόμα να σκανάρει και να επιτεθεί στο τηλέφωνο του διπλανού δωματίου. Το δεύτερο επίπεδο είναι protected-port / client isolation στο access layer (και στα AP) ώστε οι συσκευές επισκεπτών να μιλάνε μόνο με το gateway και τίποτα άλλο στο δικό τους VLAN. Οι ιδιοκτήτες νομίζουν ότι το Wi-Fi password είναι το security boundary· δεν είναι. Αυτό ταιριάζει με το απλό, μη τεχνικό Γιατι το Guest Wi-Fi Χρειαζεται Δικο του Δικτυο που δίνω σε μη τεχνικούς πελάτες.
03
Ο βασικός λόγος που τηλεφώνησε ο ιδιοκτήτης. Όταν πέφτει η ίνα εν μέσω σεζόν, η reception ακόμα χρειάζεται να δέχεται κρατήσεις και το τερματικό κάρτας ακόμα χρειάζεται να κάνει clear. Το failover πρέπει να είναι αυτόματο και αθόρυβο — κανείς στο desk δεν πρέπει να χρειαστεί να κάνει τίποτα.
Δύο default routes με διαφορετικά administrative distances, και ένα probe IP SLA που κάνει track πραγματική προσβασιμότητα μέσω της ίνας — όχι απλώς «είναι up το interface», γιατί το link της ίνας μένει up ενώ ο upstream του provider είναι νεκρός. Όταν αποτυγχάνει το probe, το tracked primary route αποσύρεται και το Starlink route με το χειρότερο AD αναλαμβάνει. Όταν το probe ανακάμπτει, γίνεται fail back.
# Κάνε probe έναν αξιόπιστο off-net στόχο ΜΕΣΩ του next-hop της ίνας. Edge(config)# ip sla 1 Edge(config-ip-sla)# icmp-echo 1.1.1.1 source-interface GigabitEthernet0/0 Edge(config-ip-sla)# frequency 5 Edge(config)# ip sla schedule 1 life forever start-time now Edge(config)# track 1 ip sla 1 reachability # Primary μέσω ίνας, μόνο όσο το track 1 είναι up (AD 1). Edge(config)# ip route 0.0.0.0 0.0.0.0 <fibre-gw> 1 track 1 # Backup μέσω Starlink, χειρότερο AD ώστε να μπαίνει μόνο όταν το primary έχει φύγει. Edge(config)# ip route 0.0.0.0 0.0.0.0 GigabitEthernet0/1 10 # Starlink (DHCP/CGNAT)
Πρώτο τεστ failover: η ίνα τραβήχτηκε, το route γύρισε σωστά σε Starlink, και τίποτα δεν έφτανε το internet. Το PAT overload ήταν ρυθμισμένο να μεταφράζει μόνο μέσω του interface της ίνας. Όταν η κίνηση άρχισε να φεύγει μέσω Starlink ήταν unNATed — μια CGNAT-μέσα-σε-ιδιωτική-διεύθυνση που το Starlink έριχνε σιωπηλά. Η διόρθωση: ένας δεύτερος κανόνας ip nat inside source (route-map ταιριασμένο σε κάθε egress interface) ώστε οι μεταφράσεις να ακολουθούν όποιο WAN είναι live. Είναι η κλασική παγίδα NAT σε dual-WAN, και εμφανίζεται μόνο τη στιγμή που το backup path χρησιμοποιείται πραγματικά — γι' αυτό τεστάρεις το failover πριν φύγεις από το site, όχι όταν τηλεφωνήσει ο ιδιοκτήτης τον Αύγουστο.
04
Κάθε ειλικρινές field write-up έχει αυτή την ενότητα. Ο σχεδιασμός ήταν σωστός· η πραγματικότητα είχε ακόμα γνώμη. Δύο ακόμα από την πρώτη εβδομάδα.
Τα τηλέφωνα ήταν στο δικό τους VLAN αλλά το QoS δεν είχε κουβαληθεί στο WAN uplink. Υπό φορτίο, ο μικροσκοπικός upload buffer της ίνας φούσκωνε και τα πακέτα φωνής στοιβάζονταν πίσω από uploads επισκεπτών. Το post του QoS είναι ακριβώς αυτό: σήμανε voice EF στο access edge, μετά μια priority queue με policing ceiling στο WAN egress ώστε η κίνηση επισκεπτών να μην μπορεί ποτέ να λιμοκτονήσει τα τηλέφωνα. Σιωπή διορθωμένη σε ένα policy-map. Μάθημα: το QoS marking χωρίς egress policy στο bottleneck link είναι διακόσμηση.
Το NVR έχανε μία-δύο κάμερες κάθε μερικές ώρες. Όχι το δίκτυο — budget PoE. Η συνολική κατανάλωση PoE του access switch ξεπερνούσε το budget του με όλες τις κάμερες συν τα δύο AP του lobby, οπότε έριχνε τα ports χαμηλότερης προτεραιότητας στο peak. Μεταφέρθηκαν τα AP σε δεύτερο switch και ρυθμίστηκε PoE priority στα ports των καμερών. Μια υπενθύμιση ότι «το δίκτυο ρίχνει πράγματα» είναι μερικές φορές ένα spreadsheet power-budget, και ότι το syslog (το switch κατέγραφε events ILPOWER όλο αυτό τον καιρό) σου λέει ποιο από τα δύο.
Πριν φύγω: config αρχειοθετημένο και backed up εκτός box, syslog + NTP δείχνουν σε έναν μικρό collector ώστε τα timestamps να σημαίνουν κάτι, SSH-only management στο VLAN 99, και ένα runbook μιας σελίδας κολλημένο μέσα στο cabinet — «η ίνα είναι down; να πώς ξέρεις ότι έκανε failover, να ποιον να καλέσεις». Ο ιδιοκτήτης δεν μπορεί να διαβάσει ένα running-config, αλλά μπορεί να διαβάσει αυτή τη σελίδα. Η τεκμηρίωση είναι το παραδοτέο που ζει περισσότερο από την επίσκεψη.
Βασικα Συμπερασματα
Ένα δίκτυο ξενοδοχείου έχει μία δουλειά που οι περισσότεροι ιδιοκτήτες δεν σκέφτονται μέχρι να αποτύχει: κράτα την κίνηση επισκεπτών μακριά από τα δεδομένα κάρτας, και μείνε online όταν δεν μένει η ίνα. Χτίζω segmented, dual-WAN Cisco και MikroTik δίκτυα ακριβώς γύρω από αυτό, με Starlink ως backup path και QoS που επιβιώνει με γεμάτο σπίτι.
Κλεισε μια Discovery Call →