English · Ελληνικά
Το λιγότερο εντυπωσιακό config στη συσκευή, και αυτό για το οποίο θα είσαι πιο ευγνώμων στις 3 το πρωί. Συγχρονισμένος χρόνος ώστε τα logs να ταιριάζουν, κεντρικό syslog ώστε τα στοιχεία να επιβιώνουν ένα reboot, SNMPv3 ώστε να παρακολουθείσαι, και NetFlow ώστε να απαντάς στο «τι έτρωγε όλη τη bandwidth;» — αφού έχει ήδη συμβεί.
Όταν κάτι σπάει σε ένα site πελάτη, η διαφορά ανάμεσα σε μια διάγνωση πέντε λεπτών και μια εικασία πέντε ωρών είναι αν το δίκτυο κατέγραφε. Τέσσερις υπηρεσίες κάνουν αυτή την καταγραφή, και είναι το πρώτο πράγμα που ρυθμίζουμε σε κάθε συσκευή που αναλαμβάνουμε — πριν τα VLAN, πριν τη δρομολόγηση. Το NTP δίνει σε κάθε συσκευή το ίδιο ρολόι, ώστε μια γραμμή log εδώ και μια γραμμή log εκεί να μπορούν να συσχετιστούν. Το Syslog στέλνει γεγονότα εκτός συσκευής σε έναν server που επιβιώνει το reboot της συσκευής (ή το σβήσιμό της). Το SNMP αφήνει ένα σύστημα monitoring να ρωτάει για υγεία και να λαμβάνει alerts. Το NetFlow καταγράφει ποιος μίλησε με ποιον, ώστε το «το internet ήταν αργό στις 2μμ» να γίνεται απαντήσιμη ερώτηση.
Τίποτα από αυτά δεν είναι δύσκολο, και όλα είναι αόρατα μέχρι τη μέρα που τα χρειαστείς — οπότε η απουσία τους είναι καταστροφική. Αυτό το post είναι η λίστα ελέγχου «κάνε τη συσκευή να σου λέει τι κάνει», και συνδυάζεται κατευθείαν με την πειθαρχία ανάκτησης από το post Backup & Restore: τα backups σε αφήνουν να ξαναχτίσεις, η τηλεμετρία σου λέει γιατί χρειάστηκε.
01
Κάθε timestamp log, κάθε έλεγχος πιστοποιητικού, κάθε συσχέτιση εξαρτάται από ακριβή χρόνο. Μια συσκευή με λάθος ρολόι παράγει logs που δεν εμπιστεύεσαι. Ρύθμισε το NTP πριν από οτιδήποτε άλλο καταγράφει.
# Όρισε τη ζώνη ώστε ο τοπικός χρόνος να διαβάζεται σωστά (Ελλάδα = EET, +2, DST +1) R1(config)# clock timezone EET 2 0 R1(config)# clock summer-time EEST recurring last Sun Mar 3:00 last Sun Oct 4:00 # Δείξε σε upstream NTP servers (pool servers, ή δικούς σου) R1(config)# ntp server 0.gr.pool.ntp.org R1(config)# ntp server 1.gr.pool.ntp.org # ΚΡΙΣΙΜΟ: βάλε στα logs και τα debugs την πραγματική ημερομηνία+ώρα, όχι το "uptime" R1(config)# service timestamps log datetime msec localtime show-timezone R1(config)# service timestamps debug datetime msec localtime show-timezone R1(config)# end # Επιβεβαίωσε ότι κλείδωσε (μπορεί να πάρει λίγα λεπτά να κάνει sync) R1# show ntp status Clock is synchronized, stratum 3, reference is 203.0.113.9
Από το κουτί, το IOS βάζει στα μηνύματα log χρόνο από την εκκίνηση και μια ψεύτικη ημερομηνία "March 1" (το epoch του), και το μπροστινό * σημαίνει ότι το ρολόι δεν έχει συγχρονιστεί. Το να συσχετίσεις αυτά ανάμεσα σε συσκευές είναι αδύνατο. Η εντολή service timestamps log datetime είναι η πιο πολύτιμη γραμμή σε όλο αυτό το post — χωρίς αυτήν, το NTP διορθώνει το ρολόι αλλά τα logs σου ακόμα δεν το δείχνουν. Βάλε timestamps και για log και για debug, και επιβεβαίωσε ότι το * εξαφανίζεται από το show logging μόλις κάνει sync το NTP.
02
Το τοπικό buffer log της συσκευής καθαρίζει στο reboot και κρατάει μόνο μερικές εκατοντάδες γραμμές. Στείλε τα πάντα σε κεντρικό syslog server ώστε τα γεγονότα να επιβιώνουν, να συγκεντρώνονται από πολλές συσκευές, και να γίνονται αναζητήσιμα και να ενεργοποιούν alerts.
# Κράτα κι ένα αξιοπρεπές τοπικό buffer (επιβιώνει μέχρι το reboot) R1(config)# logging buffered 64000 informational R1(config)# service sequence-numbers # αρίθμησε τις γραμμές ώστε τα κενά να φαίνονται # Στείλε στον κεντρικό συλλέκτη, σε severity "informational" (6) και πάνω R1(config)# logging host 192.168.1.50 R1(config)# logging trap informational R1(config)# logging source-interface Loopback0 # σταθερό source IP R1(config)# end # Επαλήθευσε ότι ο συλλέκτης λαμβάνει και δες το buffer R1# show logging Trap logging: level informational, 842 message lines logged Logging to 192.168.1.50 (udp port 514, audit disabled)
Τα severity του syslog πάνε από 0 (emergencies) ως 7 (debugging)· το logging trap informational (6) είναι το γλυκό σημείο — παίρνεις link flaps, αλλαγές config, και γεγονότα ασφάλειας χωρίς να πνίγεσαι σε θόρυβο debug. Δύο βελτιώσεις το κάνουν production-grade: κάνε log από ένα Loopback interface ώστε κάθε μήνυμα να κουβαλάει το ίδιο source IP ανεξάρτητα από ποιο φυσικό interface έφυγε (ο συλλέκτης σου ομαδοποιεί καθαρά ανά συσκευή), και θυμήσου ότι το logging trap debugging (7) μπορεί να πλημμυρίσει ένα αργό link — ανέβασέ το μόνο όσο κάνεις ενεργά troubleshooting. Ένα log αλλαγών config (archive / log config) συν το syslog σου δίνει audit trail του ποιος άλλαξε τι, πότε.
03
Το SNMP αφήνει την πλατφόρμα monitoring σου να ρωτάει μετρητές interface, CPU, και μνήμη, και να λαμβάνει traps. Χρησιμοποίησε v3 — με authentication και κρυπτογράφηση — ποτέ v1/v2c, του οποίου το "community string" είναι κωδικός σε καθαρό κείμενο πάνω στο καλώδιο.
# Ένα view που περιορίζει τι μπορεί να διαβαστεί, μια group που το χρησιμοποιεί, και ένας κρυπτογραφημένος χρήστης R1(config)# snmp-server view MON iso included R1(config)# snmp-server group MONITORING v3 priv read MON R1(config)# snmp-server user nms MONITORING v3 auth sha AuthPass123 priv aes 128 PrivPass123 # Στείλε traps στον host monitoring (link up/down, αλλαγές config, κλπ.) R1(config)# snmp-server enable traps R1(config)# snmp-server host 192.168.1.50 version 3 priv nms R1(config)# snmp-server location Heraklion-Rack-1 R1(config)# snmp-server contact noc@example.com R1(config)# end
snmp-server community public RO Ειναι Κλασικο σε Αναφορες Ευρηματων
Τα SNMPv1/v2c κάνουν authenticate με ένα "community string" σε καθαρό κείμενο που διασχίζει το δίκτυο ακάλυπτο — και οι default κοινότητες public/private είναι το πρώτο πράγμα που δοκιμάζει κάθε scanner (και κάθε pentester). Μια αναγνώσιμη κοινότητα v2c διαρρέει όλη την τοπολογία config σου· μια εγγράψιμη (private RW) μπορεί να επαναρυθμίσει τη συσκευή. Σε engagement αυτό είναι ρουτίνα finding. Χρησιμοποίησε v3 με priv (auth + κρυπτογράφηση), περιόρισε ποιοι hosts μπορούν να ρωτούν με ένα ACL (snmp-server community … `<acl>` αν είσαι πραγματικά κολλημένος στο v2c), και ποτέ μην αφήνεις μια default κοινότητα στη θέση της. Αυτό είναι το μισό SNMP της θωράκισης management-plane που θα ενοποιήσουμε αργότερα στη σειρά.
04
Οι μετρητές interface σου λένε ότι ένα link ήταν γεμάτο· το NetFlow σου λέει ποιες συνομιλίες το γέμισαν. Τρία αντικείμενα — ένα record (τι να συλλέξεις), ένας exporter (πού να το στείλεις), και ένας monitor (που τα δένει μαζί) — εφαρμοσμένα σε ένα interface.
# 1. RECORD — τα πεδία που ορίζουν μια ροή και τα στατιστικά που κρατάς R1(config)# flow record RECORD-1 R1(config-flow-record)# match ipv4 source address R1(config-flow-record)# match ipv4 destination address R1(config-flow-record)# match transport source-port R1(config-flow-record)# match transport destination-port R1(config-flow-record)# match ipv4 protocol R1(config-flow-record)# collect counter bytes R1(config-flow-record)# collect counter packets R1(config-flow-record)# exit # 2. EXPORTER — πού να στείλεις τα δεδομένα ροής R1(config)# flow exporter EXPORT-1 R1(config-flow-exporter)# destination 192.168.1.50 R1(config-flow-exporter)# transport udp 2055 R1(config-flow-exporter)# exit # 3. MONITOR — δέσε record + exporter, μετά εφάρμοσε στο interface R1(config)# flow monitor MONITOR-1 R1(config-flow-monitor)# record RECORD-1 R1(config-flow-monitor)# exporter EXPORT-1 R1(config-flow-monitor)# exit R1(config)# interface GigabitEthernet0/0 R1(config-if)# ip flow monitor MONITOR-1 input R1(config-if)# ip flow monitor MONITOR-1 output R1(config-if)# end
R1# show flow monitor MONITOR-1 cache sort highest counter bytes top 5 SRC ADDR DST ADDR PROT SRC DST BYTES 192.168.1.30 93.184.216.34 6 5512 443 248 M ← ο φαγάς της bandwidth 192.168.1.44 140.82.121.4 6 6001 443 31 M ... # «Τι έφαγε το internet στις 2μμ» — απαντήθηκε από την ίδια τη συσκευή.
05
Επιβεβαίωσε ότι το καθένα από τα τέσσερα δουλεύει πραγματικά — μια σιωπηλά σπασμένη γραμμή τηλεμετρίας είναι χειρότερη από καμία, γιατί θα εμπιστευτείς δεδομένα που δεν φτάνουν.
| Εντολη | Επιβεβαιωνει |
|---|---|
| show ntp status / associations | Ρολόι συγχρονισμένο, ποιος server, stratum. |
| show logging | Host syslog, επίπεδο trap, και το τοπικό buffer. |
| show snmp / show snmp user | Μηχανή SNMP up, χρήστες v3 και το auth/priv τους. |
| show flow monitor MONITOR-1 cache | Οι ροές καταγράφονται. |
| show flow exporter statistics | Πακέτα ροής πραγματικά στέλνονται στον συλλέκτη. |
| show clock detail | Πηγή χρόνου — "NTP" (καλό) vs "user configuration" (παρασύρεται). |
06
Το RouterOS προσφέρει το καθένα από αυτά· η αντιστοίχιση είναι απευθείας.
| MikroTik / RouterOS | Cisco IOS |
|---|---|
| /system ntp client | ntp server |
| /system logging action remote + rule | logging host + logging trap |
| /snmp community (v3 user) | snmp-server user … v3 auth … priv … |
| /ip traffic-flow (+ target) | Flexible NetFlow record/exporter/monitor |
| /tool sniffer, /tool torch | show flow monitor cache |
Βασικα Συμπερασματα
service timestamps log datetime είναι η γραμμή που πραγματικά βάζει πραγματικό χρόνο στα logs σου — χωρίς αυτήν, το NTP μόνο του δεν βοηθάει.logging trap informational είναι το γλυκό σημείο θορύβου/σήματος.Όταν κάτι σπάει στις 2π.μ., θέλω logs και δεδομένα ροής να με περιμένουν, όχι ένα κενό βλέμμα και ένα reboot. Οργανώνω κάθε δίκτυο που διαχειρίζομαι με συγχρονισμένο χρόνο, κεντρικό logging, SNMP, και NetFlow, ώστε μια διακοπή να έρχεται με στοιχεία επισυναπτόμενα.
Κλεισε μια Discovery Call →