Command Line Interface w ROS

Wiersz poleceń to jedna z metod dostępu do urządzeń różnego typu, a może lepiej powiedzieć metoda komunikacji. Dzisiaj, w większości przypadków raczej poruszamy się po graficznych interfejsach, ponieważ obrazy łatwiej zapamiętać niżeli komendy składające się z kilku lub kilkunastu fraz następujących po sobie. Niemniej co zrobić w przypadku gdy nie możemy się dostać po GUI, wycięliśmy sobie dostęp lub musimy je przywrócić do ustawień fabrycznych lub co gorsza urządzenie nie jest w stanie uruchomić się poprawnie? Tutaj z pomocą przychodzi nam właśnie linia wiersza poleceń. Każdy producent sprzętu sieciowego w prawie każdym urządzeniu zapewnia możliwość operowania poprzez CLI. Niestety każdy z nich korzysta z własnego przepisu na komunikowanie się z własnym sprzętem więc rozpoznanie komend i składni jest specyficzne dla każdej marki. Jednak w większości przypadków logika komunikacji pozostaje na podobnym poziomie a zmienia się jedynie sposób wywołania. Czy Mikrotik jakoś znacznie odbiega od tego kanonu? Zdania jak zwykle są podzielone bo jednak wyznacznikiem w wielu przypadkach będzie iOS. Jeżeli porównywać to do tego największego gracza to rzeczywiście może być to nowy świat, ale może właśnie będzie na tyle interesujące aby się z tym zmierzyć.

Komendy

Export

Komenda użyta bez parametrów wyświetla w terminalu aktualną konfigurację urządzenia. Komenda użyta z parametrem “file” umożliwia zapisanie konfiguracji (tekst jawny) w pliku o rozszerzeniu “.rsc”. Zapisując konfigurację do pliku możemy wykorzystać parametr umożliwiający wyczyszczenie danych sensytywnych.

Print

Komenda również umożliwia wyświetlenie aktualnej konfiguracji jednak jedynie w obszarze konkretnych sekcji drzewa ustawień. Potrafi ona wyświetlić nie tylko elementy konfiguracji ale także stan uwzględniający istnienie wpisów, które zostały przypisane dynamicznie z uwagi na poczynione ustawienia (np. trasy routingu, adres klienta dhcp, interfejsy połączeń)

Add

Komenda dodaje ustawienia do konfiguracji w przypadku gdy nie istnieją żadne wpisy. Używając tej komendy należy pamiętać, że może istnieć jeden lub więcej parametrów, które trzeba wprowadzić, aby zadziałała. Jeżeli pominie się niewymagane parametry, zostaną one dodane z wartościami domyślnymi. Każdy dodany wpis do konfiguracji dostaje swój unikalny identyfikator tzw. “number”. Znajomość tego parametru przydaje się podczas korzystania z poniżej wymienionych funkcji.

Remove

Komenda usuwa wpis z konfiguracji na podstawie identyfikatora.

Set

Komenda umożliwia zmianę wartości niektórych parametrów konkretnego wpisu na podstawie identyfikatora jeżeli wpis został już dodany do konfiguracji i istnieje w drzewku ustawień.

Reset / unset

Komenda umożliwia przywrócenie wpisu do ustawień domyślnych. W zależności, w którym miejscu na drzewie ustawień zostanie wywołana, przywróci ustawienia domyślne lub usunie wpis na podstawie identyfikatora. Jej warianty występują w zależności od wersji oprogramowania jak i sekcji w drzewie ustawień.

Comment

Komenda umożliwia dodanie komentarza do wpisu. W niektórych wypadkach działa jedynie w przypadku wpisów statycznych.

Edit

Komenda umożliwia edytowanie pola “nazwa” jeżeli w konkretnym wpisie występuje taka wartość. Może być używana również do edytowania wartości parametró, jeżeli wcześniej zastosowano polecenie “set”.

Find

Komenda umożliwia wyszukiwanie fraz przeszukując wpisy w konfiguracji.

Move

Komenda umożliwia przesuwanie wpisów na listach ustawień (np. lista interfejsów, lista polityk firewall, lista portów) na podstawie identyfikatora zarówno wpisu “co trzeba przestawić” i “w które miejsce należy przestawić”. Po wykonaniu komendy należy sprawdzić identyfikatory poszczególnych wpisów, ponieważ mogą one ulec zmianie.

Enable

Komenda umożliwia włączenie ustawienia w konfiguracji na podstawie identyfikatora. W niektórych przypadkach oprócz samej frazy “enable” trzeba wprowadzić wartość “enable=yes” aby ustawienie zostało włączone.

Disable

Komenda umożliwia wyłączenie ustawienia w konfiguracji na podstawie identyfikatora. Nie wymaga dodatkowych parametrów.

Skróty

Ctrl + C – przerywa działanie komendy

Ctrl + L – czyści terminal

Ctrl + D – wylogowuje z konsoli

Ctrl + X – włącza / wyłącza safe mode

Tab – pozwala przeglądać komendy przy pustej linii poleceń lub uzupełnia frazę w komendzie gdy wpiszemy jakiekolwiek znaki do polecenia

F1 / ? – włącza pomoc

Podsumowanie

Widać więc, że nie taki diabeł straszny jak go malują. Już operowanie na podstawowych komendach może nam bardzo ułatwić pracę. Jeżeli dodamy do tego dobrą znajomość drzewka ustawień, przedrzemy się przez wszystkie zakładki i karty w poszczególnych sekcjach i zaczniemy wykorzystywać skrypty do automatyzacji pracy będziemy niezniszczalni. Utworzyć 10 użytkowników? Ciach. Utworzyć 50 interfejsów? Pyk. Położyć tunel? Bach. A po pewnym czasie wejdzie w krew i nie będziecie chcieli operować na niczym innym ;).

Instrukcja wideo