English · Ελληνικά
Tagged trunks, untagged access ports, και IP interfaces ανά VLAN — και σε εξοπλισμό hAP/RB και CRS. Το θεμέλιο πάνω στο οποίο χτίζεται κάθε segmented δίκτυο.
Ένα flat δίκτυο βάζει κάθε συσκευή — laptop επισκεπτών, PC προσωπικού, κάμερες IP, τερματικά πληρωμών, και management interfaces — στο ίδιο broadcast domain. Μια συσκευή που έχει συμβιβαστεί φτάνει όλες τις άλλες. Ένας θερμοστάτης IoT με λάθος config μπορεί να κάνει broadcast-storm σε όλο το ακίνητο. Τα VLAN το διορθώνουν αυτό δημιουργώντας απομονωμένα segments Layer 2 που μοιράζονται φυσική υποδομή αλλά δεν μπορούν να επικοινωνήσουν χωρίς ρητή απόφαση routing.
Αυτός ο οδηγός χτίζει ένα πλήρες setup VLAN για δίκτυο φιλοξενίας: Management (VLAN 10), Servers (VLAN 20), Guest WiFi (VLAN 30), και IoT (VLAN 40). Καλύπτουμε το μοντέλο VLAN βασισμένο σε bridge του RouterOS v7 που χρησιμοποιείται σε συσκευές hAP / RB, και το μοντέλο switch chip με hardware offload που χρησιμοποιείται σε συσκευές CRS. Το μοντέλο trunk/access port και το config των IP interfaces είναι πανομοιότυπα και για τα δύο — μόνο η προσέγγιση VLAN filtering διαφέρει.
01
Κάθε σύγχυση VLAN καταλήγει σε μία παρεξηγημένη έννοια: πού ζει το tag και πού αφαιρείται.
Ένα VLAN tag 802.1Q είναι μια κεφαλίδα 4 bytes που εισάγεται σε ένα frame Ethernet, κουβαλώντας ένα VLAN ID 12-bit (1–4094). Τα switches χρησιμοποιούν αυτό το tag για να αποφασίσουν σε ποιο broadcast domain ανήκει ένα frame. Το tag προστίθεται, περνά, και αφαιρείται σε συγκεκριμένα σημεία του δικτύου:
Access port — συνδέεται με μια τελική συσκευή (PC, εκτυπωτή, κάμερα IP). Δέχεται untagged frames από τη συσκευή, προσθέτει το tag VLAN πριν το forward. Αφαιρεί το tag πριν το στείλει πίσω στη συσκευή. Η τελική συσκευή δεν βλέπει ποτέ tag.
Trunk port — συνδέει switches μεταξύ τους, ή ένα switch με έναν router. Κουβαλά πολλά VLAN ταυτόχρονα, κάθε frame tagged. Η συσκευή που δέχεται πρέπει να καταλαβαίνει tags 802.1Q.
PVID (Port VLAN ID) — το VLAN που ανατίθεται σε untagged frames που φτάνουν σε ένα access port. Στο RouterOS, αυτό ρυθμίζεται ανά bridge port.
bridge1, τσέκαρε VLAN Filtering = yes, Frame Types = admit-all. Κλικ Apply.Στο RouterOS v6, τα VLAN συχνά γινόντουσαν config απευθείας στο switch chip χρησιμοποιώντας /interface ethernet switch. Στο v7, η σωστή και υποστηριζόμενη μέθοδος είναι bridge-based VLAN filtering: όλα τα interfaces μπαίνουν σε ένα bridge, και η policy VLAN ορίζεται στο bridge και στα ports του. Η παλιά μέθοδος switch chip ακόμα υπάρχει σε κάποιο hardware αλλά δεν συνιστάται για νέες αναπτύξεις. Όλα σε αυτόν τον οδηγό χρησιμοποιούν τη μέθοδο bridge του v7.
02
Γράψε το πλάνο πριν αγγίξεις το CLI — κάθε εντολή που πληκτρολογείς πρέπει να αντιστοιχεί απευθείας σε μια γραμμή αυτού του πίνακα.
03
Σε συσκευές hAP και RB, τα VLAN ζουν στο bridge. Τρία βήματα: χτίσε το bridge με VLAN filtering ενεργό, όρισε trunk και access ports, δημιούργησε IP interfaces VLAN.
Το μοντέλο bridge VLAN του RouterOS v7 δουλεύει έτσι: ένα bridge κρατά όλα τα ports LAN. Το VLAN filtering ενεργοποιείται στο ίδιο το bridge. Κάθε port ανατίθεται ως tagged ή untagged μέλος για συγκεκριμένα VLAN. Το bridge επιβάλλει την policy tagging σε software (ή με switch chip offload σε υποστηριζόμενο hardware).
# ── ΒΗΜΑ ΜΗΔΕΝ: ενεργοποίησε vlan-filtering στο bridge ─────────────────── # Χωρίς vlan-filtering=yes, ο πίνακας VLAN και οι ρυθμίσεις PVID αγνοούνται # εντελώς — όλα τα ports συμπεριφέρονται σαν να είναι στο ίδιο flat δίκτυο. # Ρύθμισέ το ΠΡΩΤΑ, πριν προσθέσεις ports ή ορίσεις τον πίνακα VLAN. [admin@MikroTik] > /interface bridge add \ name=bridge1 \ vlan-filtering=yes \ frame-types=admit-all \ comment="Main LAN bridge with VLAN filtering" # vlan-filtering=yes: ενεργοποιεί την επιβολή 802.1Q σε αυτό το bridge. # Χωρίς αυτό, τα tags VLAN αγνοούνται και όλα τα ports είναι στο ίδιο domain. # frame-types=admit-all: το bridge δέχεται και tagged και untagged frames. # Τα επιμέρους ports θα περιορίσουν περαιτέρω τι δέχονται.
# ── TRUNK PORT (ether2 → downstream switch) ────────────────────────────── # Κουβαλά όλα τα VLAN tagged. frame-types=admit-only-vlan-tagged σημαίνει # ότι τα untagged frames που φτάνουν εδώ γίνονται drop. [admin@MikroTik] > /interface bridge port add \ interface=ether2 \ bridge=bridge1 \ frame-types=admit-only-vlan-tagged \ comment="Trunk → downstream switch" # ── ACCESS PORT (ether3 → VLAN 10, PC προσωπικού) ──────────────────────── # pvid=10 σημαίνει ότι τα untagged frames που φτάνουν εδώ ανατίθενται στο VLAN 10. # frame-types=admit-only-untagged-and-priority-tagged σημαίνει ότι τα tagged # frames από το PC γίνονται drop — οι τελικές συσκευές δεν πρέπει να στέλνουν tags. [admin@MikroTik] > /interface bridge port add \ interface=ether3 \ bridge=bridge1 \ pvid=10 \ frame-types=admit-only-untagged-and-priority-tagged \ comment="Access port → VLAN 10 MGMT" # ── ACCESS PORT (ether4 → VLAN 40, IoT) ────────────────────────────────── [admin@MikroTik] > /interface bridge port add \ interface=ether4 \ bridge=bridge1 \ pvid=40 \ frame-types=admit-only-untagged-and-priority-tagged \ comment="Access port → VLAN 40 IoT"
Ο πίνακας VLAN του bridge ορίζει ποια ports είναι tagged ή untagged μέλη κάθε VLAN. Αυτό είναι ξεχωριστό από το config των ports — και τα δύο πρέπει να ρυθμιστούν σωστά.
[admin@MikroTik] > /interface bridge vlan # VLAN 10 — Management # ether2 (trunk): tagged μέλος | ether3 (access): untagged μέλος # το ίδιο το bridge1: tagged — απαραίτητο για το δικό του IP του router σε αυτό το VLAN [admin@MikroTik] /interface/bridge/vlan> add \ bridge=bridge1 vlan-ids=10 \ tagged=bridge1,ether2 \ untagged=ether3 # VLAN 20 — Servers (μόνο trunk — δεν υπάρχουν τοπικά access ports σε αυτό το παράδειγμα) [admin@MikroTik] /interface/bridge/vlan> add \ bridge=bridge1 vlan-ids=20 \ tagged=bridge1,ether2 # VLAN 30 — Guest WiFi (μόνο trunk — το AP στο downstream switch χειρίζεται το access) [admin@MikroTik] /interface/bridge/vlan> add \ bridge=bridge1 vlan-ids=30 \ tagged=bridge1,ether2 # VLAN 40 — IoT [admin@MikroTik] /interface/bridge/vlan> add \ bridge=bridge1 vlan-ids=40 \ tagged=bridge1,ether2 \ untagged=ether4 # Επιβεβαίωση: [admin@MikroTik] > /interface bridge vlan print # BRIDGE VLAN-IDS TAGGED UNTAGGED 0 bridge1 10 bridge1,ether2 ether3 1 bridge1 20 bridge1,ether2 2 bridge1 30 bridge1,ether2 3 bridge1 40 bridge1,ether2 ether4
admit-only-vlan-tagged (trunk). Πρόσθεσε ether3 με PVID = 10, frame-types = admit-only-untagged (access). Επανέλαβε για κάθε access port με το δικό του PVID.Το ίδιο το interface bridge (bridge1) πρέπει να είναι στη λίστα tagged= για κάθε VLAN στο οποίο θέλεις ο router να κάνει route ή να σερβίρει DHCP. Αν το παραλείψεις, το VLAN interface που δημιουργείς στο Βήμα 4 δεν θα έχει δρόμο να στείλει ή να δεχτεί κίνηση. Αυτός είναι ο πιο συχνός λόγος που δεν δουλεύει το DHCP αφού προστεθούν VLAN — το bridge δεν είναι tagged μέλος στη δική του εγγραφή του πίνακα VLAN.
bridge1,ether2, βάλε Untagged = το/τα access port(s) για εκείνο το VLAN. το bridge1 πρέπει να είναι στο Tagged σε κάθε γραμμή.Δημιούργησε ένα VLAN sub-interface πάνω στο bridge1 για κάθε VLAN. Ανάθεσε ένα gateway IP. Εδώ ο router τερματίζει την κίνηση κάθε VLAN.
# Δημιούργησε VLAN interfaces πάνω στο bridge1: [admin@MikroTik] > /interface vlan [admin@MikroTik] /interface/vlan> add name=vlan10 vlan-id=10 interface=bridge1 comment="MGMT" [admin@MikroTik] /interface/vlan> add name=vlan20 vlan-id=20 interface=bridge1 comment="Servers" [admin@MikroTik] /interface/vlan> add name=vlan30 vlan-id=30 interface=bridge1 comment="Guest WiFi" [admin@MikroTik] /interface/vlan> add name=vlan40 vlan-id=40 interface=bridge1 comment="IoT" # Ανάθεσε gateway IPs: [admin@MikroTik] > /ip address [admin@MikroTik] /ip/address> add address=192.168.10.1/24 interface=vlan10 comment="MGMT gateway" [admin@MikroTik] /ip/address> add address=192.168.20.1/24 interface=vlan20 comment="Servers gateway" [admin@MikroTik] /ip/address> add address=192.168.30.1/24 interface=vlan30 comment="Guest gateway" [admin@MikroTik] /ip/address> add address=192.168.40.1/24 interface=vlan40 comment="IoT gateway" [admin@MikroTik] > /ip address print # ADDRESS NETWORK INTERFACE 0 192.168.10.1/24 192.168.10.0 vlan10 1 192.168.20.1/24 192.168.20.0 vlan20 2 192.168.30.1/24 192.168.30.0 vlan30 3 192.168.40.1/24 192.168.40.0 vlan40
192.168.10.1/24, Interface = vlan10. Επανέλαβε για vlan20, vlan30, vlan40 με τα αντίστοιχα gateway IP τους.# Πρόσθεσε IP pool και DHCP server για κάθε VLAN. # Το παράδειγμα δείχνει το VLAN 10 — επανέλαβε το pattern για 20, 30, 40. [admin@MikroTik] > /ip pool add name=pool-vlan10 ranges=192.168.10.100-192.168.10.200 [admin@MikroTik] > /ip dhcp-server add \ name=dhcp-vlan10 \ interface=vlan10 \ address-pool=pool-vlan10 \ lease-time=12h \ disabled=no [admin@MikroTik] > /ip dhcp-server network add \ address=192.168.10.0/24 \ gateway=192.168.10.1 \ dns-server=192.168.10.1 \ comment="VLAN 10 MGMT network" # Επανέλαβε με τα ονόματα vlan20/30/40 και τα αντίστοιχα subnets τους. # Για το Guest VLAN 30: σκέψου πιο σύντομο lease-time=2h και # μικρότερο pool — οι επισκέπτες κάνουν check in και out συχνά.
vlan10, συμπλήρωσε το εύρος του pool διευθύνσεων, gateway, και DNS. Επανέλαβε για κάθε VLAN. Το Guest VLAN (30) πρέπει να πάρει πιο σύντομο lease time — 2h.Παραρτημα στο Section 03
Το VLAN filtering δεν είναι ενεργό εξ ορισμού σε ένα καινούριο bridge. Χωρίς αυτό, κάθε port είναι στο ίδιο broadcast domain ανεξάρτητα από PVID, frame-types, ή εγγραφές του πίνακα VLAN — όλα τα tags 802.1Q αγνοούνται σιωπηλά. Αυτός είναι ο πιο συχνός λόγος που ένα «setup VLAN» φαίνεται να δουλεύει αλλά δεν δίνει καμία απομόνωση.
Η σωστή σειρά είναι: δημιούργησε το bridge με vlan-filtering=yes βαλμένο από την αρχή. Αν κάνεις retrofit σε υπάρχον bridge, ενεργοποίησέ το με προσοχή — ισχύει αμέσως και θα ρίξει κάθε κίνηση που δεν ταιριάζει με τον πίνακα VLAN. Χρησιμοποίησε /system safe-mode πριν το κάνεις αυτό σε ζωντανό δίκτυο.
[admin@MikroTik] > /interface bridge print Flags: X - disabled, R - running 0 R name="bridge1" mtu=1500 vlan-filtering=yes ← must be yes # Αν vlan-filtering=no, κάθε port είναι στο ίδιο domain. # Για ενεργοποίηση σε υπάρχον bridge (προσοχή — σύντομη πτώση κίνησης): # /interface bridge set bridge1 vlan-filtering=yes
Ένα bridge με vlan-filtering=no κάνει forward όλα τα frames ανάμεσα σε όλα τα ports ανεξάρτητα από PVID ή πίνακα VLAN. Αν βάλεις μια συσκευή επισκέπτη στο ether3 (PVID 10) και έναν server στο ether4 (PVID 40), μπορούν να επικοινωνήσουν ελεύθερα — σαν να μην υπάρχουν VLAN. Ο πίνακας VLAN είναι χτισμένος αλλά εντελώς ανενεργός. Έλεγξε πάντα πρώτα αυτή τη ρύθμιση όταν κάνεις debug παράπονα «τα VLAN δεν απομονώνουν».
Όταν το trunk port του router (ether2) συνδέεται με ένα downstream managed switch, εκείνο το switch πρέπει επίσης να καταλαβαίνει tags 802.1Q. Δέχεται όλα τα VLAN tagged από τον router και τα διανέμει σε access ports για τελικές συσκευές. Το config στο downstream switch ακολουθεί ακριβώς το ίδιο μοντέλο bridge VLAN — τρέχει κι αυτό RouterOS.
Το downstream switch χρειάζεται: ένα trunk port προς τον router (ether1, frame-types=admit-only-vlan-tagged), ένα access port ανά VLAN με το σωστό PVID, και ταιριαστό πίνακα VLAN. Αν λείπει κάποιο VLAN από τον πίνακα VLAN του downstream switch, τα frames για εκείνο το VLAN ρίχνονται σιωπηλά σε εκείνο το switch — οι συσκευές πάνω του δεν θα πάρουν απαντήσεις DHCP και δεν θα φτάσουν το δίκτυο.
frame-types=admit-only-vlan-tagged, καμία αλλαγή PVID. Τα ether2–5 είναι access ports — ένα ανά VLAN, το καθένα με σωστό PVID και admit-only-untagged. Αν ένα AP χρειάζεται να κουβαλήσει tagged ένα guest VLAN (π.χ. ether6 → AP με SSID στο VLAN 30), εκείνο το port χρησιμοποιεί επίσης admit-only-vlan-tagged.# Στο DOWNSTREAM switch — τρέξε τις ίδιες εντολές όπως στον πίνακα VLAN του router. # Το ether1 είναι το trunk uplink από τον router. # Κάθε VLAN που φτάνει tagged στο ether1 χρειάζεται εγγραφή εδώ. [admin@DownstreamSwitch] > /interface bridge vlan [admin@DownstreamSwitch] /interface/bridge/vlan> add \ bridge=bridge1 vlan-ids=10 \ tagged=bridge1,ether1 \ untagged=ether2 # bridge1 tagged = επιτρέπει στον ανάντη router να κάνει route την κίνηση αυτού του VLAN # ether1 tagged = το trunk uplink κουβαλά το VLAN 10 tagged # ether2 untagged = το PC προσωπικού συνδέεται εδώ, δέχεται untagged frames [admin@DownstreamSwitch] /interface/bridge/vlan> add \ bridge=bridge1 vlan-ids=20 \ tagged=bridge1,ether1 \ untagged=ether3 [admin@DownstreamSwitch] /interface/bridge/vlan> add \ bridge=bridge1 vlan-ids=30 \ tagged=bridge1,ether1,ether6 \ untagged=ether4 # Το ether6 είναι trunk προς ένα AP — κουβαλά το VLAN 30 tagged ώστε το AP # να μπορεί να κάνει broadcast το guest SSID στο VLAN 30. [admin@DownstreamSwitch] /interface/bridge/vlan> add \ bridge=bridge1 vlan-ids=40 \ tagged=bridge1,ether1 \ untagged=ether5 # Επιβεβαίωση: # /interface bridge vlan print # Κάθε VLAN πρέπει να δείχνει το ether1 στο tagged και το σωστό port στο untagged.
Αν το VLAN 30 υπάρχει στον router αλλά ξεχάσεις να το προσθέσεις στον πίνακα VLAN του downstream switch, κάθε frame με tag VLAN 30 που φτάνει στο ether1 ρίχνεται σε εκείνο το switch. Συσκευές συνδεδεμένες στο ether4 (PVID 30) δεν παίρνουν DHCP, καμία σύνδεση, και κανένα μήνυμα σφάλματος — απλώς δεν δουλεύει. Όταν κάνεις debug «ένα VLAN δεν δουλεύει», έλεγξε πάντα πρώτα τον πίνακα VLAN του downstream switch.
Το να βάλεις ένα unmanaged (χαζό) switch σε trunk port περνά όλα τα tagged frames σε ό,τι είναι συνδεδεμένο πάνω του. Οι τελικές συσκευές δέχονται ακατέργαστα 802.1Q-tagged frames που δεν μπορούν να επεξεργαστούν — δεν παίρνουν IP, και μπορεί να καταγράφουν μπερδεμένα σφάλματα. Τα unmanaged switches πρέπει να συνδέονται μόνο σε access ports όπου τα frames είναι ήδη untagged. Αν χρειάζεσαι να επεκτείνεις ένα trunk σε άλλο δωμάτιο ή όροφο, χρησιμοποίησε ένα managed switch που καταλαβαίνει 802.1Q.
Το να μεταφέρεις μια συσκευή από το ένα VLAN στο άλλο — ας πούμε ένα PC προσωπικού στο VLAN 10 που ξανα-ανατίθεται στο VLAN 20 (Servers) — απαιτεί δύο αλλαγές: ενημέρωσε το PVID του port, και ενημέρωσε τον πίνακα VLAN του bridge ώστε το port να είναι untagged μέλος του νέου VLAN (και αφαιρεμένο από το παλιό).
# Βήμα 1: Άλλαξε το PVID στο port [admin@MikroTik] > /interface bridge port set \ [find interface=ether3] \ pvid=20 \ comment="Servers — reassigned from VLAN 10" # Βήμα 2: Αφαίρεσε το ether3 από τη λίστα untagged του VLAN 10 [admin@MikroTik] > /interface bridge vlan set \ [find vlan-ids=10] \ untagged="" # Αν άλλα ports είναι ακόμα untagged στο VLAN 10, γράψε τα ρητά: # untagged=ether5,ether6 (κράτα όλα εκτός από το ether3) # Βήμα 3: Πρόσθεσε το ether3 στη λίστα untagged του VLAN 20 [admin@MikroTik] > /interface bridge vlan set \ [find vlan-ids=20] \ untagged=ether3 # Επιβεβαίωσε ότι το port βλέπει τώρα κίνηση VLAN 20 — η συσκευή θα πρέπει # να πάρει διεύθυνση 192.168.20.x από το dhcp-vlan20 μετά την επανασύνδεση. [admin@MikroTik] > /ip dhcp-server lease print \ where server=dhcp-vlan20 # Θα πρέπει να εμφανιστεί νέο lease για τη συνδεδεμένη συσκευή του ether3.
Το να βάλεις PVID=20 σε ένα port λέει στο bridge να κάνει tag τα εισερχόμενα untagged frames ως VLAN 20. Αλλά αν η εγγραφή του VLAN 20 στον πίνακα δεν αναφέρει αυτό το port ως untagged μέλος, το bridge δεν θα στείλει πίσω τα frames VLAN 20 από εκείνο το port untagged — η συσκευή δεν δέχεται τίποτα. Και το PVID και η εγγραφή στον πίνακα VLAN πρέπει να είναι συγχρονισμένα. Μετά από κάθε αλλαγή port, επαλήθευσε με /interface bridge vlan print ότι το port εμφανίζεται στη σωστή στήλη untagged του VLAN.
04
Οι συσκευές CRS3xx μπορούν να σπρώξουν το VLAN tagging μέσα στο switch chip, δουλεύοντας με line rate. Το μοντέλο config είναι το ίδιο — μόνο το flag offload διαφέρει.
Σε συσκευές CRS (Cloud Router Switch), το config του bridge VLAN filtering είναι πανομοιότυπο με τη μέθοδο hAP παραπάνω. Η διαφορά είναι ότι το hardware CRS μπορεί να κάνει offload το VLAN tagging στο ASIC του switch, παρακάμπτοντας εντελώς το CPU για αποφάσεις switching. Αυτό δίνει επίδοση line-rate ακόμα και σε 1G/10G με πολλά VLAN.
Για να ενεργοποιήσεις hardware offload, βάλε hw=yes σε bridge ports που υποστηρίζει το switch chip. Δεν υποστηρίζουν όλα τα ports σε όλες τις συσκευές CRS offload — έλεγξε το wiki του MikroTik για το συγκεκριμένο μοντέλο σου.
# Ίδιο bridge και πίνακας VLAN όπως στη μέθοδο hAP. # Πρόσθεσε hw=yes σε ports που υποστηρίζουν offload switch chip: [admin@MikroTik] > /interface bridge port set [find interface=ether2] hw=yes [admin@MikroTik] > /interface bridge port set [find interface=ether3] hw=yes [admin@MikroTik] > /interface bridge port set [find interface=ether4] hw=yes # Επιβεβαίωσε ότι το hardware offload είναι ενεργό: [admin@MikroTik] > /interface bridge port print # INTERFACE BRIDGE HW PVID FRAME-TYPES STATE 0 ether2 bridge1 yes 1 admit-only-vlan-tagged forwarding 1 ether3 bridge1 yes 10 admit-only-untagged-and-prio... forwarding 2 ether4 bridge1 yes 40 admit-only-untagged-and-prio... forwarding # HW=yes σημαίνει ότι το switch chip χειρίζεται το tagging — το CPU δεν εμπλέκεται # για κίνηση transit switching. Μόνο routed κίνηση (inter-VLAN) φτάνει στο CPU. # Σε CRS μπορείς επίσης να επιβεβαιώσεις την ανάθεση ports του switch chip: [admin@MikroTik] > /interface ethernet switch port print # Ports με ορισμένο "master-port" ελέγχονται από το switch chip.
bridge1 στη στήλη tagged — αυτό είναι που δίνει στα VLAN interfaces του router τον δρόμο κίνησής τους. Οι έγχρωμες γραμμές αντιστοιχούν στο πλάνο VLAN παραπάνω.
Το να ενεργοποιήσεις vlan-filtering=yes σε ένα bridge που ήδη έχει ενεργά ports και clients προκαλεί άμεση διακοπή κίνησης. Το bridge αρχίζει να επιβάλλει την policy VLAN ακαριαία — πριν ορίσεις τον πίνακα VLAN. Frames που δεν ταιριάζουν σε καμία εγγραφή του πίνακα VLAN ρίχνονται. Η σωστή σειρά είναι: δημιούργησε το bridge με vlan-filtering=yes πριν προσθέσεις οποιαδήποτε ports, χτίσε τον πλήρη πίνακα VLAN, μετά πρόσθεσε ports. Αν κάνεις reconfigure ζωντανό δίκτυο, χρησιμοποίησε πρώτα /system safe-mode.
05
Τέσσερις έλεγχοι επαλήθευσης — ένας σε κάθε επίπεδο. Μην παραλείψεις κανέναν.
# 1. Είναι τα VLAN interfaces up και έχουν τα σωστά IPs; [admin@MikroTik] > /interface vlan print Flags: R - running # R NAME MTU ARP VLAN-ID INTERFACE 0 R vlan10 1500 enabled 10 bridge1 1 R vlan20 1500 enabled 20 bridge1 2 R vlan30 1500 enabled 30 bridge1 3 R vlan40 1500 enabled 40 bridge1 # Όλα πρέπει να δείχνουν R (running). Αν όχι: λείπει το bridge1 από τη λίστα tagged. # 2. Είναι οι DHCP servers bound και κάνουν leasing; [admin@MikroTik] > /ip dhcp-server print # NAME INTERFACE ADDRESS-POOL LEASE-TIME STATUS 0 dhcp-vlan10 vlan10 pool-vlan10 12h running 1 dhcp-vlan20 vlan20 pool-vlan20 12h running 2 dhcp-vlan30 vlan30 pool-vlan30 2h running 3 dhcp-vlan40 vlan40 pool-vlan40 12h running # 3. Παίρνουν οι clients IPs; (μετά τη σύνδεση μιας συσκευής σε κάθε VLAN) [admin@MikroTik] > /ip dhcp-server lease print # ADDRESS MAC-ADDRESS HOST-NAME SERVER STATUS 0 192.168.10.100 AA:BB:CC:DD:EE:01 staff-pc dhcp-vlan10 bound 1 192.168.40.10 AA:BB:CC:DD:EE:02 camera-1 dhcp-vlan40 bound # 4. Μπορεί ο router να κάνει ping σε κάθε VLAN gateway; [admin@MikroTik] > /ping 192.168.10.1 count=2 src-address=192.168.10.1 0 192.168.10.1 56 64 0ms echo reply 1 192.168.10.1 56 64 0ms echo reply # Επανέλαβε για .20.1, .30.1, .40.1 # 5. Έλεγχος απομόνωσης VLAN — το IoT ΔΕΝ πρέπει να φτάνει το MGMT # (τρέξ' το από μια συσκευή στο VLAN 40, πρέπει να κάνει timeout αν το firewall είναι σωστό) [admin@MikroTik] > /ip firewall connection print count-only where \ src-address~"192.168.40." and dst-address~"192.168.10." # Πρέπει να είναι 0 αν υπάρχουν κανόνες firewall inter-VLAN. # Χωρίς κανόνες firewall, τα VLAN μπορούν να κάνουν route μεταξύ τους — δες την Οπτική του Defender.
Το να δημιουργήσεις VLAN δεν τα απομονώνει αυτόματα. Ο router έχει IP interfaces σε κάθε VLAN και θα κάνει ευχαρίστως route ανάμεσά τους εκτός αν η forward chain ρίχνει ρητά την inter-VLAN κίνηση. Ένας επισκέπτης στο VLAN 30 μπορεί να φτάσει το NAS σου στο VLAN 20 τη στιγμή που προσθέτεις IP interfaces — εκτός αν προσθέσεις κανόνες forward chain που το μπλοκάρουν. Δες τον οδηγό Firewall Filter Chains για το πλήρες σύνολο κανόνων firewall inter-VLAN. Τουλάχιστον, πρόσθεσε: chain=forward in-interface=vlan30 out-interface=!WAN action=drop για να απομονώσεις άμεσα τους επισκέπτες.
Τα VLAN είναι security boundary μόνο αν τα αντιμετωπίσεις ως τέτοιο. Το συχνό λάθος είναι να δημιουργείς VLAN για segmentation αλλά να αφήνεις την forward chain του firewall ορθάνοιχτη. Το VLAN tagging εγγυάται μόνο απομόνωση Layer 2 — το routing Layer 3 ανάμεσα σε VLAN είναι ακόμα πλήρως λειτουργικό μέχρι να το σταματήσει το firewall. Αφού χτίσεις VLAN, το επόμενο βήμα σου είναι οι κανόνες forward chain από τον οδηγό Firewall Filter Chains.
Η απομόνωση του Guest VLAN είναι ο πιο κρίσιμος κανόνας για φιλοξενία. Πρόσθεσε αυτό στην forward chain αμέσως μετά τη δημιουργία VLAN: chain=forward in-interface=vlan30 out-interface-list=!WAN action=drop comment="isolate guest VLAN". Αυτός ο ένας κανόνας αποτρέπει τους επισκέπτες από το να φτάσουν οποιοδήποτε εσωτερικό δίκτυο. Τέσταρέ το: συνδέσου στο SSID επισκεπτών και επιβεβαίωσε ότι δεν μπορείς να κάνεις ping στο 192.168.10.1.
Το IoT VLAN πρέπει επίσης να έχει πρόσβαση μόνο σε WAN. Οι κάμερες IP και οι έξυπνες συσκευές έχουν φτωχό ιστορικό ασφάλειας. Δώσ' τους πρόσβαση internet μόνο (ενημερώσεις firmware, cloud services) και μπλόκαρε κάθε πρόσβαση στα VLAN management και servers: chain=forward in-interface=vlan40 out-interface-list=!WAN action=drop.
Static DHCP leases για την υποδομή. Servers, συσκευές NAS, κάμερες, και access points πρέπει να έχουν static DHCP leases ώστε τα IP τους να μην αλλάζουν ποτέ. Αυτό κάνει τους κανόνες firewall, το monitoring, και το troubleshooting προβλέψιμα. Όρισέ τα μέσω /ip dhcp-server lease add mac-address=... address=... server=dhcp-vlan20.
Βάλε tag τα πάντα, μην εμπιστεύεσαι τίποτα. Οποιοδήποτε unmanaged switch συνδεδεμένο σε trunk port θα περάσει όλα τα tags VLAN σε ό,τι είναι συνδεδεμένο πάνω του. Ένα unmanaged switch πρέπει να συνδέεται μόνο σε access ports — ποτέ σε trunk ports — εκτός αν είναι ένα managed switch που ελέγχεις.
Βασικα Συμπερασματα
vlan-filtering=yes στο bridge πριν προσθέσεις ports. Το να το ενεργοποιήσεις σε ζωντανό bridge ρίχνει κάθε κίνηση που δεν ταιριάζει με τον (ακόμα άδειο) πίνακα VLAN. Η σωστή σειρά είναι: δημιούργησε bridge με filtering → χτίσε πίνακα VLAN → πρόσθεσε ports → πρόσθεσε IP interfaces.bridge1 πρέπει να είναι στη λίστα tagged κάθε VLAN που θέλεις να σερβίρει ο router. Χωρίς αυτό, το VLAN interface δεν έχει δρόμο να στείλει ή να δεχτεί frames. Αυτός είναι ο πιο συχνός λόγος που δεν δουλεύει το DHCP μετά το config VLAN.pvid= και frame-types=admit-only-untagged. Τα trunk ports παίρνουν frame-types=admit-only-vlan-tagged. Αυτές οι δύο ρυθμίσεις μαζί επιβάλλουν το σύνορο ανάμεσα σε tagged και untagged domains. Το να κάνεις λάθος στο ένα από τα δύο προκαλεί σιωπηλή απώλεια κίνησης που μοιάζει με πρόβλημα routing.hw=yes στα bridge ports για line-rate VLAN switching. Χωρίς αυτό, όλο το switching περνά από το CPU — που είναι εντάξει για μικρά δίκτυα αλλά θα δημιουργήσει bottleneck σε ένα φορτωμένο ακίνητο με πολλούς clients.Σχεδιάζω και αναπτύσσω segmented δίκτυα για ακίνητα φιλοξενίας με πραγματική αρχιτεκτονική VLAN — απομόνωση επισκεπτών, περιορισμό IoT, και θωρακισμένο management plane. Τα περισσότερα ακίνητα που επισκέπτομαι ακόμα τρέχουν τα πάντα flat.
Κλεισε μια Discovery Call →