Enviar configurações via WEB para uma RB
Pessoal boa noite,
Instalei internet em um colégio e fiz autenticação via hotspot + user manager em uma rb750. Configurei 3 perfis de usuários:
1 - Professores com logins individuais, com a liberdade de usar em até 2 dispositivos simultaneamente, sem horário limite para uso.
2 - Alunos, um login único para todos, com uso liberado apenas nos intervalos
3 - Uma lista com vários logins com validade de 90 minutos cada, sem limite de dispositivos para caso algum professor queira usar internet durante a aula, basta passar um desse logins para os alunos.
Porém como ninguém gosta muito de respeitar regras alguns alunos conseguiram alguns desses logins de 90 minutos e estão usando ...
Então eu pensei em uma alternativa:
Na routerboard hospedar uma página em que se o professor colocar seu login e sua senha seja gerado um usuário com 90 minutos ...
Ai eu lhes pergunto:
Como eu posso enviar comandos para a RB via web, se fosse pelo terminal disponível internamente eu até sei, mas não tenho nem ideia de como fazer isso web
att Gabriel
Re: Enviar configurações via WEB para uma RB
Veja se isso te ajuda
Ative a API de comunicação em ip -> services, possivelmente a primeira opção.
Crie um profile com os atributos desejados no hotspot
Baixe a API PHP no site da MikroTik.
Crie uma página em PHP com o seguinte conteúdo.
Código PHP:
<?php
require('../routeros_api.class.php');
//dentro do require vai o local aonde salvou a classe routeros_api.class.php
$API = new routeros_api();
$API->debug = false;
//dados do professor
$usuario = $_POST['usuario'];
$senha= $_POST['senha'];
//dados do seu mikrotik
$ip = 'ip do mikrotik';
$usuario = 'usuario';
$senharb = 'senha';
if ($API->connect($ip, $usuario, $senharb)){
$API->comm("/ip/hotspot/user/add", array(
"name" => $usuario,
"password" => $senha,
"server" => "server",
//o atributo profile deve conter o perfil que foi criado no mikrotik
"profile" => "voucher",
));
$API->disconnect();
}
?>
Depois só criar um formulário (form) em um HTML que tenha como action essa página e o method seja post.
Re: Enviar configurações via WEB para uma RB
Você pode usar a classe API php para enviar os comandos via web:
http://wiki.mikrotik.com/wiki/API_PHP_class
Re: Enviar configurações via WEB para uma RB
Ative a função API em ip-services
baixe a classe da API em PHP no site da MikroTik
faça um formulário e crie uma pagina mais o menos assim
Código PHP:
<?php
//solicita os arquivos para iniciar o API
require('../routeros_api.class.php');
$API = new routeros_api();
$API->debug = true;
//dados do cliente
$usuario=$_POST['usuario']; //puxa o usuario do form de cadastro */
$senha=$_POST['senha']; //puxa a senha do form de cadastro
//conecta ao API
//dados para conexão ao API
$ip = 'ip do mk';
$usuario = 'usuario de acesso mk';
$senharb = 'senha mk';
//salva usuário e senha na RB
if ($API->connect($ip, $usuario, $senharb)){
$API->comm("/ip/hotspot/user/add", array(
"name" => $usuario,
"password" => $senha,
"server" => "server",
//profile => igual ao que você criou no mk como estou usando o nome de exemplo voucher
"profile" => "voucher",
 );
$API->disconnect();
}
?>