DNS Beacon
PanelIniciar sesión

DynDNS en MikroTik RouterOS: configuración paso a paso

Los routers MikroTik no traen cliente DynDNS2: la función IP Cloud solo habla con el servicio propio de MikroTik. Con un pequeño script de RouterOS y el scheduler, tu router llama igualmente por sí mismo a la actualización de DNS Beacon y sigue accesible con un nombre de host permanente, aunque cambie la IP WAN. Así se configura.

Paso a paso

  1. En WinBox, en System → Scripts (o en el terminal con /system script add), crea un script nuevo llamado dnsbeacon con las políticas read, write, test. Pega como source las dos líneas del script de la tabla de abajo y sustituye ether1 por tu interfaz WAN, y <email> y <api-key> por el correo de tu cuenta y una clave API del panel.
  2. En System → Scheduler, añade una tarea que ejecute el script cada 5 minutos: el comando del scheduler de la tabla lo hace en una sola línea en el terminal. El scheduler necesita las mismas políticas que el script.
  3. Ejecuta el script una vez a mano (Run Script o /system script run dnsbeacon). En el registro aparece «dnsbeacon: good <IP>», o nochg si la IP ya es correcta. A partir de ahora el scheduler mantiene el nombre de host actualizado automáticamente.

Valores a introducir

System → Scripts y System → Scheduler (WinBox o terminal)

Interfaz WAN:
interfaz con la IP pública, p. ej. ether1 o pppoe-out1 (sustituye ether1 en el script)
Hostname:
myhouse.dnsfollowme.uk
Usuario:
tu correo electrónico (<email> en el script)
Contraseña:
tu clave API (<api-key> en el script)
Script, línea 1:
:local a [/ip address get [find interface=ether1] address]; :local ip [:pick $a 0 [:find $a "/"]]
Script, línea 2:
:local r [/tool fetch url="https://api.dnsbeacon.com/nic/update?hostname=myhouse.dnsfollowme.uk&myip=$ip" user="<email>" password="<api-key>" output=user as-value]; :log info ("dnsbeacon: " . ($r->"data"))
Scheduler:
/system scheduler add name=dnsbeacon interval=5m on-event=dnsbeacon policy=read,write,test
IPv6:
En la línea 1 sustituye /ip address por /ipv6 address y [find interface=ether1] por [find interface=ether1 global]; en la línea 2 envía &myipv6=$ip en lugar de &myip=$ip.

RouterOS no incluye un cliente DynDNS2: IP Cloud solo habla con el servicio propio de MikroTik. Por eso un script de dos líneas se encarga de la actualización: la línea 1 lee la IP de la interfaz WAN y la línea 2 llama a /nic/update mediante /tool fetch con autenticación HTTP básica y escribe la respuesta en el registro. Con DSL/PPPoE la interfaz WAN suele ser pppoe-out1. Tras CGNAT/DS-Lite la IP WAN es privada y de todos modos inaccesible por IPv4: envía entonces myipv6 con la dirección IPv6 global. Válido para RouterOS 7 (y 6.45+).

¿IPv4 o IPv6?

Los valores de arriba actualizan la dirección IPv4 (registro A), el caso normal en conexiones con IPv4 pública propia. Para IPv6 (registro AAAA) el dispositivo envía además o en su lugar el parámetro &myipv6=<IPv6>. Cómo hacerlo en este dispositivo está en la fila «IPv6» de la tabla.

DS-Lite o CGNAT (muchas conexiones de cable y fibra): el router no tiene IPv4 pública y el servicio rechaza una dirección WAN privada con «abuse». En ese caso envía solo myipv6, o usa el cliente DNS Beacon directamente en el equipo de destino, que detecta ambas familias de direcciones por sí mismo.

¿Aún no tienes un nombre de host gratuito?

Crea una cuenta gratuita de DNS Beacon, añade un nombre de host y genera una clave de API; después vuelve y completa la configuración de arriba.

Crear cuenta gratuita

Volver a todas las guías