witam
Ja u siebie zarządzam CCR'ami poprzez skrypty w php działające na API, głownie QUENE oraz przepuszczanie klientów na zasadzie adress_list.
QUENE U nas jest w nocy 2xszybicej, więc muszę dwa razy dziennie zmieniać wszystkie kolejki.
1.Najpierw sprawdzam przez API co router ma i jak ma ----- $API = new routeros_api(); if ($API->connect($mtikhost, $mtikuser, $mtikpass)) { $add = "/queue/simple/add"; $set = "/queue/simple/set";
$ext = $API->comm("/queue/simple/print", array( ".proplist"=> "name,max-limit", ));
function in_array_r($item , $array){ return preg_match('/"'.$item.'"/i' , json_encode($array)); } ------ byc zmiana to SET a ---- if(in_array_r($name, $ext)) { foreach($ext as $k1 => $w1) { if($w1[name] == $name && $w1['max-limit'] != $predkosc) { # echo "set: " . $name . "speed: " . $predkosc . "\n"; $vars = array( ".id" => $name, "max-limit" => $predkosc); $ARRAY2 = $API->comm($set, $vars); } } ----- jak KOLEJKA NOWA to ADD. ---- } else { # echo "dodaje: " .$line . "\n"; $vars2 = array( "name" => $name, "target" => $line, "comment" => $name, "priority" => '4/4', "queue" => 'default/default', "burst-limit" => '0/0', "burst-threshold" => '0/0', "burst-time" => '20s/20s', "max-limit" => $predkosc); $ARRAY = $API->comm($add, $vars2); } - Prędkości pobiera z lms'a . QUENE dodane z automatu posiadają odpowiedni komentarz na podstawie tego komentarza skrypt sprawdza do kogo należy kolejka no i kolejki wpisane z palca nie rusza. np: QOS_ipklienta co daje QOS_19216812
od paru miesięcy działa, bez problemów.
Pozdrawiam bleblas
właściwie to szukałem czegoś na jeden duży router obrabiający dhcp, queues, blokowanie maków
z racji że nie ogarniam perla i niezbyt przyjaźnie jego kod wygląda postanowiłem że napiszę sobie taki moduł w php. zastanawia mnie natomiast jak rozwiązać problem upgradów konfiguracji, tak by przy każdym przeładowaniu wrzucać na rtr tylko zmiany
czy macie jakieś sprawdzone pomysły ?