English · Ελληνικά
Το να κάνεις config είναι εύκολο· το να διορθώνεις το χάλι κάποιου άλλου στις 2 το πρωί είναι η πραγματική δουλειά. Αυτό το lab φυτεύει επτά ρεαλιστικά σφάλματα σε ένα δίκτυο RouterOS και σου τα δίνει σαν support tickets — τα ακριβή bugs που επαναλαμβάνονται σε πραγματικά sites MikroTik, και την εντολή διάγνωσης που βρίσκει το καθένα. Το δίδυμο του lab σπασμένου campus της Cisco.
Κάθε σφάλμα παρακάτω είναι ένα που πραγματικά έχω διορθώσει σε ζωντανό box RouterOS, ντυμένο σαν ticket. Η αξία δεν είναι η απάντηση — είναι η μέθοδος: ένα σύμπτωμα δείχνει ένα layer, και μία στοχευμένη εντολή το επιβεβαιώνει ή το ξεκαθαρίζει. Δούλεψε bottom-up (link → L2 → L3 → NAT/firewall → routing) και συγκλίνεις γρήγορα· μάντεψε τυχαία και θα είσαι εκεί όλη νύχτα. Χτίσε το δίκτυο από τα προηγούμενα labs, βάλε έναν συνάδελφο να το σπάσει, μετά δούλεψε αυτά.
Το επαναλαμβανόμενο θέμα ειδικά στο MikroTik: το bridge κάνει τα περισσότερα L2 δουλειά και έχει μη προφανείς κανόνες (VLAN filtering, PVID, hardware offload), και το μοντέλο connection-tracking / routing-mark πίσω από το NAT και το policy routing κρύβει state που πρέπει να σκεφτείς. Αυτές είναι οι ίδιες κατηγορίες που φυτεύει το lab σπασμένου campus της Cisco, εκφρασμένες στα ιδιώματα του RouterOS.
01
Οι επισκέπτες δεν παίρνουν DHCP και δεν μπορούν να κάνουν ping το gateway· τα άλλα VLANs είναι εντάξει. Μυρίζει Layer 2 σε αυτό το ένα VLAN.
> /interface bridge vlan print vlan-ids=20 bridge=bridge tagged=ether1 untagged= # η θύρα access επισκεπτών ΛΕΙΠΕΙ # Ρίζα του προβλήματος: η θύρα access επισκεπτών δεν προστέθηκε ποτέ στη λίστα untagged # του VLAN 20 (και/ή το PVID της δεν είναι 20). Με vlan-filtering=yes το bridge κάνει drop # frames σε θύρα που δεν είναι στη λίστα μελών του VLAN. > /interface bridge vlan set [find vlan-ids=20] untagged=ether5 > /interface bridge port set [find interface=ether5] pvid=20
02
Το προσωπικό κάνει browse κανονικά· το νέο VLAN πωλήσεων παίρνει lease DHCP και μπορεί να κάνει ping τον router αλλά όχι το internet. Κλασικό scope NAT.
> /ip firewall nat print chain=srcnat action=masquerade src-address=10.10.0.0/24 out-interface-list=WAN # Ρίζα του προβλήματος: το masquerade έχει scope σε ΕΝΑ subnet (10.10.0.0/24), όχι το # subnet πωλήσεων (10.10.30.0/24). Παλιός κανόνας copy-paste που δεν γενικεύτηκε ποτέ. > /ip firewall nat set [find action=masquerade] src-address="" # Καλύτερα: κάνε masquerade με out-interface-list=WAN για κάθε εσωτερική πηγή.
03
Δύο routers, καλωδιωμένοι και με ping ανάμεσά τους, αλλά ο γείτονας OSPF δεν φτάνει ποτέ σε Full — κάθεται σε Exchange/Loading. Η υπογραφή ενός συγκεκριμένου σφάλματος.
> /routing ospf neighbor print state=Exchange ... # κολλημένο εδώ = σχεδόν πάντα MTU > /interface ethernet print where name=ether2 # mtu=1480 στη μία πλευρά, 1500 στην άλλη # Ρίζα του προβλήματος: MTU mismatch. Το OSPF ανταλλάσσει πακέτα DBD που περιλαμβάνουν το # MTU· ένα mismatch παγώνει το adjacency σε Exchange. Ταίριαξε και τα δύο άκρα. > /interface ethernet set ether2 mtu=1500
04
Κανένας client δεν παίρνει διεύθυνση. Κάποιος "τακτοποίησε" το bridge χθες. Ο server υπάρχει και είναι ενεργοποιημένος — άρα είναι δεμένος λάθος.
> /ip dhcp-server print name=LAN-DHCP interface=ether2 ... # δεμένος σε ΦΥΣΙΚΗ θύρα, όχι το bridge # Ρίζα του προβλήματος: το LAN μετακινήθηκε μέσα σε ένα bridge, αλλά ο server DHCP παραμένει # δεμένος στο ether2. Οι clients ζουν στο broadcast domain του bridge· ο server # σε μία μόνο θύρα δεν ακούει πια τα DISCOVER τους. > /ip dhcp-server set LAN-DHCP interface=bridge
05
Ένας νέος κανόνας για να μπλοκάρει το internet ενός host είναι στη θέση του αλλά ο host συνεχίζει να κάνει browse. Ο κανόνας φαίνεται σωστός μεμονωμένα — άρα είναι θέμα σειράς ή fast-path.
> /ip firewall filter print stats 0 chain=forward action=fasttrack-connection connection-state=established,related ... 8 chain=forward action=drop src-address=10.10.0.66 bytes=0 # ποτέ δεν χτυπήθηκε # Ρίζα του προβλήματος: ένας κανόνας fasttrack παραπάνω στέλνει established/related flows κάτω στο # fast path, παρακάμπτοντας μεταγενέστερους κανόνες. Οι υπάρχουσες συνδέσεις του host παρακάμπτουν το # drop. Βάλε το drop ΠΑΝΩ από το fasttrack, και κάνε flush τις συνδέσεις του host. > /ip firewall connection remove [find src-address~"10.10.0.66"]
06
Policy-routed dual-WAN, αλλά κάποια sessions αποτυγχάνουν περιοδικά — logins αναπηδούν, downloads κάνουν reset. Η υπογραφή ενός flow που φεύγει από δύο paths.
> /ip firewall mangle print chain=prerouting action=mark-routing new-routing-mark=via-B protocol=tcp dst-port=443 # Ρίζα του προβλήματος: το routing-mark εφαρμόζεται ΑΝΑ ΠΑΚΕΤΟ σε ένα match, χωρίς # connection-mark. Πακέτα return/άλλα της ίδιας ροής χάνουν το match και # παίρνουν το άλλο WAN -> ασύμμετρο, το stateful NAT σπάει. Κάνε mark τη ΣΥΝΔΕΣΗ # πρώτα, μετά προέκυψε το routing-mark από αυτήν (δες το post policy-routing).
07
Το throughput κατέρρευσε και το CPU είναι στο μέγιστο σε ένα box που έκανε switch σε line rate. Κάτι απενεργοποίησε το hardware offload.
> /interface bridge port print # INTERFACE BRIDGE HW ... 0 ether2 bridge no # H(ardware) offload OFF — η κίνηση χτυπά το CPU > /interface bridge print dhcp-snooping=yes ... # ρίζα του προβλήματος: η ενεργοποίηση snooping έριξε το offload σε αυτό το chip # Διόρθωση: απόφασε ανά box — κράτα το snooping και δέξου CPU switching σε έναν μικρό # router, ή απενεργοποίησε το feature που κοστίζει offload σε ένα core υψηλού throughput.
Βασικα Συμπερασματα
/interface bridge vlan print.Όταν ένα δίκτυο κουτσαίνει εδώ και μήνες και κανείς δεν ξέρει ακριβώς γιατί, το ξεμπερδεύω μεθοδικά — εύρεση σφαλμάτων, documentation, και διορθώσεις στοχευμένες στην πραγματική αιτία, όχι στο σύμπτωμα που είναι πιο εύκολο να δεις.
Κλεισε μια Discovery Call →