@media screen and (min-width: 580px) { .flotantewhatsapp{ display:none; } }

Compartir por WhatsApp

mikrotik-gestion-via-comando-y-scripts-1

Mikrotik: Gestión vía comando y scripts

Mikrotik: Gestión vía comando y scripts

Una de las ventajas de tener un router Mikrotik, es que puedes explotar su sistema RouterOS con comandos y scripts.

Hoy os traigo diferentes comandos y scripts que podéis usar con vuestro router Mikrotik.

Para poder lanzar comandos, lo podéis hacer conectándoos vía SSH o desde las consolas de gestión en el apartado “New Terminal“:

mikrotik-gestion-via-comando-y-scripts-1

Comandos básicos Mikrotik

A continuación, os doy un listado básico de comandos para Mikrotik:

Nombre del Comando Descripción Ejemplos
/interface print Muestra todas las interfaces del dispositivo. /interface print
/interface print detail
/interface print where name="ether1"
/ip address add Agrega una dirección IP a una interfaz. /ip address add address=192.168.88.1/24 interface=ether1
/ip address add address=192.168.1.100/24 interface=ether2 comment="Local Network"
/ip address add address=10.0.0.1/8 interface=ether3 disabled=no
/user add Agrega un nuevo usuario al sistema. /user add name=admin2 password=strongpassword group=full
/user add name=guest group=read-only password=temp123
/user add name=test disabled=yes
/file print Lista todos los archivos en el sistema. /file print
/file print detail
/file print where type="backup"
/system reboot Reinicia el dispositivo. /system reboot
/system reboot after=00:01:00
/system reboot comment="After system upgrade"
/system reset-configuration Restablece el dispositivo a la configuración de fábrica. /system reset-configuration
/system reset-configuration no-defaults=yes
/system reset-configuration skip-backup=yes
/ip firewall filter add Agrega una regla al firewall. /ip firewall filter add chain=input action=accept protocol=icmp
/ip firewall filter add chain=forward action=drop connection-state=invalid
/ip firewall filter add chain=input action=drop in-interface=ether1 src-address=192.168.0.0/16
/ip route add Agrega una ruta estática. /ip route add dst-address=0.0.0.0/0 gateway=192.168.88.1
/ip route add dst-address=192.168.100.0/24 gateway=ether2
/ip route add dst-address=10.10.10.0/24 gateway=10.0.0.2 check-gateway=ping
/tool bandwidth-test Realiza una prueba de ancho de banda. /tool bandwidth-test address=192.168.1.2
/tool bandwidth-test address=192.168.1.2 duration=30s
/tool bandwidth-test address=192.168.1.2 upload=yes download=yes
/system scheduler add Programa una tarea para ejecutarse automáticamente. /system scheduler add name=restart interval=1w on-event="/system reboot"
/system scheduler add name=nightly_backup interval=1d start-time=00:00:00 on-event="/system backup save name=daily-backup"
/system scheduler add name=update_check interval=1d on-event="/system package update check-for-updates"

Comandos avanzados Mikrotik

Os dejo unos cuantos comandos avanzados:

Nombre del Comando Descripción Ejemplos
/interface bridge add Crea un nuevo bridge para conectar múltiples redes. /interface bridge add name=bridge1
/interface bridge add name=bridge-local protocol-mode=none
/interface bridge add name=bridge-vlan protocol-mode=rstp
/ip firewall mangle add Utilizado para modificar los paquetes a medida que pasan por el firewall. /ip firewall mangle add chain=prerouting action=mark-connection new-connection-mark=conn_mark1 passthrough=yes src-address=192.168.1.0/24
/ip firewall mangle add chain=output action=mark-packet new-packet-mark=pkt_mark1 connection-mark=conn_mark1
/ip firewall mangle add chain=forward action=change-ttl new-ttl=set:64
/tool netwatch add Configura monitoreo de red para ejecutar scripts en eventos de cambio de estado de host. /tool netwatch add host=8.8.8.8 interval=1m timeout=1s down-script="/interface disable ether1"
/tool netwatch add host=192.168.1.100 interval=30s up-script="/log info 'Host is back online'"
/tool netwatch add host=192.168.88.1 interval=10s down-script="/system reboot"
/routing bgp peer add Configura un peer BGP para intercambiar rutas con sistemas autónomos externos. /routing bgp peer add remote-address=192.0.2.1 remote-as=64512
/routing bgp peer add name=bgp-peer1 remote-as=64513 update-source=ether1
/routing bgp peer add remote-address=198.51.100.5 remote-as=64514 in-filter=myfilter
/queue tree add Configura colas para gestionar el ancho de banda con alta precisión. /queue tree add name=global-out parent=global total-bandwidth=10M
/queue tree add name=user-htb parent=global-out packet-mark=user_mark limit-at=2M max-limit=5M priority=8
/queue tree add name=guest-htb parent=global-out packet-mark=guest_mark limit-at=1M max-limit=3M priority=8
/ip route vrf add Crea una VRF (Virtual Routing and Forwarding) para la segmentación del tráfico. /ip route vrf add routing-mark=customer1
/ip route vrf add routing-mark=customer2 interfaces=ether2,ether3
/ip route vrf add routing-mark=customer3 route-distinguisher=65000:100

Scripts para Mikrotik

Antes de implementar cualquier script de estos en Producción, si podéis, probarlo en un entorno controlado como una máquina virtual con RouterOS si no tenéis otro equipo físico.

Os dejo unos cuantos scripts interesantes básicos:

Nombre del Script Descripción Ejemplo de Script
Backup Automático Realiza un backup de la configuración del router y lo guarda en el dispositivo. /system backup save name=auto-backup
Reiniciar Router Reinicia el router a una hora específica cada día. /system scheduler add name="Reboot at midnight" start-time=00:00:00 interval=1d on-event="/system reboot"
Actualizar IP Actualiza la dirección IP de una interfaz específica. /ip address add address=192.168.88.2/24 interface=ether2
Monitor de Ancho de Banda Registra el uso de ancho de banda y lo guarda en un archivo. /tool bandwidth-test address=192.168.88.1 direction=both
Cambio de Contraseña Cambia la contraseña de un usuario específico automáticamente. /user set [find name=admin] password=newpassword
Habilitar/Desactivar Interfaz Habilita o desactiva una interfaz de red a una hora programada. /interface ethernet disable ether1
Bloqueo de Acceso a Internet Bloquea el acceso a Internet para un rango de IP en horarios específicos. /ip firewall filter add chain=forward action=drop src-address=192.168.88.0/24 time=8h-16h,mon,tue,wed,thu,fri
Envío de Email de Notificación Envía un email automático con información del sistema o alertas. /tool e-mail send to="email@example.com" subject="Router Status" body=[/system health get temperature]

Un listado de scripts más avanzados:

Nombre del Script Descripción Ejemplo de Script
Verificación de Conectividad Verifica la conectividad a Internet. Si falla, reinicia la interfaz WAN. if ([/ping 8.8.8.8 count=10] = 0) then={ /interface ethernet disable ether1; /interface ethernet enable ether1;}
Backup y Envío por Email Crea un backup de la configuración y lo envía por email. /system backup save name="backup"; /tool e-mail send file="backup.backup" to="email@example.com" subject="Backup MikroTik" body="Attached is the MikroTik backup file."
Limpiar Registros Antiguos Limpia los registros más antiguos para evitar el uso excesivo de espacio de almacenamiento. /system logging action set memory lines=100; /log print where time < jan/01/2023; /log remove [find time < jan/01/2023];
Control de Ancho de Banda Dinámico Ajusta el límite de ancho de banda de una interfaz basado en la hora del día. :if ([/system clock get time] > "18:00:00" && [/system clock get time] < "23:00:00") do={ /queue simple set [find name="user-queue"] max-limit=5M/5M; } else={ /queue simple set [find name="user-queue"] max-limit=10M/10M; }
Actualización Automática de Reglas de Firewall Actualiza las reglas de firewall basándose en una lista de IPs maliciosas obtenidas de un servicio externo. /tool fetch url="http://example.com/bad_ips.txt" mode=http; :foreach i in=[/file find name="bad_ips.txt"] do={ /ip firewall address-list add list=blacklist address=([/file get $i contents]);}
Monitor de Temperatura y Alertas Monitorea la temperatura del router y envía alertas si supera un umbral. :local temp [/system health get temperature]; :if ($temp > 65) do={ /tool e-mail send to="admin@example.com" subject="Alerta de temperatura alta" body=("Alerta: La temperatura del sistema es de: " . $temp); }
Reconfiguración Automática de IP Cambia la dirección IP de una interfaz si la conectividad falla múltiples veces. :local counter 0; :while ($counter < 3) do={ :if ([/ping 8.8.4.4 count=1] = 0) do={ :set counter ($counter + 1); } else={ :set counter 0; } }; :if ($counter = 3) do={ /ip address set [find interface=ether1] address=192.168.1.2/24; }
Rotación de Logs Automatiza la rotación de logs para mantener el sistema organizado y eficiente. /system script run log-rotate; :log info "Log rotation executed."; /file remove [find name~"log.*.txt"];

Cómo cargar y ejecutar scripts en MikroTik

Para usar estos scripts en tu MikroTik, debes cargarlos en el sistema y luego ejecutarlos manualmente o programarlos para que se ejecuten automáticamente. Aquí te explico cómo hacerlo:

  1. Acceder a MikroTik via WinBox o SSH.
  2. Ir a System -> Scripts.
  3. Crear un nuevo script:
    • Haz clic en el botón “+” para añadir un nuevo script.
    • Asigna un nombre y pega el código del script en el campo “Source”.
  4. Guardar el script haciendo clic en “OK”.
  5. Ejecutar el script manualmente o usar el “Scheduler” para ejecutarlo automáticamente según sea necesario.

Utilizar scripts en MikroTik puede ayudarte a simplificar la gestión y el mantenimiento de tu red, haciendo que tareas repetitivas o complejas sean manejadas automáticamente de manera eficiente.

¿Te ha gustado la entrada SÍGUENOS EN TWITTER O INVITANOS A UN CAFE?

El Blog de Negu

Acerca de Raul Unzue Pulido

Administrador de sistemas virtuales e infraestructuras IT, linuxero y entusiasta de la tecnología.

Compruebe también

mikrotik-usar-disco-ssd-en-rb5009-1

Mikrotik: usar disco SSD en RB5009

Mikrotik: usar disco SSD en RB5009 Hoy os vamos a explicar como aprovechar un disco …

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

dos × 2 =

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.

ACEPTAR
Aviso de cookies
Blog Maquinas Virtuales - El Blog de Negu