MikroTik Scripts, masowa zmiana ustawień z terminala – przykłady

Każdy administrator większej sieci dojdzie kiedyś do wniosku, że bez sensu jest klikanie jakiejś powtarzalnej czynności ręcznie, a lenistwo jest matką wynalazków. Szczególnie jeżeli daną czynność mamy wykonać kilkadziesiąt czy kilkaset razy. Tu z pomocą przychodzą przydatne polecenia wykonywane z terminala.

Często zdarza się, że musimy dodać porty w 48-portowym switchu do jednego bridge. Jest ich 48 i klikanie wszystkich po kolei jest dosyć czasochłonne. Z pomocą przychodzi poniższe polecenie. Należy w nim zmienić nazwę bridge= oraz ilość portów, które chcemy dodać from=1 to=48. Po wykonaniu zmian wklejamy ją w okno terminala.

:for i from=1 to=48 step=1 do={ /interface bridge port add bridge=bridge1  interface="ether$i" }

Co, jeżeli chcemy zmienić automatycznie konfigurację wielu access point zarządzanych przez CAPsMAN? Nic prostszego – w poniżej komendzie zmieniamy nazwę konfiguracji zamiast nowa_cfg oraz wpisujemy początek nazwy access point zamiast nazwa.

caps-man interface set configuration=nowa_cfg [find where name~"nazwa*"]

Kolejny przykład, to dodanie wielu interfejsów np. pppoe-clinent. Polecenie działa w pętli from…to. Zmieniając wartość tych parametrów można decydować, jaka ilość interfejsów zostanie dodana. W przypadku pppoe-client ważne jest także, na jakim interfejsie fizycznym jest on uruchomiony. W tym przypadku jest to interface=ether1, do zmiany wg własnych potrzeb.

:for i from=1 to=5 step=1 do={ /interface pppoe-client add name="pppoe-client$i" interface=ether1 disabled=no }

Analogiczna sytuacja z dodaniem wielu interfejsów vlan:

:for i from=1 to=10 step=1 do={ /interface vlan add name="vlan$i" interface=ether1 vlan-id=$i }

Powyższe polecenie doda nam 10 interfejsów vlan. Jeżeli się pomyliliśmy i nie chcemy ich aż tyle, można automatycznie usunąć interfejsy np. od 6 do 10. W tym celu wykonujemy polecenie:

Uwaga. Polecenia usuwające interfejsy należy wykonywać świadomie.

:for i from=6 to=10 step=1 do={ /interface vlan remove [find where name~"vlan$i"] }

Lub usuwamy wszystkie interfejsy vlan:

/interface vlan remove [find]

Koniec 🙂

Jeżeli pomogłem to Postaw mi kawę na buycoffee.to ,a będę miał więcej energii na pisanie kolejnych ciekawych wpisów.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *