English · Ελληνικά
Τα upgrades κλείνουν ακριβώς τις τρύπες που εκμεταλλεύονται τα επιθετικά posts — αλλά ένα σκατωμένο upgrade σε έναν router 40km μακριά, πάνω σε βουνό, πίσω από μια κλειδωμένη ταβέρνα, είναι δική του καταστροφή. Αυτή είναι η ασφαλής διαδικασία: διάλεξε το σωστό channel, κάνε πρώτα backup, κάνε το upgrade δύο μερών που όλοι ξεχνάνε, και κράτα ένα μονοπάτι rollback. Το post "Upgrading Safely" της Cisco, σε RouterOS.
Το να μένεις ενημερωμένος είναι ένα security control — τα bugs Winbox και SMB που έχτισαν botnets είχαν όλα γίνει patch πριν εκμεταλλευτούν μαζικά· τα θύματα απλά δεν είχαν κάνει upgrade. Αλλά τα upgrades του RouterOS έχουν μια παγίδα που πιάνει σχεδόν τον καθένα: υπάρχουν δύο πράγματα να κάνεις update, όχι ένα. Τα πακέτα RouterOS (το OS) και το firmware RouterBOARD (το layer bootloader/hardware) είναι ξεχωριστά, και το check-for-updates χειρίζεται μόνο το πρώτο. Παράλειψε το δεύτερο και αφήνεις διορθώσεις σε επίπεδο firmware στο τραπέζι για χρόνια.
Αυτό το post είναι η πειθαρχία που εμποδίζει ένα απομακρυσμένο upgrade να γίνει επίσκεψη site: το σωστό release channel για τον ρόλο του box, ένα backup που μπορεί πραγματικά να το επαναφέρει, το upgrade δύο μερών με τη σωστή σειρά, και ένα γνωστό rollback. Καθρεφτίζει το Cisco IOS: Upgrading Safely και στηρίζεται στο Backup and Recovery.
01
Το RouterOS έχει release channels φθίνοντος συντηρητισμού. Οι production edge routers ανήκουν στο stable· μόνο lab gear θα έπρεπε ποτέ να βλέπει testing. Τα μακροπρόθεσμα deployments μπορούν να κλειδωθούν στο long-term μόνο για διορθώσεις.
> /system package update set channel=stable > /system package update check-for-updates installed-version: 7.15.2 latest-version: 7.15.3 status: New version is available # Διάβασε το changelog πριν από κάθε upgrade. 'stable' για production· # 'long-term' αν θες μόνο backported διορθώσεις, χωρίς νέα features.
02
Πάρε και ένα binary backup (επαναφέρει το ακριβές box, ίδιο μοντέλο) και ένα text export (φορητό, diff-able, επιβιώνει σε αλλαγή μοντέλου). Τράβηξέ τα από τον router πριν αγγίξεις οτιδήποτε.
> /system backup save name=pre-7.15.3 # binary, πληρες state > /export file=pre-7.15.3 # text, φορητο # Αντέγραψε ΚΑΙ ΤΑ ΔΥΟ από το box (drag-out στα WinBox Files, ή scp) — ένα backup # που υπάρχει μόνο στον router που πρόκειται να κάνεις reboot δεν είναι backup.
03
Πρώτα τα πακέτα OS, reboot. Μετά — το ξεχασμένο βήμα — το firmware RouterBOARD, ξανά reboot. Κάν' τα με αυτή τη σειρά· το νέο firmware συχνά εξαρτάται από το νέο OS.
# ΜΕΡΟΣ 1: Πακέτα RouterOS. Αυτό κατεβάζει και κάνει reboot στο νέο OS. > /system package update download > /system reboot # ...το box επιστρέφει στο 7.15.3. Τώρα ΜΕΡΟΣ 2, το βήμα που χάνει ο κόσμος: > /system routerboard print current-firmware: 7.15.2 upgrade-firmware: 7.15.3 # mismatch = firmware δεν έχει εφαρμοστεί ακόμα > /system routerboard upgrade > /system reboot # το firmware ισχύει μόνο μετά από αυτό το reboot
current-firmware ≠ upgrade-firmware Σημαινει Δεν Τελειωσες
Μετά το upgrade του OS, το /system routerboard print δείχνει ότι τα δύο πεδία firmware διαφωνούν — αυτό είναι το RouterOS που σου λέει ότι νεότερο firmware είναι staged αλλά όχι εφαρμοσμένο. Ισχύει μόνο μετά το routerboard upgrade και ένα reboot. Fleets που κάνουν upgrade μόνο το OS για χρόνια κουβαλούν firmware από όταν ξεπακετάρτηκαν, χάνοντας διορθώσεις χαμηλού επιπέδου. Κάν' το το δεύτερο μισό του checklist σου, κάθε φορά.
04
Αν η νέα έκδοση φέρεται κακώς, το RouterOS κρατά τα προηγούμενα πακέτα ώστε ένα downgrade να είναι μία εντολή. Και όσο είσαι εδώ, αφαίρεσε πακέτα που δεν τρέχεις — λιγότερος κώδικας, λιγότερα να κάνεις patch.
# Κάνε rollback στην προηγούμενα-εγκατεστημένη έκδοση (κρατημένη στο box): > /system package downgrade # επιβεβαιώνει, μετά κάνει reboot στην παλιά έκδοση # Απενεργοποίησε πακέτα που αυτό το box δεν χρησιμοποιεί — π.χ. χωρίς wireless σε έναν router: > /system package disable hotspot,ppp > /system reboot # Αν ένα upgrade αφήσει ποτέ ένα box απρόσιτο, το Netinstall το ξανακάνει flash # από ένα PC — το απόλυτο rollback. Κράτα πρόχειρο το .npk για το μοντέλο σου.
Βασικα Συμπερασματα
stable (ή long-term), ποτέ testing. Διάβασε το changelog πριν από κάθε upgrade.current-firmware ≠ upgrade-firmware σημαίνει ότι δεν τελείωσες — εφάρμοσε και κάνε reboot.package downgrade για software, Netinstall για brick — και κλάδεψε πακέτα που δεν τρέχεις.Τρέχω σταδιακά, backed-up, ready-for-rollback προγράμματα upgrade για estates MikroTik και Cisco — συμπεριλαμβανομένου του βήματος firmware που όποιος το έστησε την τελευταία φορά συνήθως παρέλειψε.
Κλεισε μια Discovery Call →