❗️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
mikrotik www API
mikrotik www API
Hoj, mam na mikrotiku vytvoreny FW pravidla... Potreboval bych dostat na sve www stranky prepinac (tlacitka) na vypnuti a zapnuti tohoto pravidla. Resil uz to nekdo ????
0 x
-
- Příspěvky: 281
- Registrován: 17 years ago
-
- Příspěvky: 281
- Registrován: 17 years ago
Jo, před nějakým časem ano, ovšem z Powershellu.
Knihovnu (mikrotik.dll) jsem k tomu stáhnul z odkazu na foru mikrotiku a chodilo to dobře.
(Používal jsem to na nějaké upgrady a restarty).
Knihovnu (mikrotik.dll) jsem k tomu stáhnul z odkazu na foru mikrotiku a chodilo to dobře.
(Používal jsem to na nějaké upgrady a restarty).
0 x
Tak jsem se na to jeste dival, vsude jsou jen priklady pro VB provedeni s pouzim dll knihovny. Ja bych potreboval webovou stranku , kde budou dve tlacitka, jedno pustit a druhy zastavit, a tim by se poustelo a vypinalo jedno pravidlo ve firewallu.
Lze toto udelat ???
Lze toto udelat ???
0 x
Je to obecné API - application programing interface. Takže odpověď je ano, lze to udělat. Vždy je jen otázka v čem, na čem a kým.
0 x
Jelikož je zde zakázáno se negativně vyjadřovat k provozním záležitostem, tak se holt musím vyjádřit takto: nové fórum tak jak je připravováno považuji za cestu do pekel. Nepřehledný maglajz z toho bude. Do podpisu se mi pozitiva již nevejdou.
no hledam nejaky example pro php a nebo www a poradne nemuzu najit. zatim jsem nasel pouze pro VB
0 x
ja pouzivam tuto osvedcenou knihovnu v php http://wiki.mikrotik.com/wiki/API_PHP_class - jsou u toho i klasicke priklady
normalne si v php udelas funkci treba s nejakym klikatkem, ktera ti odesle prikaz do MK, v tvem pripade ......... disabled=yes/no
ja tuto knihovnu pouzivam treba jako levnou sms gateway, na jednom mk mam modem a pres /tool/sms/send/ si odesilam notifikace a funguje to dobre
normalne si v php udelas funkci treba s nejakym klikatkem, ktera ti odesle prikaz do MK, v tvem pripade ......... disabled=yes/no
ja tuto knihovnu pouzivam treba jako levnou sms gateway, na jednom mk mam modem a pres /tool/sms/send/ si odesilam notifikace a funguje to dobre
0 x
::RouterLEGOboard::
a mohl bych te poprosit o nejakou rychlou ukazku ?? nejsem vubec zbehly v PHP a jedna se mi vazne o jen zapnuti/vypnuti pravidla cislo 2 ve firewallu. Proste bud dve tlacitka kde jedno bude zapnuti a druhy vypnuti a nebo tam bude nejco jako CheckBox a vedle toho potvrzovaci tlacitko..... Dekuji mockrat za pomoc...
PS : zkousim jeden example... tak mi to vypise silenosti, ale ocividne to neco dela, ale tedka hledam tu moznost toho zapnuti a vypnuti jednoho pravidla a to pravidla cislo 2
tohle zkousim
ted jsem vyzkousel tohle a to krasne funguje a pridava uzivatele, takze urcite to funguje, jen prijit na spravny prikazy pro enable/disable pravidla
tak zkousim tedka nejak polepit tu posloupnost prikazu a nejde to
PS : zkousim jeden example... tak mi to vypise silenosti, ale ocividne to neco dela, ale tedka hledam tu moznost toho zapnuti a vypnuti jednoho pravidla a to pravidla cislo 2
tohle zkousim
Kód: Vybrat vše
<?php
require('routeros_api.class.php');
$API = new RouterosAPI();
$API->debug = true;
if ($API->connect('172.16.43.251', 'admin', 'hesloproadmina')) {
$API->write('/interface/getall');
$READ = $API->read(false);
$ARRAY = $API->parseResponse($READ);
print_r($ARRAY);
$API->disconnect();
}
?>
ted jsem vyzkousel tohle a to krasne funguje a pridava uzivatele, takze urcite to funguje, jen prijit na spravny prikazy pro enable/disable pravidla
Kód: Vybrat vše
<?php
require('routeros_api.class.php');
$API = new RouterosAPI();
$API->debug = true;
if ($API->connect('172.16.43.251', 'admin', 'hesloproadmina')) {
$API->comm("/ppp/secret/add", array(
"name" => "kony",
"password" => "pass",
"remote-address" => "172.16.1.10",
"comment" => "Kony",
"service" => "pptp",
));
$API->disconnect();
}
?>
tak zkousim tedka nejak polepit tu posloupnost prikazu a nejde to
Kód: Vybrat vše
<?php
require('routeros_api.class.php');
$API = new RouterosAPI();
$API->debug = true;
if ($API->connect('172.16.43.251', 'admin', 'hesloproadmina')) {
$API->comm("ip/firewall/set=.id=1?disable=yes");
$API->disconnect();
}
?>
0 x
mrkni jeste sem, jina php api knihovna a je tu primo cela funkce uz vymyslena https://github.com/nunenuh/mikrotik-api/blob/master/src/MikrotikAPI/Commands/IP/Firewall/FirewallFilter.php
dej si pozor na ty lomitka / v prikaze /
dej si pozor na ty lomitka / v prikaze /
Kód: Vybrat vše
public function disable($id) {
$sentence = new SentenceUtil();
$sentence->addCommand"("/ip/firewall/filter/disable);
$sentence->where(".id", "=", $id);
$this->talker->send($sentence);
return "Sucsess";
}
0 x
::RouterLEGOboard::
a kde tady budu definovat IP adresu routeru a jmeno a heslo ??? a to dam na to tlacitko jen tento odstavec ?? a knihovnu myslis prave to FirewallFilter.php to je ta knihovna, ktera musi byt primo u toho php souboru ???
takze vse jsem nakopiroval na server.... celou slozku MikrotikAPI do adresare router. ve slozce Entity jsem upravil soubor Auth.php kde uvnitr jsem dopsal adresu routeru, login a heslo
potom jsem vytvoril soubor zapnuto.php
ale pri souboru pres prohlizec to nic neudela a je cista obrazovka
Kód: Vybrat vše
public function disable($id) {
$sentence = new SentenceUtil();
$sentence->addCommand"("/ip/firewall/filter/disable);
$sentence->where(".id", "=", $id);
$this->talker->send($sentence);
return "Sucsess";
}
takze vse jsem nakopiroval na server.... celou slozku MikrotikAPI do adresare router. ve slozce Entity jsem upravil soubor Auth.php kde uvnitr jsem dopsal adresu routeru, login a heslo
Kód: Vybrat vše
*/
private $host = 172.16.43.251;
/**
*
* @var int
*/
private $port = 8728;
/**
*
* @var string
*/
private $username = admin;
/**
*
* @var string
*/
private $password = adminheslo;
potom jsem vytvoril soubor zapnuto.php
Kód: Vybrat vše
<?php
namespace MikrotikAPI\Commands\IP\Firewall;
use ..\router\Talker\Talker,
..\router\Util\SentenceUtil;
/**
* Description of Filter
* @author Lalu Erfandi Maula Yusnu nunenuh@gmail.com <http://vthink.web.i$
* @copyright Copyright (c) 2011, Virtual Think Team.
* @license http://opensource.org/licenses/gpl-license.php GNU Public Licen$
* @category Libraries
*/
class FirewallFilter {
/**
*
* @var Talker $talker
*/
private $talker;
function __construct(Talker $talker) {
$this->talker = $talker;
}
/**
*
* @param type $param array
* @return type array
* This method is used to add the firewall filter
*/
public function disable($id) {
$sentence = new SentenceUtil();
$sentence->addCommand("/ip/firewall/filter/disable");
$sentence->where(".id", "=", $id);
$this->talker->send($sentence);
return "Sucsess";
}
}
ale pri souboru pres prohlizec to nic neudela a je cista obrazovka
0 x
tak ted zkousim toto
a vypise to
a nic se nestane na routeru
Kód: Vybrat vše
<?php
require('routeros_api.class.php');
$API = new RouterosAPI();
$API->debug = TRUE;
if ($API->connect('172.16.43.251', 'admin', 'hesloadmin')) {
$API->Send("/ip/firewall/filter/set",false);
$API->Send("=disabled=yes",false);
$API->Send("=.id=0",true);
$API->disconnect();
}
?>
a vypise to
Kód: Vybrat vše
Connection attempt #1 to 172.16.43.251:8728... <<< [6] /login >>> [5/5] bytes read. >>> [5, 39]!done >>> [37/37] bytes read. >>> [37, 1]=ret=0d94b0a3082692b1df4151b1617ed7f6 <<< [6] /login <<< [11] =name=admin <<< [44] =response=0040a71b8e4dbc781553be264f1a3b243f >>> [5/5] bytes read. >>> [5, 1]!done Connected...
a nic se nestane na routeru
0 x
Tak uz vazne nevim. Byl by nekdo ochoten mi pripravit fungujici php stranku s mojim pozadavkem ??? bud dve tlacitka nebo jeden ChackBox a tim zapinat a vypinat pravidlo ??? nebo vic checkboxu (tlacitek) jen abych si doplnoval cisla ID pravidel
Rad zaplatim nejaky mensi poplatek....
Uz na to nemam nervy a porad se motam v bludnym kruhu
Rad zaplatim nejaky mensi poplatek....
Uz na to nemam nervy a porad se motam v bludnym kruhu
0 x
ted jsem akorat prisel k netu, kdepak, ja jsem posilal jen tu funkci (jedna z mnoha) ktera zrovna obsluhuje to, co ty potrebujes - tzn aktivaci a deaktivaci. v kazdem pripade to bylo jen na ukazku, vychazel bych z toho prvniho api co jsem posilal (tu prvni knihovnu pouzivam, ten druhy odkaz byla jen chvilka googleni) a upravil bych syntaxi. zkusim ti to spichnout
0 x
::RouterLEGOboard::
byl bych ti moc vdecen.... jedna se mi o jednu vec... mit jednoduchou spravu nad pravidlama pres www rozhrani na mobilu. abych mohl jednoduse zapnout vypnout pravidlo
0 x