❗️Toto je původní verze internetového fóra ISPforum.cz do února 2020 bez možnosti registrace nových uživatelů. Aktivní verzi fóra naleznete na adrese https://telekomunikace.cz

Zapsani pravidla do mikrotiku externe přes php

Příspěvky, které nespadají do žádného z vytvořených fór.
[OP]CZMadman
Příspěvky: 44
Registrován: 18 years ago
Kontaktovat uživatele:

Re: Zapsani pravidla do mikrotiku externe přes php

Příspěvekod [OP]CZMadman » 11 years ago

ha takze 10.10.10.0/24 fungnuje ... takze co tam dat kdyz potrebuju boknout jen tu jednu ip a ne celej rozsah?
0 x

rseb
Příspěvky: 101
Registrován: 12 years ago

Příspěvekod rseb » 11 years ago

no budto /32, coz tvrdis, z enejde a nebo bych to zkusil bez masky
0 x

[OP]CZMadman
Příspěvky: 44
Registrován: 18 years ago
Kontaktovat uživatele:

Příspěvekod [OP]CZMadman » 11 years ago

ha, chyba v lomitku .. takze vyreseno a funkcni.. dekuji vsem za pomoc
0 x

rseb
Příspěvky: 101
Registrován: 12 years ago

Příspěvekod rseb » 11 years ago

no vidis. :-D
0 x

[OP]CZMadman
Příspěvky: 44
Registrován: 18 years ago
Kontaktovat uživatele:

Příspěvekod [OP]CZMadman » 11 years ago

moc dekuju resp, ted predto hodim nejakej if find a bde to hotove
0 x

Rudolf Dvořák
Příspěvky: 421
Registrován: 14 years ago
antispam: Ano
Bydliště: Czech Republic
Kontaktovat uživatele:

Příspěvekod Rudolf Dvořák » 11 years ago

OFFTOPIC: konečně začínám chápat jak funguje api. Jestli to někdo používá můžete mi poslat kompletní script pro nějaké připojení a akci?
0 x

[OP]CZMadman
Příspěvky: 44
Registrován: 18 years ago
Kontaktovat uživatele:

Příspěvekod [OP]CZMadman » 11 years ago

tak vse funguje jak ma, uz to pekne banuje, jen se mi nepodarilo zatim rozject tu kontrolu zda existuje ip, tak ji tam nezapis znovu

zatim to resim pres script, ale ani ten nefunguje i kdyz by snad melo, prepsani do php uz nejak pujde
mohl by to nekdo zkouknout ? po spusteni se to jakoby provede, ale nenapise to do logu nic (tu adresu tam samozrejme mam)

Kód: Vybrat vše

:if ( [/interface bridge filter [find src-address=10.10.10.10/32]] = true) do={:log info "IP nalezena";}


a problem je nekde nazacatku vtom find, protoze neprojde ani todle

Kód: Vybrat vše

:if [/interface bridge filter [find src-address=10.10.10.10/32]] do={:log info "IP nalezena";}
0 x

tom-tom
Příspěvky: 1089
Registrován: 19 years ago

Příspěvekod tom-tom » 11 years ago

Kód: Vybrat vše

:if ([:len [/interface bridge filter find src-address=10.10.10.10/32]]>0 )  do={ :log info "je tam"; }
nebo obráceně

Kód: Vybrat vše

:if ([:len [/interface bridge filter find src-address=10.10.10.10/32]]=0 )  do={ :log info "neni tam"; }
0 x
T-T

[OP]CZMadman
Příspěvky: 44
Registrován: 18 years ago
Kontaktovat uživatele:

Příspěvekod [OP]CZMadman » 11 years ago

tak jsem to zkousel ale stejne mi to nefunguje ... uz se aspon vypisuje do lugu ze to tam neni, ale i u Ip, ktere tam jsou.... takze to take neni dobre .. nevím zda jsi to zkousel, ale me to nefunguje

edit: tak uz vim asi problem, kdyz dam 10.10.10.10/32 tak to jede ale kdyz dam 10.10.10.1/32 tak ne .. tak ted jak to napravit
kdyz si to necham vypsat pres /interface bridge filter print tak tam je src-address=10.10.10.1/32 takenvím jak to bere
0 x

Hatatitla
Příspěvky: 481
Registrován: 16 years ago

Příspěvekod Hatatitla » 11 years ago

Vylistuj si to cez /interface/bridge/filters/getall
a vyhľadaj si to cez php.
0 x

[OP]CZMadman
Příspěvky: 44
Registrován: 18 years ago
Kontaktovat uživatele:

Příspěvekod [OP]CZMadman » 11 years ago

getall to neumi
ale dal jsem to do uvozovek a uz se to snad tvari ze to pojede

jinak pro ostatní funkční reseni takto

Kód: Vybrat vše

:if ([:len [/interface bridge filter find src-address="10.10.10.1/32"]]=0 )  do={ :log info "neni tam"; }
:if ([:len [/interface bridge filter find src-address="10.10.10.1/32"]]>0 )  do={ :log info "je tam"; }


ted to jeste nejakym zpusobem dostat do php api, coz bude také oříšek
0 x

tom-tom
Příspěvky: 1089
Registrován: 19 years ago

Příspěvekod tom-tom » 11 years ago

no, to je věc, která mi už dlouho vrtá hlavou.. kdysi v mikrotiku fungovaly skripty v terminálu i spouštěním ze /system/scripts normálně bez uvozovek. A od určité doby, bez uvozovek něco v terminálu jde, ale ve scripts se musí hodnoty uzavírat do uvozovek.
Začalo to tuším přechodem z 3.x na 4.x verzi, to mi skoro všechny skripty přestaly fungovat, protože se změnil způsob deklarace proměnných.
0 x
T-T

[OP]CZMadman
Příspěvky: 44
Registrován: 18 years ago
Kontaktovat uživatele:

Příspěvekod [OP]CZMadman » 11 years ago

bylo to zvláštní no, ted mi to funguje ve scriptu, ale nedari se mi to prevect do php .... neporadil by nkedo jak to prevect do php ?
Kazdopadne dekuji vsem, kteri se nadtim zamysli :)
0 x

[OP]CZMadman
Příspěvky: 44
Registrován: 18 years ago
Kontaktovat uživatele:

Příspěvekod [OP]CZMadman » 11 years ago

bylo to zvláštní no, ted mi to funguje ve scriptu, ale nedari se mi to prevect do php .... neporadil by nkedo jak to prevect do php ?
Kazdopadne dekuji vsem, kteri se nadtim zamysli :)
0 x

Hatatitla
Příspěvky: 481
Registrován: 16 years ago

Příspěvekod Hatatitla » 11 years ago

Kód: Vybrat vše

<pre>
<? 
    include("mkAPI.php");
    $API = new routeros_api();
    $API->debug = true;
    if ($API->connect('1.2.3.4', 'meno', 'heslo')) {
      $API->write('/interface/bridge/filter/getall');
      $ARRAY = $API->read();
    $API->disconnect();
}
     print_r($ARRAY);
?>

</pre>


a výstup

Kód: Vybrat vše

Connection attempt #1 to *.*.*.*:8728...
<<< [6] /login
>>> [5/5 bytes read.
>>> [5, 39] !done
>>> [37/37 bytes read.
>>> [37, 1] =ret=ffaa23b463256ce0b624eb82688659b9
<<< [6] /login
<<< [14] =name=NetAdmin
<<< [44] =response=00984fea9f53b5482505c16b21af450b99
>>> [5/5 bytes read.
>>> [5, 1] !done
Connected...
<<< [31] /interface/bridge/filter/getall
>>> [3/3 bytes read.
>>> [3, 351] !re
>>> [7/7 bytes read.
>>> [7, 343] =.id=*1
>>> [12/12 bytes read.
>>> [12, 330] =chain=test1
>>> [14/14 bytes read.
>>> [14, 315] =action=accept
>>> [14/14 bytes read.
>>> [14, 300] =invalid=false
>>> [14/14 bytes read.
>>> [14, 285] =dynamic=false
>>> [15/15 bytes read.
>>> [15, 269] =disabled=false
>>> [3/3 bytes read.
>>> [3, 264] !re
>>> [7/7 bytes read.
>>> [7, 256] =.id=*2
>>> [12/12 bytes read.
>>> [12, 243] =chain=test2
>>> [14/14 bytes read.
>>> [14, 228] =action=accept
>>> [14/14 bytes read.
>>> [14, 213] =invalid=false
>>> [14/14 bytes read.
>>> [14, 198] =dynamic=false
>>> [15/15 bytes read.
>>> [15, 182] =disabled=false
>>> [3/3 bytes read.
>>> [3, 177] !re
>>> [7/7 bytes read.
>>> [7, 169] =.id=*3
>>> [12/12 bytes read.
>>> [12, 156] =chain=test3
>>> [14/14 bytes read.
>>> [14, 141] =action=accept
>>> [14/14 bytes read.
>>> [14, 126] =invalid=false
>>> [14/14 bytes read.
>>> [14, 111] =dynamic=false
>>> [15/15 bytes read.
>>> [15, 95] =disabled=false
>>> [3/3 bytes read.
>>> [3, 90] !re
>>> [7/7 bytes read.
>>> [7, 82] =.id=*4
>>> [12/12 bytes read.
>>> [12, 69] =chain=test3
>>> [14/14 bytes read.
>>> [14, 54] =action=accept
>>> [14/14 bytes read.
>>> [14, 39] =invalid=false
>>> [14/14 bytes read.
>>> [14, 24] =dynamic=false
>>> [15/15 bytes read.
>>> [15, 8] =disabled=false
>>> [5/5 bytes read.
>>> [5, 1] !done
Disconnected...

A premenná $ARRAY je naplnená týmto

Kód: Vybrat vše

Array
(
    [0] => Array
        (
            [.id] => *1
            [chain] => test1
            [action] => accept
            [invalid] => false
            [dynamic] => false
            [disabled] => false
        )

    [1] => Array
        (
            [.id] => *2
            [chain] => test2
            [action] => accept
            [invalid] => false
            [dynamic] => false
            [disabled] => false
        )

    [2] => Array
        (
            [.id] => *3
            [chain] => test3
            [action] => accept
            [invalid] => false
            [dynamic] => false
            [disabled] => false
        )

    [3] => Array
        (
            [.id] => *4
            [chain] => test3
            [action] => accept
            [invalid] => false
            [dynamic] => false
            [disabled] => false
        )

)
Disconnected...


Nehovor mi že toto sa nedá cez php spracovať efektivnejšie ako skriptom v mk .
0 x