Handleiding

Safe mode

Het verschil tussen een vergissing en een rit naar de locatie.

De gevaarlijke wijzigingen op een router zijn die je maakt via de verbinding die je aan het wijzigen bent. Je zet een poort in een VLAN, je zet VLAN-filtering aan, je hernoemt een interface, en het antwoord komt niet meer terug. Met het apparaat is niets mis. Jij staat alleen niet meer aan de andere kant.

Safe mode is het antwoord van RouterOS daarop. Zolang het aanstaat wordt alles wat je wijzigt bijgehouden. Eindigt je sessie op de verkeerde manier, dan draait de router alles terug naar de toestand van het moment waarop je safe mode aanzette. Het kost twee toetsaanslagen en het heeft meer avonden gered dan welke andere functie in RouterOS ook.

Aanzetten

In de terminal, via SSH of in het terminalvenster van WinBox, druk je op Ctrl+X. RouterOS antwoordt met [Safe Mode taken] en je prompt verandert: er staat nu <SAFE>. In WinBox en WebFig zit linksboven een knop Safe Mode, die precies hetzelfde doet en ingedrukt blijft staan zolang het aanstaat.

Vanaf dat moment zijn er drie manieren om eruit te komen, en het verschil telt:

  • Nog een keer Ctrl+X, of nog een keer de knop: je houdt je wijzigingen en verlaat safe mode. Dit doe je als je hebt gecontroleerd dat je het apparaat nog kunt bereiken.
  • Ctrl+D: alles wat je sinds het aanzetten hebt gewijzigd wordt direct teruggedraaid.
  • De sessie sterft, omdat je jezelf buitensluit of de kabel eruit valt: dezelfde terugdraaiing gebeurt vanzelf zodra de verbinding verloopt. Dat duurt een paar minuten, dus ga in die tijd niet aan het apparaat zitten trekken.

Zolang safe mode aanstaat zie je met /system history print precies wat er klaarstaat om teruggedraaid te worden. Die regels hebben een vlag voor zwevende undo. Het is een prettige manier om te controleren of wat je denkt gewijzigd te hebben ook is wat je werkelijk wijzigde.

Waar het je niet tegen beschermt

Safe mode is een behulpzame collega, geen vangnet onder alles. Wat je moet weten:

  • Alles waar een herstart voor nodig is valt erbuiten. De configuratie resetten, een backup terugzetten, pakketten installeren: die gaan hun eigen gang, en safe mode wordt niet geraadpleegd.
  • Er zit een grens van ongeveer honderd bijgehouden handelingen op. Ga je eroverheen, dan haalt RouterOS je zonder ophef uit safe mode, en wordt er achteraf niets teruggedraaid. Dit is degene die toeslaat bij het plakken van een lange configuratie. Werk in kleine stappen.
  • Netjes uitloggen is niet hetzelfde als wegvallen. Typ je /quit, dan blijven je wijzigingen staan.
  • Het is één sessie tegelijk. Neemt iemand anders safe mode over, dan krijgt die de keuze om jouw wijzigingen terug te draaien, te behouden, of alles te laten. En wijzigingen uit andere sessies worden ook bijgehouden zolang safe mode actief is, dus twee mensen die tegelijk werken kunnen elkaar verrassen.
  • Het weet niet wat je bedoelde. Een wijziging die jouw sessie in leven laat maar het internet voor de rest van het pand sloopt, is wat safe mode betreft geslaagd.
  • Het overleeft geen stroomuitval op de manier die je zou hopen: een apparaat dat herstart komt op met wat er in de configuratie stond, en de lijst met terug te draaien handelingen is weg.

Safe mode beschermt je sessie. Het beschermt het apparaat niet tegen een wijziging die je bewust bevestigt. Zorg dat je een weg naar binnen hebt die niet afhangt van een kloppende configuratie: een offbridge-poort, een tweede kabel, of gewoon fysiek erbij kunnen.

Hetzelfde idee voor een script dat je plakt

Een gegenereerde configuratie is een lange rij wijzigingen in één keer, en dat is precies het geval waarin die grens van honderd handelingen in de weg zit. Leun daar dus niet alleen op safe mode. Wat wel werkt:

  1. Plak op een apparaat op fabrieksinstellingen, via een poort die het script met rust laat. Daar zijn onze scripts voor geschreven, en het haalt het meeste risico weg. Zie Het script gebruiken.
  2. Exporteer eerst. Draait er al iets op het apparaat, maak dan /export file=voor en haal dat bestand op voordat je iets aanraakt. Zie Backup en export.
  3. Houd het rollback-script bij de hand. Naast elke configuratie die wij genereren staat een script dat precies weghaalt wat het eerste toevoegde, in omgekeerde volgorde.
  4. Plak in stukken op een draaiend apparaat. Safe mode aan, één onderdeel plakken, controleren, safe mode uit, en weer aan voor het volgende onderdeel. Langzamer, en veel moeilijker om op stranden uit te komen.
  5. Controleer voordat je safe mode verlaat. Open een tweede sessie vanaf een andere machine en log in. Lukt dat, dan mag de wijziging blijven. Pas dan druk je op Ctrl+X.

Voor wijzigingen die je echt niet vertrouwt is er nog een truc: maak eerst een backup en plan een taak die hem over vijf minuten terugzet, en haal die taak weg zodra je zeker weet dat het goed is. Het is grof, het herstart het apparaat, en het werkt als niets anders meer werkt.

Terugdraaien zonder safe mode

Elke handeling, uit de terminal en uit WinBox, komt in /system history terecht. De commando's /undo en /redo, en de knoppen Undo en Redo in WinBox, lopen door die lijst terug. Prettig direct na een typefout. Het vervangt safe mode niet, want je moet nog wel verbonden zijn om het te kunnen gebruiken.

Verder lezen: Het script gebruiken, Backup en export, Als er iets misgaat.

Meteen proberen? Open de configurator