Witam Czy ktoś ma skrypcik, który łączy się do mikrotika i dodaje blokowane adresy do address-listy w firewallu i by się nim podzielił?
Hej,
Mam perlowy bazującu na lms-makemessages. Łączę sie do MT przez API. Może być?
Pozdrawiam
-- Robert Baranowski Technical Director Wicklow Broadband Limited Casa Henri Kindlestown Hill Delgany Greystones Co. Wicklow A63 YP77
T: 01 52 42 125 M: 086 450 65 60
robert@wicklowbroadband.com www.wicklowbroadband.com
2016-10-19 19:23 GMT+01:00 Marcin marcin@nicram.net:
Witam Czy ktoś ma skrypcik, który łączy się do mikrotika i dodaje blokowane adresy do address-listy w firewallu i by się nim podzielił?
-- Pozdrawiam Marcin / nicraM
lms mailing list lms@lists.lms.org.pl http://lists.lms.org.pl/mailman/listinfo/lms
Cześć,
Ja się piszę na ten skrypt. Poproszę :)
-- Rafał Wójcik
W dniu 19 października 2016 22:39 użytkownik Robert Baranowski < robert@wicklowbroadband.com> napisał:
Hej,
Mam perlowy bazującu na lms-makemessages. Łączę sie do MT przez API. Może być?
Pozdrawiam
-- Robert Baranowski Technical Director Wicklow Broadband Limited Casa Henri Kindlestown Hill Delgany Greystones Co. Wicklow A63 YP77
T: 01 52 42 125 M: 086 450 65 60
robert@wicklowbroadband.com www.wicklowbroadband.com
2016-10-19 19:23 GMT+01:00 Marcin marcin@nicram.net:
Witam Czy ktoś ma skrypcik, który łączy się do mikrotika i dodaje blokowane adresy do address-listy w firewallu i by się nim podzielił?
-- Pozdrawiam Marcin / nicraM
lms mailing list lms@lists.lms.org.pl http://lists.lms.org.pl/mailman/listinfo/lms
lms mailing list lms@lists.lms.org.pl http://lists.lms.org.pl/mailman/listinfo/lms
W dniu 20.10.2016 o 07:28, Rafał Wójcik pisze:
Cześć,
Ja się piszę na ten skrypt. Poproszę :)
No i ja :)
Ja mam to zrobione tak, że demon lms tworzy plik blokada.rsc z wpisami: /ip firewall address-list add address=%i comment="%n" list=Blokada\n
następnie cron wykonuje skrypt blokady: ssh -T admin@IPMietka </etc/internet/blokada.rsc
Witam serdecznie, posiadam takie skrypty, jeden do blokad całkowitych (wszystkie porty blokuje, a www przekierowuje na vhosta z komunikatem o blokadzie), a drugi skrypt który dodaje access-listy do komunikatów (port 80 przekierowuje na vhosta gdzie pojawia się plansza z komunikatem a pod spodem przycisk “przeczytalem wiadomość” – który po kliknięciu wyłącza komunikat
skrypty kosztowały mnie dużo pracy i są na zarobek, jeśli CIę to interesuję odezwij się :)
-----Oryginalna wiadomość----- From: Łukasz Rostalski Sent: Friday, October 21, 2016 10:01 PM To: lms@lists.lms.org.pl Subject: Re: [lms] LMS -> Mikrotik address-list
W dniu 20.10.2016 o 07:28, Rafał Wójcik pisze:
Cześć,
Ja się piszę na ten skrypt. Poproszę :)
No i ja :)
Ja mam to zrobione tak, że demon lms tworzy plik blokada.rsc z wpisami: /ip firewall address-list add address=%i comment="%n" list=Blokada\n
następnie cron wykonuje skrypt blokady: ssh -T admin@IPMietka </etc/internet/blokada.rsc
W dniu 21.10.2016 o 22:50, marcinsm pisze:
Witam serdecznie, posiadam takie skrypty, jeden do blokad całkowitych (wszystkie porty blokuje, a www przekierowuje na vhosta z komunikatem o blokadzie), a drugi skrypt który dodaje access-listy do komunikatów (port 80 przekierowuje na vhosta gdzie pojawia się plansza z komunikatem a pod spodem przycisk “przeczytalem wiadomość” – który po kliknięciu wyłącza komunikat
skrypty kosztowały mnie dużo pracy i są na zarobek, jeśli CIę to interesuję odezwij się :)
Spoko, u mnie działa tak samo, też sam to ogarniałem. Byłem po prostu ciekawy jak masz to zrobione.
Witam
Mam skrypt w php który pobiera z lms adresy "włączonych" ip komputerów i dodaje do ip firewall jako klienci_access, na MT na reguła która blokuje dostęp do neta dla tych co ich wyłączy. skrypt korzysta z routeros_api_class, aktualizuje listę jak lms jakiego kl wyłączy.
plik database.inc -- <?php class config{};
$CONF = new config;
/* MYSQL CONFIG */
$CONF->dbhost = "127.0.0.1"; $CONF->dbname = "user"; $CONF->dbuser = "db"; $CONF->dbpass = "pass";
?> ---
--- <?php set_time_limit(80); include("/etc/database.inc"); require('/etc/routeros_api.class.php');
$mtikhost = "x.x.x.x"; //ip mikrotik'a
$mtikuser = "user"; //user na mikrotiku co ma access do api $mtikpass = "dupa"; // has\304\271\342\200\232o na mikrotika
$API = new routeros_api(); if ($API->connect($mtikhost, $mtikuser, $mtikpass)) { $add = "/ip/firewall/address-list/add";
$ext = $API->comm("/ip/firewall/address-list/print", array( ".proplist"=> "address", "?list" => "klienci_access", ));
function in_array_r($item , $array){ return preg_match('/"'.$item.'"/i' , json_encode($array)); }
mysql_pconnect($CONF->dbhost, $CONF->dbuser, $CONF->dbpass); @mysql_select_db("$CONF->dbname") or die ("Unable to select database"); $ipall = ""; $test = 0; $result = mysql_query("select INET_NTOA(ipaddr) as ip from nodes where access = '1'"); while( list($ip) = mysql_fetch_row($result)) { if(eregi("^10.0.(1|2).[0-9]{1,3}|^78.9.(64|65|66|67|68|69).[0-9]{1,3}", $ip)) { // tu musisz zmienić, skrypt tnie po IP, lub wywalić tą linie if(in_array_r($ip , $ext)){ } else {
$vars = array( "list" => "klienci_access", "comment" => str_replace('.','',$ip), "address" => $ip); $ARRAY = $API->comm($add, $vars); # echo "dodaje $ip\n"; $test++; } } }
mysql_pconnect($CONF->dbhost, $CONF->dbuser, $CONF->dbpass); @mysql_select_db("$CONF->dbname") or die ("Unable to select database"); $ipall = ""; $test = 0; $result = mysql_query("select INET_NTOA(ipaddr) as ip from nodes where access = '0'"); while( list($ip2) = mysql_fetch_row($result)) { if(eregi("^10.0.(1|2).[0-9]{1,3}|^78.9.(64|65|66|67|68|69).[0-9]{1,3}", $ip2)) { // tu musisz zmienić, skrypt tnie po IP, lub wywalić tą linie if(in_array_r($ip2 , $ext)){ $ipip = str_replace('.', '', $ip2); $API->write('/ip/firewall/address-list/remove', false); $API->write('=.id='.$ipip); $API->read(); # echo "usuwa $ip2\n"; $test++; } } }
} $API->disconnect(); ?>
uczestnicy (6)
-
Marcin
-
marcinsm
-
Rafał Wójcik
-
Robert Baranowski
-
Łukasz Rostalski
-
Łukasz Łuczak