Mikrotik API + PHP + Mysql
Ola Amigos, vi que no wiki do mikrotik tem uma API para php
mas não estou conseguindo fazer a API consultar o ip, usuario e senha no banco de dados sql. alguem ja fez isso o exeplo segue abaixo:
(retorna o erro : Connection attempt #1 to $ip:8728... Connection attempt #2 to $ip:8728... )
se alguem sabe como fazer por SSH, a comunicação php-mikrotik me deixe pelo menso um link pora favor.
$API = new routeros_api();
$API->debug = true;
//BUSCA NO BANCO DE DADOS O USUARIO
$ip= $row_mikrotik['ip'];
$login= $row_mikrotik['ip'];
$password= $row_mikrotik['ip'];
if ($API->connect('$ip', '$login', '$password'))
grato
Re: Mikrotik API + PHP + Mysql
Pessoal,
Estou precisando de alguem com certa experiencia em API para desenvolver um simples sistema de monitoramento de alguns Mikrotiks em PHP.
Por favor, quem tiver interesse em prestar esse serviço, entre em contato comigo por MP.
Obrigado.
Re: Mikrotik API + PHP + Mysql
Estou com um servidor Apache+PHP+MySQL por fora do MK estou tendo dificuldade para conectar o API com o MK, teria que liberar algo alem da API em service para a interface externa?
Connection attempt #1 to 10.0.0.2:8728... Connection attempt #2 to 10.0.0.2:8728... Connection attempt #3 to 10.0.0.2:8728... Connection attempt #4 to 10.0.0.2:8728... Connection attempt #5 to 10.0.0.2:8728... Error...
Internet >>> Servidor >>> MK >> Clientes
Servidor: 10.0.0.1/24
MK: 10.0.0.2/24
Re: Mikrotik API + PHP + Mysql
#Adicionada ip via API
<?php
require_once('api/Router_API_class.php');
$API = new routeros_api();
$nome = $UserName;
$ip = $ip_rede .'/30';
$interface = $ether;
$API->debug = false;
if ($API->connect($servidor_mk, $user_api, $pass_api)) { // Change this as necessery
//Adiciona ID Desabilitado
$API->write('/ip/address/add
=disabled=no
=interface='.$interface.'
=comment='.$nome.'
=address='.$ip.'');
$ARRAY = $API->read();
// print_r($ARRAY);
$API->disconnect();
}
?>
#Remove IP via API
<?php
//Metodo $UserName
require_once('api/Router_API_class.php');
$API = new routeros_api();
$API->debug = false;
if ($API->connect($servidor_mk, $user_api, $pass_api)) { // Change this as necessery
//Busca ID por MAC
$API->write('/ip/address/print
?comment='.$UserName.'');
$find = $API->read();
// print_r($find);
//Remove ID encontrado
foreach ($find as $find){
$API->write('/ip/address/remove', false);
$API->write('=.id='.$find['.id']);
$API->read();
}
// print_r($ARRAY);
$API->disconnect();
}
?>
#Adciona MAC no access-list via API
<?php
require_once('api/Router_API_class.php');
$API = new routeros_api();
$API->debug = false;
if($mac){
if ($API->connect($ip_rep, $user_api, $pass_api)) { // Change this as necessery
//Adiciona POP acess-list
$API->write('/interface/wireless/access-list/add
=forwarding=no
=disabled=no
=authentication=yes
=interface='.$pop.'
=comment='.$UserName.'
=mac-address='.$mac.'');
$ARRAY = $API->read();
// print_r($ARRAY);
$API->disconnect();
}
}
?>
Re: Mikrotik API + PHP + Mysql
Galera, esse é o posto certo, ativo API no /ip/services do mikrotik, ok !
Após este passo não entendi como proceder, preciso fazer... criar um arquivo em php ?
Estou um pouco perdido neste início, se alguém puder me orientar neste começo !
Meu objetivo é criar um solução prática para controle interno conforme minhas necessidades!
Qualquer tipo de ajuda será bem vinda, desde já fico grato a todos !
Re: Mikrotik API + PHP + Mysql
estou com o mesmo problema! a api não esta coletando informações do mysql!
Re: Mikrotik API + PHP + Mysql
Citação:
Postado originalmente por
betopcx
Galera, esse é o posto certo, ativo API no /ip/services do mikrotik, ok !
Após este passo não entendi como proceder, preciso fazer... criar um arquivo em php ?
Estou um pouco perdido neste início, se alguém puder me orientar neste começo !
Meu objetivo é criar um solução prática para controle interno conforme minhas necessidades!
Qualquer tipo de ajuda será bem vinda, desde já fico grato a todos !
Este script é para colocar em um arquivo php.
Nesta linha coloca o IP, User e senha do mikrotik.
"if ($API->connect($servidor_mk, $user_api, $pass_api))
Re: Mikrotik API + PHP + Mysql
Desculpe a ignorância, mas qual a função deste API que está sendo postado aqui no tópico? Pelo que vi os códigos são só para conectar ao MK.
A pergunta é a seguinte: Eu posso desenvolver em php uma página capaz de eu poder adicionar clientes, mudar planos, bloquear, etc... ??
Gostei desse tópico...
Re: Mikrotik API + PHP + Mysql
Bom noite, nao sei muito sobre php... mas ja tentou printar as variaveis pra ver o q esta sendo retornado do banco de dados?
o meu aki com variaveis esta funcionando
<?php
$endereco = '192.168.0.1' ;
$usuario = 'testeapi' ;
$senha = 'testeapi' ;
require('routeros_api.class.php');
$API = new routeros_api();
$API->debug = false;
if ($API->connect($endereco, $usuario, $senha)) {
Re: Mikrotik API + PHP + Mysql
Galera, boa tarde.
Alguém aí sabe/tem o comando (via API) para ler um arquivo de 'file' e imprimir na tela?
Re: Mikrotik API + PHP + Mysql
Boa noite pessoal, tive uma experiência bem parecida com a do colega que iniciou o tópico, e se bem entendi ele quer que o login seja feito via MySQL ao selecionar o servidor em uma página antes, consegui fazer algo parecido, fiz um select optgroup onde o valor era o IP e o nome dado a esse valor era o nome do servidor, para que eu soubesse qual servidor eu gostaria de acessar
E funcionou perfeitamente, meu conselho é que faça o optgroup com um while do seu banco de dados com a tabela onde guardas os dados dos servidores, e tenham um usuário e senha definidos como padrão na routerboard, onde ficaria mais fácil a integração pois vc só faria a API receber o IP do servidor, pois nome e senha já estariam definidas na página que exibiria tal função desejada! Espero ter ajudado! Abraços!