Autor: sutrus

Datum: 20 bře 2022 13:40
Kategorie: Začínáme

Zobrazení: 201
Komentáře: 0

Konzole

Popis:

Odkaz na článek (bb-code [URL]): Kopírovat

[url=https://spssoftware.cz/knowledgebase/article?k=75]Konzole[/url]

Přímý odkaz: Kopírovat

https://spssoftware.cz/knowledgebase/article?k=75

Přehled
Konzole slouží k přístupu k funkcím konfigurace a správy směrovače MikroTik pomocí textových terminálů, a to buď vzdáleně pomocí sériového portu, telnetu, SSH nebo konzolové obrazovky v rámci Winboxu, nebo přímo pomocí monitoru a klávesnice. Konzola slouží také k psaní skriptů. Tato příručka popisuje obecné zásady ovládání konzoly. Některé pokročilé konzolové příkazy a způsob psaní skriptů naleznete v Příručce pro skriptování.

Hierarchie
Konzola umožňuje konfigurovat nastavení směrovače pomocí textových příkazů. Protože je k dispozici velké množství příkazů, jsou rozděleny do skupin uspořádaných do hierarchických úrovní nabídek. Název úrovně nabídky odráží konfigurační informace přístupné v příslušné sekci, např. /ip hotspot.

Příklad
Můžete například zadat příkaz /ip route print:

Kód: Vybrat vše

[admin@MikroTik] > ip route print
Flags: X - disabled, A - active, D - dynamic,
C - connect, S - static, r - rip, b - bgp, o - ospf, m - mme,
B - blackhole, U - unreachable, P - prohibit
 # DST-ADDRESS PREF-SRC G GATEWAY DIS INTE...
0 A S 0.0.0.0/0 r 10.0.3.1 1 bridge1
1 ADC 1.0.1.0/24 1.0.1.1 0 bridge1
2 ADC 1.0.2.0/24 1.0.2.1 0 ether3
3 ADC 10.0.3.0/24 10.0.3.144 0 bridge1
4 ADC 10.10.10.0/24 10.10.10.1 0 wlan1
[admin@MikroTik] >
Namísto zadávání /ip route path před každým příkazem lze cestu zadat pouze jednou a přejít tak do dané větve hierarchie nabídek. Výše uvedený příklad by tedy mohl být proveden také takto:

Kód: Vybrat vše

[admin@MikroTik] > ip route
[admin@MikroTik] ip route> print
Flags: X - disabled, A - active, D - dynamic,
C - connect, S - static, r - rip, b - bgp, o - ospf, m - mme,
 B - blackhole, U - unreachable, P - prohibit #
DST-ADDRESS PREF-SRC G GATEWAY DIS INTE...
0 A S 0.0.0.0/0 r 10.0.3.1 1 bridge1
1 ADC 1.0.1.0/24 1.0.1.1 0 bridge1
2 ADC 1.0.2.0/24 1.0.2.1 0 ether3
3 ADC 10.0.3.0/24 10.0.3.144 0 bridge1
4 ADC 10.10.10.0/24 10.10.10.1 0 wlan1
[admin@MikroTik] ip route>
Všimněte si, že se výzva mění podle toho, kde se v hierarchii nabídek právě nacházíte. Chcete-li se znovu přesunout na nejvyšší úroveň, zadejte " / ".

Kód: Vybrat vše

[admin@MikroTik] > ip route
[admin@MikroTik] ip route> /
[admin@MikroTik] >
Chcete-li se přesunout o úroveň výš, zadejte příkaz " .. ".

Kód: Vybrat vše

[admin@MikroTik] ip route> ..
[admin@MikroTik] ip>
Pomocí tlačítek / a .. můžete také spouštět příkazy z jiných úrovní nabídky, aniž byste měnili aktuální úroveň:

Kód: Vybrat vše

[admin@MikroTik] ip route> /ping 10.0.0.1
10.0.0.1 ping timeout
2 packets transmitted, 0 packets received, 100% packet loss
[admin@MikroTik] ip firewall nat> .. service-port print
Flags: X - disabled, I - invalid
# NAME PORTS
0 ftp 21
1 tftp 69
2 irc 6667
3 h323
4 sip
5 pptp
[admin@MikroTik] ip firewall nat>

Názvy a čísla položek
Mnoho úrovní příkazů pracuje s poli položek: rozhraní, trasy, uživatelé atd. Taková pole se zobrazují v podobně vypadajících seznamech. Všechny položky v seznamu mají číslo položky, za kterým následují příznaky a hodnoty parametrů.

Chcete-li změnit vlastnosti položky, musíte použít příkaz set a zadat jméno nebo číslo položky.


Názvy položek
Některé seznamy mají položky s konkrétními názvy. Příkladem jsou úrovně rozhraní nebo uživatelské úrovně. Tam můžete použít názvy položek místo čísel položek.

Před přístupem k položkám podle jejich názvů, které na rozdíl od čísel nejsou interně přiřazeny konzolí, ale jsou vlastnostmi položek, nemusíte používat příkaz pro tisk. Samy od sebe by se tedy neměnily. Jsou však možné nejrůznější nepřehledné situace, kdy několik uživatelů současně mění konfiguraci směrovače. Obecně jsou názvy položek "stabilnější" než čísla a také informativnější, proto byste jim při psaní konzolových skriptů měli dávat přednost před čísly.

Čísla položek
Čísla položek jsou přidělována příkazem tisku(print) a nejsou konstantní - je možné, že dva po sobě jdoucí příkazy tisku budou řadit položky odlišně. Výsledky posledních tiskových příkazů jsou však zapamatovány, a proto lze jednou přiřazená čísla položek použít i po operacích přidání, odebrání a přesunu (od verze 3 operace přesunu nepřečísluje položky). Čísla položek se přiřazují pro každou relaci, zůstanou stejná, dokud neukončíte konzolu nebo dokud nebude proveden další tiskový příkaz. Čísla se také přidělují pro každý seznam položek zvlášť, takže tisk ip adresy nezmění číslování seznamu rozhraní.

Od verze 3 je možné používat čísla položek bez spuštění příkazu pro tisk. Čísla budou přiřazena stejně, jako kdyby byl proveden příkaz pro tisk.
Jako cíle některých příkazů lze zadat více položek. Téměř všude, kde lze zapsat číslo položky, lze zapsat i seznam čísel.

Kód: Vybrat vše

[admin@MikroTik] > interface print
Flags: X - disabled, D - dynamic, R - running
# NAME TYPE MTU
0 R ether1 ether 1500
1 R ether2 ether 1500
2 R ether3 ether 1500
3 R ether4 ether 1500
[admin@MikroTik] > interface set 0,1,2 mtu=1460
[admin@MikroTik] > interface print
 Flags: X - disabled, D - dynamic, R - running
# NAME TYPE MTU
0 R ether1 ether 1460
1 R ether2 ether 1460
2 R ether3 ether 1460
3 R ether4 ether 1500
[admin@MikroTik] >
 ! Varování:
Varování: Nepoužívejte čísla položek ve skriptech, není to spolehlivý způsob, jak upravovat položky v plánovači. skripty apod. Místo toho použijte příkaz find. Více informací najdete zde, podívejte se také na příklady skriptů.

Rychlé psaní
V konzoli jsou dvě funkce, které pomáhají zadávat příkazy mnohem rychleji a snadněji - klávesa [Tab] pro doplňování a zkratky názvů příkazů. Doplňování funguje podobně jako v prostředí bash v systému UNIX. Pokud stisknete klávesu [Tab] za částí slova, konzola se pokusí najít příkaz v aktuálním kontextu, který tímto slovem začíná. Pokud je nalezena pouze jedna shoda, je automaticky doplněna a následuje mezera:

/inte[Tab]_ se změní na /interface _

Pokud existuje více shod, ale všechny mají společný začátek, který je delší než to, co jste napsali, pak se slovo doplní do této společné části a nepřidá se žádná mezera:

/interface set e[Tab]_ se změní na /interface set ether_

Pokud jste napsali pouze společnou část, nemá jednorázové stisknutí klávesy Tab žádný účinek. Její druhé stisknutí však zobrazí všechna možná doplnění v kompaktní podobě:

Kód: Vybrat vše

[admin@MikroTik] > interface set e[Tab]_
[admin@MikroTik] > interface set ether[Tab]_
[admin@MikroTik] > interface set ether[Tab]_
ether1 ether5
[admin@MikroTik] > interface set ether_
Klávesu [Tab] lze použít téměř v jakémkoli kontextu, kde konzola může mít vodítko k možným hodnotám - názvy příkazů, názvy argumentů, argumenty, které mají jen několik možných hodnot (jako jsou názvy položek v některých seznamech nebo názvy protokolů v pravidlech firewallu a NAT). Nelze doplnit čísla, IP adresy a podobné hodnoty.

Dalším způsobem, jak při psaní stisknout méně kláves, je zkracování názvů příkazů a argumentů. Můžete napsat pouze začátek názvu příkazu, a pokud není nejednoznačný, konzola jej přijme jako celý název. Napíšete tedy např:

Kód: Vybrat vše

[admin@MikroTik] > pi 10.1 c 3 si 100
se rovná:

Kód: Vybrat vše

[admin@MikroTik] > ping 10.0.0.1 count 3 size 100
Je možné doplnit nejen začátek, ale i libovolný výrazový podřetězec jména: pokud neexistuje přesná shoda, konzola začne hledat slova, která mají doplňovaný řetězec jako první písmena víceslovného jména nebo která jednoduše obsahují písmena tohoto řetězce ve stejném pořadí. Pokud je nalezeno jediné takové slovo, je doplněno na pozici kurzoru. Například:

Kód: Vybrat vše

[admin@MikroTik] > interface x[TAB]_
[admin@MikroTik] > interface export _
 
[admin@MikroTik] > interface mt[TAB]_
[admin@MikroTik] > interface monitor-traffic _

Obecné příkazy
Některé příkazy jsou společné téměř všem úrovním menu, a to:
tisknout, nastavit, odebrat, přidat, najít, získat, exportovat, povolit, zakázat, komentovat, přesunout
print, set, remove, add, find, get, export, enable, disable, comment, move
Tyto příkazy mají podobné chování v různých úrovních nabídek.
  • add - tento příkaz má obvykle všechny argumenty stejné jako příkaz set, kromě argumentu číslo položky. Přidá novou položku se zadanými hodnotami, obvykle na konec seznamu položek, v místech, kde je pořadí položek relevantní. Některé povinné vlastnosti musíte zadat, například rozhraní pro novou adresu, zatímco jiné vlastnosti jsou nastaveny jako výchozí, pokud je výslovně nezadáte.
    Běžné parametry
    • copy-from - Zkopíruje existující položku. Převezme výchozí hodnoty vlastností nové položky z jiné položky. Pokud nechcete provést přesnou kopii, můžete zadat nové hodnoty některých vlastností. Při kopírování položek, které mají názvy, budete muset kopii obvykle přidělit nový název
    • place-before - umístí novou položku před existující položku se zadanou pozicí. Po přidání položky do seznamu tedy nemusíte použít příkaz přesunout.
    • disabled - řídí stav zakázáno/povoleno nově přidané položky(-ek).
    • comment - obsahuje popis nově vytvořené položky.
    • Vrací hodnoty: příkaz add vrací vnitřní číslo přidané položky
  • edit - tento příkaz je spojen s příkazem set. Lze jej použít k úpravě hodnot vlastností, které obsahují velké množství textu, například skripty, ale funguje se všemi upravitelnými vlastnostmi. V závislosti na možnostech terminálu se spustí buď celoobrazovkový editor, nebo jednořádkový editor pro úpravu hodnoty zadané vlastnosti.
  • find - Příkaz find má stejné argumenty jako příkaz set a navíc příznakové argumenty jako disabled nebo active, které nabývají hodnot ano nebo ne v závislosti na hodnotě příslušného příznaku. Chcete-li zobrazit všechny příznaky a jejich názvy, podívejte se do horní části výstupu příkazu print. Příkaz find vrátí vnitřní čísla všech položek, které mají stejné hodnoty argumentů, jako jsou zadané.
  • move - changes the order of items in list.
    Parametery
    • první argument určuje přesouvanou položku(-y).
    • druhý argument určuje položku, před kterou se mají umístit všechny přesouvané položky (při vynechání druhého argumentu se umístí na konec seznamu).
  • print - zobrazí všechny informace, které jsou dostupné z určité úrovně příkazů. Například /system clock
    print shows system date and time, /ip route print shows all routes, etc. If there's a list of items in current level and they are not read-only, i.e. you can change/remove them (example of read-only item list is /system history, which shows a history of executed actions), then print command also assigns numbers that are used by all commands that operate with items in this list.
    Společné parametry
    • from - zobrazí pouze zadané položky ve stejném pořadí, v jakém jsou zadány.
    • where - zobrazí pouze položky, které odpovídají zadaným kritériím. Syntaxe vlastnosti where je podobná příkazu find.
    • brief - vynutí, aby příkaz pro tisk použil tabulkovou formu výstupu.
    • detail - vynutí, aby příkaz pro tisk použil výstupní formu vlastnost=hodnota
    • count-only - zobrazí počet položek
    • file - vytiskne obsah konkrétní dílčí nabídky do souboru na směrovači.
    • interval - aktualizuje výstup z příkazu tisku pro každý interval sekund.
    • oid - vypíše hodnotu OID pro vlastnosti, které jsou přístupné z protokolu SNMP.
    • without-paging - vytiskne výstup bez zastavení po každé obrazovce.
  • remove - odstraní zadané položky ze seznamu.
  • set - umožňuje měnit hodnoty obecných parametrů nebo parametrů položek. Příkaz set má argumenty se jmény odpovídajícími hodnotám, které můžete změnit. Seznam všech argumentů zobrazíte pomocí ? nebo dvojitého [Tab]. Pokud je v této úrovni příkazu seznam položek, pak má příkaz set jeden akční argument, který přijímá číslo položky (nebo seznam čísel), které chcete nastavit. Tento příkaz nic nevrací.
Příkazy můžete kombinovat, zde jsou dvě varianty stejného příkazu, které umístí novou položku filtru firewallu, a to vyhledáním komentáře:

/ip firewall/filter/add chain=forward place-before=[find where comment=CommentX]
/ip/firewall/filter/add chain=forward place-before="CommentX"


Režimy
Konzolový řádkový editor pracuje buď ve víceřádkovém, nebo jednořádkovém režimu. Ve víceřádkovém režimu řádkový editor zobrazuje celý vstupní řádek, i když je delší než jeden řádek terminálu. Používá také celoobrazovkový editor pro úpravu velkých textových hodnot, například skriptů. V jednořádkovém režimu se pro editaci řádků používá pouze jeden terminálový řádek a dlouhé řádky se zobrazují zkrácené kolem kurzoru. V tomto režimu se nepoužívá celoobrazovkový editor.

Volba režimů závisí na detekovaných možnostech terminálu.


Klávesové zkratky a klávesy
Control-C Přerušení klávesnicí
Control-D odhlášení (pokud je vstupní řádek prázdný)
Control-K vymazání od kurzoru po konec řádku
Control-X přepnutí bezpečného režimu
Control-V přepnutí režimu hotlock
F1 nebo ? zobrazení kontextové nápovědy. Pokud je předchozí znak \, pak vloží ?
Tab provede dokončení řádku. Při druhém stisknutí zobrazí možná doplnění
Delete odstraní znak na kurzoru
Control-H nebo Backspace odstraní znak před kurzorem a posune kurzor o jednu pozici zpět.
Control-\ rozdělí řádek na kurzoru. Vložení nového řádku na pozici kurzoru. Zobrazí druhý ze dvou výsledných řádků.
Control-B nebo Vlevo posune kurzor o jeden znak zpět
Control-F nebo Vpravo posune kurzor o jeden znak vpřed
Control-P nebo Nahoru přejde na předchozí řádek. Pokud se jedná o první řádek vstupu, vyvolá předchozí vstup z historie.
Control-N nebo Dolů přejít na další řádek. Pokud se jedná o poslední řádek vstupu, vyvolá se další vstup z historie.
Control-A nebo Home přesune kurzor na začátek řádku. Pokud je kurzor již na začátku řádku, pak přejděte na začátek prvního řádku aktuálního vstupu.
Control-E nebo End přesuňte kurzor na konec řádku. Pokud je kurzor již na konci řádku, přesuňte jej na konec posledního řádku aktuálního vstupu. Control-L nebo F5 reset terminálu a překreslení obrazovky.

Klávesy nahoru, dolů ponechají kurzor na konci řádku.


Vestavěná nápověda
Konzola má vestavěnou nápovědu, do které se dostanete zadáním ?. Obecně platí, že nápověda zobrazuje to, co můžete napsat na místě, kde bylo stisknuto ? (podobně jako při dvojím stisknutí klávesy [Tab], ale ve slovní podobě a s vysvětlivkami).


Nouzový režim
Někdy je možné změnit konfiguraci směrovače tak, že se směrovač stane nedostupným (kromě místní konzole). Obvykle se tak stane omylem, ale neexistuje způsob, jak poslední změnu vrátit zpět, když je již připojení ke směrovači přerušeno. K minimalizaci takového rizika lze použít nouzový režim.

Do nouzového režimu se vstupuje stisknutím kláves [CTRL]+[X]. Chcete-li uložit změny a ukončit nouzový režim, stiskněte znovu klávesy [CTRL]+[X]. Chcete-li režim ukončit bez uložení provedených změn, stiskněte klávesy [CTRL]+[D].

Kód: Vybrat vše

[admin@MikroTik] ip route>[CTRL]+[X]
[Safe Mode taken]
[admin@MikroTik] ip route<SAFE>
703px-2009-04-06_1317 (1).png

Zobrazí se zpráva Bezpečný režim převzat (Safe Mode taken) a výzva se změní tak, aby odrážela, že relace je nyní v nouzovém režimu. Všechny provedené změny konfigurace (i z jiných přihlašovacích relací), zatímco je směrovač v nouzovém režimu, se automaticky zruší, pokud se relace nouzového režimu abnormálně ukončí. Všechny takové změny, které budou automaticky zrušeny, můžete vidět označené příznakem F v historii systému:

Kód: Vybrat vše

[admin@MikroTik] ip route>
[Safe Mode taken]
[admin@MikroTik] ip route<SAFE> add
[admin@MikroTik] ip route<SAFE> /system history print
Flags: U - undoable, R - redoable, F - floating-undo
ACTION BY POLICY
F route added admin write
Pokud se nyní přeruší připojení telnetu (nebo terminálu winboxu), po určité době (časový limit TCP je 9 minut) se všechny změny provedené v nouzovém režimu zruší. Ukončení relace pomocí [Ctrl]+[D] také zruší všechny změny v nouzovém režimu, zatímco /quit nikoli.

Pokud se jiný uživatel pokusí vstoupit do nouzového režimu, zobrazí se mu následující zpráva:

Kód: Vybrat vše

[admin@MikroTik] >
Hijacking Safe Mode from someone - unroll/release/don't take it [u/r/d]:
  • u - zruší všechny změny v nouzovém režimu a přepne aktuální relaci do nouzového režimu.
  • r - zachová všechny aktuální změny v bezpečném režimu a přepne aktuální relaci do bezpečného režimu. Předchozí vlastník bezpečného režimu je o tom informován:

    Kód: Vybrat vše

    [admin@MikroTik] ip firewall rule input
    [Safe mode released by another user]
    
  • d - ponechá vše tak, jak je.
Pokud je v nouzovém režimu provedeno příliš mnoho změn a v historii není místo na všechny (v současné době historie uchovává až 100 posledních akcí), relace se automaticky přepne z nouzového režimu, žádné změny se automaticky nevrátí zpět. Proto je nejlepší měnit konfiguraci po malých krocích, zatímco jste v nouzovém režimu. Dvakrát stisknout [Ctrl]+[X] je snadný způsob, jak vyprázdnit seznam akcí v nouzovém režimu.


Režim "HotLock"
Když je povolen režim HotLock, příkazy se doplňují automaticky.
Pro vstup do režimu HotLock nebo jeho ukončení stiskněte [CTRL]+[V].

Kód: Vybrat vše

[admin@MikroTik] /ip address> [CTRL]+[V]
[admin@MikroTik] /ip address>>
Dvojitý>> je indikací, že je povolen režim HotLock. Pokud například napíšete/in e, bude automaticky doplněno na

Kód: Vybrat vše

[admin@MikroTik] /ip address>> /interface ethernet

Nabídka rychlé nápovědy
Klávesa F6 aktivuje nabídku v dolní části terminálu, která zobrazuje běžné kombinace kláves a jejich použití.
[admin@RB493G] >

Kód: Vybrat vše

 tab compl ? F1 help ^V hotlk ^X safe ^C brk ^D quit