API MIKROTIK – Como optimizar tu administracion con un poco de PHP (introduccion)

 

Vengo aprovechando a pleno esta GRAN posibilidad que nos dio Mikrotik de poder programar nuestros propios scripts, y de mostrar la informacion de manera que nos quede comodo administrar varios servidores y en lo posible en una sola pantalla.

.

Este era mi escenario de antes de usar el API:
Aqui tengo la administracion de distintos routers PPPoE Servers, y a su ves cada router esta conectado a distintos Access Points, ya sean Mikrotik (2,4Ghz) o Ubiquiti(5,8Ghz).
Siempre fue engorroso tener que entrar a cada AP para agregar o quitar un MAC Address de un equipo cliente. Lo mismo con los usuarios y contraseñas de los clientes PPPoE. Bueno, ni hablar de tomar un reclamo telefónico  por mas que sepamos la localidad de donde nos llama el cliente, hay que pensar en:

  • a «Que equipo AP» esta asociado,
  • si esta con Wireless 2,4Ghz o 5,8 o cable,
  • Cual es la direccion IP del equipo wireless, etc

Por desgracia todas las topologias y redes son distintas, entonces es extremadamente dificil encontrar un sistema que tenga lo que nosotros necesitamos. Ademas cada sysadmin tiene su manera de configurarle al cliente: esta el que routea, el que bridgea, ip fija o dinamica.. y miles de posibilidades mas.
Hay otros que tienen redes bastante híbridas, con un poco de hotspot otro de IP Fija y PPPoE; Yo digo que, en esos casos seria aun mas practico administrarlos en una sola pantalla sin tener que recorrer el Winbox de una punta a la otra o mejor aun, sin tener que darle un usuario del Winbox a ningún técnico.
Veo constantemente en el foro gente que busca programas de facturación y o soporte, o prueban algo y no les gusta. A no ser que sea un software realmente grande y robusto (que seguro lo debe haber). Pero de todos modos, volvemos a lo mismo de siempre, es bastante difícil encontrar un software adecuado a nuestra medida porque si es grande y robusto seguro es complejo.

Todo cambia con un poco de imaginación cuando llega el famoso API.
Veamos algunos ejemplos de lo que se podría hacer:

Tareas comunes:
Altas, Bajas, Modificaciones de velocidad, cambio de titular, etc.

Este donde este ubicado el cliente, asociamos el nro de IP del router y AP con la localidad. Entonces al hacer click sobre el cliente, sin pensar donde esta, te trae sus datos. Desde datos de Wireless (sin importar si usa mikrotik o ubiquiti), hasta datos de autenticacion,  log si esta desconectado y grafica si esta loggeado.
Es muy bueno saber si el cliente le esta errando la contraseña o esta filtrado por mac en el PPP, y para eso mikrotik es malisimo, porque te tira un log de miles de lineas que pasa rapidisimo y no podes encontrar nada. Para este caso lo que hice fue filtrarlo por cliente. entonces podemos ver en detalle que le esta pasando.
Aqui les dejo un pantallazo; y en mis proximos posts les voy a detallar un poco mas de como funciona.

systema_soporte

API MIKROTIK Segunda parte – Usando el API con PHP

API MIKROTIK Tercera parte – Nuestro primer ejemplo (codigo abierto)

API MIKROTIK – Crear queues simples con PHP (con validacion)

_____________________

Nicolas tech-nico.com

33 Comentarios

  1. Hola LUIS. Si si voy a empezar a postear de a poquito. Me gustaria ir armando scripts por separado para que cualquier persona se pueda armar digamos «a la carta» su propio escritorio de soporte. A vos particularmente que parte te interesaría mas? (asi comienzo posteando por ahi). Saludos. Nicolas.

  2. Amigo según tu conocimiento de la API de Mikrotik se podría realizar un script para que usando DHCP+Radius pueda generar el Accounting de dichos usuarios?

  3. Hola buenas, estaría interesado en que me pasaras bastante información sobre la API de Mikrotik en PHP si podría ser, te dejo mi correo para que te pongas en contacto conmigo, gracias de antemano y un saludo

  4. Me parece muy interesante tu blog, me gustaria que me ayudaras con mas ejemplos del codigo de tus paginas para administrar el mikrotik a traves del api yo he querido crear o modificar un proyecto para mis necesidades, dame una mano amigo ponte en contacto conmigo por mi correo. gracias de antemano por tus buenos aportes

  5. Podrian por favor ayudarme a poder crear paso a paso mi aplicativo para gestionar mis clientes y de la misma forma ellos puedan checar sus consumos? se los agradecere bastante.

  6. Hola amigo, me gustaría que me pasaras la plantilla web que nos has mostrado en la captura o que nos digas con que software la has realizado. Por cierto, excelente trabajo!

  7. Gracias Francisco David, el codigo lo voy a ir posteando en cuotas para que ustedes lo armen a su antojo. En este momento estoy escribiendo para postear lo de las graficas. Te espero de vuelta. Saludos.

  8. Hola Agustin, este API fue desarrollado por Mikrotik, para acceder a sus equipos. Asi que habra que esperar a que Ubiquiti desarrolle su propio API para poder programar nuestras aplicaciones. Lo unico que podes hacer con este API es que si tus equipos Ubiquiti los tenes conectados a algun Switch con RouterOS o tenes como servidor principal, tambien un RouterOS vas a poder ver si el Ubiquiti esta conectado o no, y a que interfaz, que binario tiene. No mas de eso!!. (si accedes a la lista de IP> Neighbords de tus equipos vas a ver que aparecen estos datos). Y ademas como alternativa, si tenes varios Ubiquiti conectados a un AP Mikrotik, ahi si vas a poder controlarlos, y ver su señal CCQ, hasta incluso patearlos para que reconecten.
    Pero, te reitero, no podes controlar ningun equipo Ubiquiti. Lo que he visto en la web, es algunos scripts en perl que manejan el AirOS por consola como si fuera un navegador. Tengo un script en perl que recorre una lista de IP, se loguea, y modifica la contraseña. Pero todavia tiene algunos errores. Te mando un gran saludo.
    Nicolas

  9. Hola! Mi nombre es Martín y soy encargado informático en dos escuelas en San Francisco, Córdoba, Argentina… En las mismas pude colocar routers mikrotik ya que hay muuuchas necesidades que atender (mucho se hace en internet a nivel administrativo, hay que darle internet a los docentes, a los alumnos…) Por tanto me gustaría contar con herramientas webs para poder solucionar problemas desde casa, o incluso algunas para que se autogestionen ellos mismos pero sin tener acceso total al router… En que quedó tu aplicación? haces estos trabajos a Medida? Un Abrazo

  10. Hola Martin, aun sigo interesado en poder armar una versión mas completa. (comencé a reescribir el código de la aplicación). Pero nunca dispongo del tiempo necesario. Te contacto via mail para que me cuentes sobre tu aplicación. Slds.

  11. saludos amigo me podria orientar como debo hacer quiero hacer esto montar el api en un dominio.com pero cuando me quiero conectar al mikrotik via api no conecta de da error que debería hacer en este caso ya que quiero conexión api externa de manera interna me funciona perfectamente

  12. Hola, No hay que hacer nada especial para correrlo en la nube. Solo debuguear para ver donde se produce el error.
    Comenza por el log de tu RouterOS. Luego utiliza modifica en tu codigo la linea $API->debug = false; y ponelo en true para leer que sucede. Eso te va a dar algun indicio de cual es el problema.
    Saludos.

  13. Cordial saludo Nico, estoy interesado en contratar tu asesoria para un proyecto que tenemos de desarrollar una interface con los APIs de Mikrotik, le agradezco nos envie tus datos para ponernos en contacto conusted, mi correo es robinson.martinez@gmail.com. Muchas Gracias

  14. saludos amigo trato de conectate desde la nunves y no puedo me sale esto amigo que solución puedas darme a esto relice lo que dices tu hay mas arriba
    linea $API->debug = false coloque linea $API->debug = true y me dices esto
    Connection attempt #1 to 201.248.97.15:8291… Connection attempt #2 to 201.248.97.15:8291… Connection attempt #3 to 201.248.97.15:8291… Connection attempt #4 to 201.248.97.15:8291… Connection attempt #5 to 201.248.97.15:8291… Error… <<< [22] /ip/hotspot/user/print <<< [22] /ip/hotspot/user/print <<< [24] /ip/hotspot/active/print <<< [19] /queue/simple/print

  15. Hola Martin, me interesado tu sistema para poner implemetarlo en mi pequeño wisp que tengo ya que el problema que tengo es que no me da el tiempo para estar suspendiendo a los clientes.mi mail es emael065@gmail.com para que me cuentes sobre tu aplicación. Slds.

  16. Hola, gracias por todo el aporte. Al igual que varios necesito gestionar todo desde una web. Como no desarrollo web me gustaría saber si contas con el sistema?

2 Trackbacks / Pingbacks

  1. API MIKROTIK Segunda parte – Usando el API con PHP | Blog tech-nico.com
  2. API MIKROTIK – (con php) – Indice general | Blog tech-nico.com

Deja un comentario