DNS Beacon
Tableau de bordSe connecter

DynDNS sur MikroTik RouterOS : configuration pas à pas

Les routeurs MikroTik n'embarquent pas de client DynDNS2 : la fonction IP Cloud ne dialogue qu'avec le service propre de MikroTik. Avec un petit script RouterOS et le scheduler, votre routeur appelle malgré tout lui-même la mise à jour DNS Beacon et reste accessible sous un nom d'hôte permanent, même si l'IP WAN change. Voici comment le configurer.

Étape par étape

  1. Dans WinBox, sous System → Scripts (ou dans le terminal via /system script add), créez un nouveau script nommé dnsbeacon avec les politiques read, write, test. Collez comme source les deux lignes de script du tableau ci-dessous et remplacez ether1 par votre interface WAN, ainsi que <email> et <api-key> par l'e-mail de votre compte et une clé API du tableau de bord.
  2. Sous System → Scheduler, ajoutez une tâche qui exécute le script toutes les 5 minutes : la commande scheduler du tableau le fait en une ligne dans le terminal. Le scheduler a besoin des mêmes politiques que le script.
  3. Lancez le script une fois à la main (Run Script ou /system script run dnsbeacon). Le journal affiche « dnsbeacon: good <IP> », ou nochg si l'IP est déjà correcte. Désormais, le scheduler maintient le nom d'hôte à jour automatiquement.

Valeurs à saisir

System → Scripts et System → Scheduler (WinBox ou terminal)

Interface WAN:
interface portant l'IP publique, p. ex. ether1 ou pppoe-out1 (à mettre à la place de ether1 dans le script)
Hostname:
myhouse.dnsfollowme.uk
Nom d'utilisateur:
ton adresse e-mail (<email> dans le script)
Mot de passe:
ta clé API (<api-key> dans le script)
Script, ligne 1:
:local a [/ip address get [find interface=ether1] address]; :local ip [:pick $a 0 [:find $a "/"]]
Script, ligne 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:
Ligne 1 : remplacez /ip address par /ipv6 address et [find interface=ether1] par [find interface=ether1 global] ; ligne 2 : envoyez &myipv6=$ip au lieu de &myip=$ip.

RouterOS n'a pas de client DynDNS2 intégré : IP Cloud ne dialogue qu'avec le service propre de MikroTik. Un script de deux lignes s'occupe donc de la mise à jour : la ligne 1 lit l'IP de l'interface WAN, la ligne 2 appelle /nic/update via /tool fetch avec une authentification HTTP basique et écrit la réponse dans le journal. En DSL/PPPoE, l'interface WAN s'appelle généralement pppoe-out1. Derrière un CGNAT/DS-Lite, l'IP WAN est privée et de toute façon injoignable en IPv4 : envoyez alors myipv6 avec l'adresse IPv6 globale. Valable pour RouterOS 7 (et 6.45+).

IPv4 ou IPv6 ?

Les valeurs ci-dessus mettent à jour l'adresse IPv4 (enregistrement A), le cas normal sur les accès disposant d'une IPv4 publique. Pour l'IPv6 (enregistrement AAAA), l'appareil envoie en plus ou à la place le paramètre &myipv6=<IPv6>. La ligne « IPv6 » du tableau indique comment procéder sur cet appareil.

DS-Lite ou CGNAT (nombreux accès câble et fibre) : le routeur n'a alors pas d'IPv4 publique, et le service refuse une adresse WAN privée avec « abuse ». Dans ce cas, envoyez uniquement myipv6, ou utilisez le client DNS Beacon directement sur l'appareil cible : il détecte lui-même les deux familles d'adresses.

Pas encore de nom d'hôte gratuit ?

Créez un compte DNS Beacon gratuit, ajoutez un nom d'hôte et générez une clé d'API, puis revenez terminer la configuration ci-dessus.

Créer un compte gratuit

Retour à tous les guides