DNS Beacon
Πίνακας ελέγχουΣύνδεση

DynDNS στο MikroTik RouterOS: ρύθμιση βήμα προς βήμα

Τα router MikroTik δεν διαθέτουν client DynDNS2 — η λειτουργία IP Cloud επικοινωνεί μόνο με την υπηρεσία της ίδιας της MikroTik. Με ένα μικρό script RouterOS και τον scheduler, το router σας καλεί παρ' όλα αυτά μόνο του την ενημέρωση του DNS Beacon και παραμένει προσβάσιμο με μόνιμο hostname ακόμη και όταν αλλάζει η WAN IP. Δείτε πώς να το ρυθμίσετε.

Βήμα προς βήμα

  1. Στο WinBox, στο System → Scripts (ή στο τερματικό μέσω /system script add), δημιουργήστε ένα νέο script με όνομα dnsbeacon και policies read, write, test. Επικολλήστε ως source τις δύο γραμμές script από τον παρακάτω πίνακα και αντικαταστήστε το ether1 με τη διεπαφή WAN σας, καθώς και τα <email> και <api-key> με το email του λογαριασμού σας και ένα κλειδί API από τον πίνακα ελέγχου.
  2. Στο System → Scheduler προσθέστε ένα χρονοδιάγραμμα που εκτελεί το script κάθε 5 λεπτά — η εντολή scheduler από τον πίνακα το κάνει σε μία γραμμή στο τερματικό. Ο scheduler χρειάζεται τα ίδια policies με το script.
  3. Εκτελέστε το script μία φορά χειροκίνητα (Run Script ή /system script run dnsbeacon). Στο αρχείο καταγραφής εμφανίζεται «dnsbeacon: good <IP>» — ή nochg αν η IP είναι ήδη σωστή. Από εδώ και πέρα ο scheduler κρατά το hostname αυτόματα ενημερωμένο.

Ρυθμίσεις προς εισαγωγή

System → Scripts και System → Scheduler (WinBox ή τερματικό)

Διεπαφή WAN:
η διεπαφή με τη δημόσια IP, π.χ. ether1 ή pppoe-out1 (αντικαταστήστε το ether1 στο script)
Hostname:
myhouse.dnsfollowme.uk
Όνομα χρήστη:
η διεύθυνση email σας (<email> στο script)
Κωδικός πρόσβασης:
το κλειδί API σας (<api-key> στο script)
Script, γραμμή 1:
:local a [/ip address get [find interface=ether1] address]; :local ip [:pick $a 0 [:find $a "/"]]
Script, γραμμή 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:
Στη γραμμή 1 αντικαταστήστε το /ip address με /ipv6 address και το [find interface=ether1] με [find interface=ether1 global]· στη γραμμή 2 στείλτε &myipv6=$ip αντί για &myip=$ip.

Το RouterOS δεν έχει ενσωματωμένο client DynDNS2 — το IP Cloud επικοινωνεί μόνο με την υπηρεσία της ίδιας της MikroTik. Γι' αυτό την ενημέρωση αναλαμβάνει ένα script δύο γραμμών: η γραμμή 1 διαβάζει την IP της διεπαφής WAN, η γραμμή 2 καλεί το /nic/update μέσω /tool fetch με HTTP basic authentication και γράφει την απάντηση στο αρχείο καταγραφής. Σε DSL/PPPoE η διεπαφή WAN συνήθως λέγεται pppoe-out1. Πίσω από CGNAT/DS-Lite η WAN IP είναι ιδιωτική και ούτως ή άλλως μη προσβάσιμη μέσω IPv4 — τότε στείλτε αντ' αυτού myipv6 με την καθολική διεύθυνση IPv6. Ισχύει για RouterOS 7 (και 6.45+).

IPv4 ή IPv6;

Οι παραπάνω τιμές ενημερώνουν τη διεύθυνση IPv4 (εγγραφή A) — η συνήθης περίπτωση σε συνδέσεις με δική τους δημόσια IPv4. Για IPv6 (εγγραφή AAAA) η συσκευή στέλνει επιπλέον ή αντ' αυτού την παράμετρο &myipv6=<IPv6>. Το πώς γίνεται αυτό σε αυτή τη συσκευή αναφέρεται στη γραμμή «IPv6» του πίνακα.

DS-Lite ή CGNAT (πολλές καλωδιακές συνδέσεις και συνδέσεις οπτικής ίνας): το router τότε δεν έχει δημόσια IPv4, και η υπηρεσία απορρίπτει μια ιδιωτική διεύθυνση WAN με «abuse». Σε αυτή την περίπτωση στείλτε μόνο myipv6 — ή χρησιμοποιήστε τον client DNS Beacon απευθείας στη συσκευή-στόχο, που εντοπίζει μόνος του και τις δύο οικογένειες διευθύνσεων.

Χρειάζεστε πρώτα ένα δωρεάν hostname;

Δημιουργήστε έναν δωρεάν λογαριασμό DNS Beacon, προσθέστε ένα hostname και δημιουργήστε ένα κλειδί API — μετά επιστρέψτε και ολοκληρώστε την παραπάνω ρύθμιση.

Δημιουργία δωρεάν λογαριασμού

Πίσω σε όλους τους οδηγούς ρύθμισης