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
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 -- Pozdrawiam Łukasz
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 -- Pozdrawiam Łukasz _______________________________________________ lms mailing list lms@lists.lms.org.pl http://lists.lms.org.pl/mailman/listinfo/lms --- Ta wiadomość została sprawdzona na obecność wirusów przez oprogramowanie antywirusowe Avast. https://www.avast.com/antivirus
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. -- Pozdrawiam Łukasz
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(); ?> -- plik rouseros_api dostępny na necie. Przepraszam za bałagan ale sam pisałem. Pozdrawiam Łukasz Łuczak `bleblas`
uczestnicy (6)
-
Marcin -
marcinsm -
Rafał Wójcik -
Robert Baranowski -
Łukasz Rostalski -
Łukasz Łuczak