A pedido del lector Vitor Monteiro, vamos a presentar un pequeño y facil ejemplo para habilitar o deshabilitar un puerto ethernet con cierto nombre.
¿Como funciona?
Lo que vamos a hacer es definir una variable llamada $name que va a contener el nombre de la interfaz que queremos activar o desactivar. El script verifica primero si ese nombre existe, luego, (si existe), almacenamos «el ID» y si «esta activa o no» en distintas variables. Si esta activa, entonces tomamos el ID y la desactivamos, de lo contrario, la habilitamos.
El codigo es el siguiente:
<?php require_once('api_mt_include2.php'); ?> <?php //////////////////////////////////////////////////////////////////// // ESTE EJEMPLO SE DESCARGO DE www.tech-nico.com /////////////////// // Creado por: Nicolas Daitsch. Guatrache. La Pampa //////////////// // Contacto: administracion@tech-nico.com ////////////////////////// // RouterOS API: Busco interfaz ethernet y la activo o desactivo // //////////////////////////////////////////////////////////////////// $ipRouteros="200.20.30.40"; // tu RouterOS. $Username="blog.tech-nico.com"; $Pass="tupassword"; $api_puerto=8728; $name="ether1"; // -------> aqui el nombre de tu interfaz!! $API = new routeros_api(); $API->debug = false; if ($API->connect($ipRouteros , $Username , $Pass, $api_puerto)) { $API->write("/int/ether/getall",false); $API->write('?name='.$name,true); $READ = $API->read(false); $ARRAY = $API->parse_response($READ); if(count($ARRAY)>0){ // SI LA INTERFAZ EXISTE!! $id_interfaz = $ARRAY[0][".id"]; $disabled = $ARRAY[0]["disabled"]; if ($disabled=="true"){ // SI ESTA DESACTIVADA!! $API->write("/int/ether/enable",false); $API->write("=.id=".$id_interfaz,true); echo '<strong>'.$name.'</strong> esta ahora activada <img alt="" src="icon_led_green.png" /> '; }else{ // SI ESTA ACTIVADA!! $API->write("/int/ether/disable",false); $API->write("=.id=".$id_interfaz,true); echo '<strong>'.$name.'</strong> esta ahora desactivada <img alt="" src="icon_led_grey.png" /> '; } $READ = $API->read(false); }else{ //el servidor API esta of line echo 'Ocurrio un error: '.$ARRAY['!trap'][0]['message']; } }else{ echo "<span style="color: #ff0000;">La conexion ha fallado. Verifique si el Api esta activo.</span>"; } $API->disconnect(); ?>
El resultado es este:
Para descargar el codigo fuente haz click aqui!
Saludos!.
____________________
Publicado Primero en www.tech-nico.com
Muchas gracias por el script 🙂
Un saludo
Buenas Noches, Debo desactivar este ether1, porque se daño en mi Mikrotik. Baje el adjunto y no hay archivo con el formato que dicen que se debe usar para importar vía Winbox. Como lo hago.? Muchas Gracias de Antemano
Olvide adjuntarlo dentro del rar pero podes descargar cualquier otro ejemplo de mi blog. La libreria de RouterOS que incluyo en los ejemplos es siempre la misma.
hola buenas tardes mi router le descargue la actulizacion y se me desactivaron todos los puertos no puedo accesar al wimbox no me lo detecta como le hago para recuperar mi equipo
Hola Carlos, Lamentablemente para configurar este script tenes que tener acceso al equipo. Proba con el boton de reset y si seguís sin acceso descarga el NetInstall y cargale otro firmware.
Hola me hace falta desactivar mediante la web las WLAN de un LHG5 intente cambiar el nombre de la interfaz en script y no funciono le mando por imbox foto de las interfaces saludos y gracias por la ayuda
hola descative una unterface lan y ahora no puedo accesar a wimbox que le puedo hacer?
Si el router no trae display, busca el boton de reset y mantenelo presionado por 10 segundos.
Por favor!! Apagué el ethernet del microtic y no puedo acceder al aparato, ni siquiera me lo reconoce la PC… AYUDA!!
Carlitos, En ese caso vas a tener que resetearlo. Todos los mikortik traen un procedimiento de reset por hardware. Busca algun videlo para el modelo que tengas.
Estimdo su correo para comunicarnos