Scripts MikroTik: Descubre un servidor DHCP desconocido en red

Configurar el descubrimiento de un servidor DHCP desconocido en la red y enviar una notificación a Telegram o correo electrónico. El nombre de la interfaz DHCP en la que se encuentra el servidor, se envían las direcciones IP y MAC del dispositivo no autorizado.

A veces sucede cuando un empleado conecta la situación a la red local de la empresa, un enrutador personal, con el servidor DHCP habilitado, lo que puede causar problemas al conectar nuevas direcciones IP de dispositivos en la red local. Es posible que los problemas no se detecten de inmediato, pero cuando expire la concesión de direcciones IP.

Para una notificación rápida de la aparición de un servidor DHCP no autorizado en la red local, utilice la configuración Alerts en configuración del servidor DHCP.

Artículo en otros idiomas:
?? – MikroTik Scripts: Discover Unknown DHCP Server on the Network
?? – MikroTik Скрипты: Обнаружение неизвестного DHCP сервера в сети
?? – Scripts MikroTik: Découverte d’un serveur DHCP inconnu sur le réseau
?? – MikroTik-Skripte: Erkennen Sie unbekannte DHCP-Server im Netzwerk
?? – MikroTik-scripts: Detectie van een onbekende DHCP-server op het netwerk

Crear alerta

Datos iniciales:

  • Interface: bridge1-lan – Nombre de la interfaz del servidor DHCP;
  • Valid Servers: 64:D1:54:52:6C:36 – Dirección MAC de la interfaz del servidor DHCP (bridge1-lan);
  • Alert Timeout: 10 minutos – intervalo para verificar un servidor DHCP no autorizado y enviar una notificación.

Configurar una advertencia:

[IP] -> [DHCP Server] -> [Alerts] -> [+] -> [Interface: bridge1-lan] -> [Valid Servers: 64:D1:54:52:6C:36] -> [Alert Timeout: 00:10:00]

Recomiendo llamar al script de prueba en la ventana de alerta, en lugar de colocar el texto del script. Si los scripts se colocan en un lugar [System] -> [Scripts], mejora la usabilidad del dispositivo que colocar los scripts en ciertas configuraciones del dispositivo.

Código de llamada de script:

/system script run DiscoverUnknownDHCPServer
Crear alerta de servidor DHCP

Script: descubra un servidor DHCP desconocido y envíe un mensaje en Telegram

Para enviar un mensaje de Telegram, utilizo la llamada a la función – Mikrotik Scripts: envío de notificación de encendido a Telegram

Ejemplo de mensaje de advertencia de Telegram
Ejemplo de notificación de Telegram de MHelp.pro

Creemos un script:

[System] -> [Scripts] -> [+] -> [Name: DiscoverUnknownDHCPServer] -> [Policy: read, write, polisy, test]

Código de secuencia de comandos:

# Find DHCP Alert 
:local CurrentTime [/system clock get time];
:local MsgID [/log find where message ~"dhcp alert" time =$CurrentTime];
:local MsgText [/log get number=$MsgID message];

# Send Telegram Message
:local DeviceName [/system identity get name];
:local MessageText "\F0\9F\94\B4 <b>$DeviceName: UNKNOWN DHCP SERVER FOUND! </b> Info: $CurrentTime $MsgText";
:local SendTelegramMessage [:parse [/system script  get MyTGBotSendMessage source]];
$SendTelegramMessage MessageText=$MessageText;
Scripts MikroTik: Descubre un servidor DHCP desconocido en red

Script: descubra un servidor DHCP desconocido y envíe un mensaje por correo electrónico

Para enviar un mensaje de Telegram, utilizo la llamada a la función – Scripts MikroTik: Envío de notificaciones y archivos por correo electrónico (función)

Ejemplo de correo electrónico de advertencia
Sample notification email from MHelp.pro

Creemos un script:

[System] -> [Scripts] -> [+] -> [Name: DiscoverUnknownDHCPServer] -> [Policy: read, write, polisy, test]

Esta secuencia de comandos no utiliza la carga de archivos, por lo que al parámetro FileName se le asigna un valor vacío «».

Código de secuencia de comandos:

# Find DHCP Alert 
:local CurrentTime [/system clock get time];
:local MsgID [/log find where message ~"dhcp alert" time =$CurrentTime];
:local MsgText [/log get number=$MsgID message];

# Send Email
:local DeviceName [/system identity get name];
:local Time [/system clock get time];
:local Date [/system clock get date];

:local SendTo "mail@mail.com";
:local Subject "\F0\9F\94\B4 CRITICAL: $DeviceName [$Date $Time] UNKNOWN DHCP SERVER FOUND!";
:local MessageText "$MsgText";
:local FileName "";

:local SendEmail [:parse [/system script get SendEmailFunction source]];
$SendEmail SendTo=$SendTo TextMail=$MessageText Subject=$Subject FileName=$FileName;
Script: descubra un servidor DHCP desconocido y envíe un mensaje al correo

Script en una línea

Envío de una notificación sobre un servidor DHCP desconocido en Telegram:

/tool fetch url="https://api.telegram.org/bot<BotToken>/sendMessage\?chat_id=<GroupID>&text=Unknown DHCP server on interface: $interface (IP: $address, MAC:$"mac-address")" keep-result=no;

Envío de una notificación sobre un servidor DHCP desconocido al correo electrónico:


/tool e-mail send to=dest_mail@mail.com server=[:resolve "smtp.mail.com"] port=465 start-tls=tls-only user="my_mail@mail.com" password="Pa$$woRD"  from="my_mail@mail.com" subject="$[/system identity get name] UNKNOWN DHCP SERVER FOUND!" body="Unknown DHCP server on interface: $interface (IP: $address, MAC:$"mac-address")"

? En este artículo se discutió cómo descubrir la aparición de un servidor DHCP desconocido en la red local (un problema en redes pequeñas) y enviar una notificación en Telegram o correo electrónico. Espero que una forma rápida de averiguar sobre un servidor DHCP no autorizado en la red local le permitirá responder más rápido y facilitar su trabajo. Sin embargo, si tiene algún problema durante la configuración, no dude en escribir en los comentarios. Trataré de ayudar.

Se verifica el script: hAP ac lite [RouterBOARD 952Ui-5ac2nD], RouterOS 6.47.8 (estable).

Deja un comentario