Daleko jednodušší je vysrat se na celý slavný Mikro*ik a nacpat na RouterBoard místo toho OpenWrt. Pak to člověk může normálně skriptovat, jak je zvyklý z normálních operačních systémů a nemusí řešit cípoviny...
Pri tech par desitkach RB co pouzivame si posledni roky na RouterOS ani scriptovani nestezuji, naopak dekuju ;-)
Zajimvay clanek, jiste ma svuj osvetovy prinos.
OpenWRT mi běží jako metarouter pod RouterOS jako hračička, ale žádná hitparáda to teda není. Se vším se člověk musí prát.
Scriptovat sice jde, ale je to naprosto šíleně navržené. Už jenom ten zmíněný příklad s komentářem - pokud odsadím (nebo si chci okomentovat na konci řádku), příkaz se neprovede. A co je asi horší - script skončí a ani se člověk nedoví proč (ani na kterém řádku). Přitom udělat tam mezeru není až tak složité, neboť winbox používá proporciální fonty.
Nebo druhá pěkná bota - pokud uvnitř příkazu IF stane chyba, provede se ELSE (nebo dokonce oboje, teď si nejsem úplně jistý). Což je vtipné v případě, kdy tam ten IF je jen proto, aby se kus kódu neprovedl právě proto, že to daná verze ROS neumí. Týká se to příkazů simulujících winbox, tedy např /interface wireless - pokud tam použiji závadný parametr (což může být třeba definice frekvenčních pásem, ty v jedné verzi změnily tvar, ale ne smysl). Takže i když příkaz není proveden, je otestován. Vyhodí to chybu a hle - jsme v bloku ELSE. Takže v IFech používám skoro vždy radši příkazy "execute", ty jsou v tomto případě vždy správně a funguje to jak má.
Vdaka za upozornenie. Nie som velky skriptovac, ale mam par malinkych riadkov na odoslanie mailu v pripade vypadkov niektorych interf. a pod. Toto som si este nestihol vsimnut.
A co tak spravit skript v BASH, ktory sa na mikrotik pripoji cez ssh a necha spravit vypis alebo zada prikaz. BASH si s Mikrotikom velmi dobre rozumie a ma hlavne viac funkcii ako mikrotik. A nikde v clanku som si nevsimol ze by upozornili na rozdiel v syntaxy medzi verziami >3.0 a 2.9.x
Autor asi nepředpokládá, že ještě někdo stále žije na řadě 2.9, když v reálu nám 5.20 pomalu míří k 6.x. :-)
Pěkný článek. Právě jsem napsal (spíš poskládal) pár skriptů, které umožní omezit přístup některých PC na internet. Měly by se spouštět z různých PC s různými parametry (předávám je pomocí globální proměnné). Jenomže! Když se skript rozměhne z jedné stanice např. s parametrem 1 a v průběhu jeho zpracování se skript spustí odjinud s parametrem 2, pak se i v tom prvním běhu změní hodnota parametru a udělá to "neplechu". Část prvního spuštění běží s parametrem 1 ale poté se parametr změní na 2 a s tím to doběhne (a to už nemusí být korektní). Druhé spuštění běží s tou hodnotou 2.
Prosím, poraďte. Hledám už několik týdnů... a zatím nic.
Omezení přístupu některých PC na internet lze snadno vyřešit nastavením RouterOsáckého firewallu.