mopskiller
Goto Top

DynDNS Dienst mit Mikrotik Router OS 6.4

Hallo alle zusammen,

ich habe hier einen Mikrotik Router, der unter einer DynDNS Adresse erreichbar gemacht werden soll. Jetzt meine, so dachte ich, simple Frage: Wie richte ich dies auf dem Mikrotik ein? Ich habe bereits einige Anleitungen mit Skripten gefunden, die ich jedoch nicht wirklich verstehe (also die Skripte, nicht die Anleitungen) :D
Gibt es da keine einfachere Möglichkeit? Ich weiß, der Vergleich hinkt mehr als an einer Stelle, aber ich musste mal einer FritzBox DynDNS mitgeben, das war damals relativ einfach. Wie gesagt, ich weiß, dass ein Mikrotik Router keine FritzBox ist aber trotzdem kann ich mir nicht so richtig vorstellen, dass der Mikrotik keine eingebaute Funktion dafür hat...

Oder denke ich an dieser Stelle zu einfach?

Gruß
Mopskiller

Content-ID: 346856

Url: https://administrator.de/contentid/346856

Ausgedruckt am: 24.11.2024 um 21:11 Uhr

133883
133883 21.08.2017 aktualisiert um 17:02:12 Uhr
Goto Top
Der Mikrotik hat seinen eigenen DDNS Dienst mit an Bord unter /ip cloud.
Willst du andere Dienste nutzen musst du die Skriptvariante nehmen!
Und was soll daran so schwer sein ...?!
Gut wenn man vorher Frittenkost gewohnt war ist einem Programmieren natürlich fremd, dafür bist du aber ungemein flexibel wenn man mal was anpassen muss. That's it my friend.

Gruß
Mopskiller
Mopskiller 21.08.2017 um 17:09:15 Uhr
Goto Top
Ich danke dir auf jeden Fall erst einmal.

Ja, ich muss zugeben, das ich vorher tatsächlich "Frittenkost" gewöhnt war und nun mehr oder weniger das erste mal mit Mikrotik arbeiten. Dementsprechend tu ich mich sehr schwer, die vorhandenen Skripts zu verstehen, von selber schreiben brauch ich hier gar nicht reden... Das ich an dieser Stelle flexibler bin will ich auch nicht abstreiten, nur hast du recht: Das Programmieren von solchen Dingen ist mir durchaus fremd, daher hatte ich die kleine Hoffnung, dass es einfacher geht. Aber nun gut, scheinbar nicht.

Hast du einen Link parat, wo dieses Thema ordentlich und zuverlässig erklärt wird, so dass es evtl. auch jemand versteht, der in diesem Thema neu ist?

Grüße
133883
Lösung 133883 21.08.2017 aktualisiert um 17:12:04 Uhr
Goto Top
Mopskiller
Mopskiller 22.08.2017 um 08:59:36 Uhr
Goto Top
Ich danke dir. Und keine Sorge, ich habe das schon über die SuFu gefunden, aber ich hab auch noch paar andere Dinger gefunden und wusste nicht genau, was jetzt genau empfehlenswert ist ;)
Ich werd mich jetzt mal daran probieren, mal sehen ob ich es hinbekomme...

Grüße
aqui
aqui 22.08.2017 um 10:18:26 Uhr
Goto Top
Und warum nicht erstmal ip clound ? Ist für einen Klicki Bunti FritzBüx Knecht ggf. erstmal etwas einfacher:
https://wiki.mikrotik.com/wiki/Manual:IP/Cloud
Mopskiller
Mopskiller 22.08.2017 um 11:13:33 Uhr
Goto Top
Wir haben bereits einen eigenen DynDNS (ja ich weiß, DynDNS ist eine Sache für sich, aber das war und ist leider nicht meine Entscheidung) Account und daher soll am Ende eigentlich DynDNS stehen.

Aber grundsätzlich ist das ganze natürlich keine schlechte Idee. Hast du bereits Erfahrungen mit ip cloud gemacht? Funktioniert das ganze auch mit NAT?

Grüße
133883
133883 22.08.2017 um 13:19:44 Uhr
Goto Top
Funktioniert das ganze auch mit NAT?
Ja das tut es.
Mopskiller
Mopskiller 22.08.2017 aktualisiert um 16:06:48 Uhr
Goto Top
Hab mich jetzt auch mit IPCloud etwas auseinandergesetzt. So gesehen kein schlechtes Ding, aber eine Frage hab ich doch noch: Hab ich einfach nichts gefunden oder unterstützt das von Haus aus (immer noch) nicht die Nutzung von mehreren WAN Anschlüssen? Also nicht, dass das jetzt negativ wäre, ich meine am Ende ist es immerhin kostenlos. Würde mich nur mal interessieren...

Grüße
133883
133883 22.08.2017 aktualisiert um 17:16:01 Uhr
Goto Top
Nun da der Dienst hier das Default Gateway zur Ermittlung nutzt und auf eine Instanz beschränkt ist logisch dass es hier nur einen Eintrag gibt.
Über einen MetaROUTER auf dem Mikrotik könntest du eine zweite Instanz starten, aber mal ehrlich, das ist völliger Overkill und mit einem minimal modifizierten Skript leicht umzusetzen. Du siehst, Skripting hat seine Vorteile, also beschäftige dich damit und du wirst begeistert sein was sich damit so alles umsetzen lässt. Zumal die Programmiersprache an einem Mittag gelernt ist, Link siehe oben.
Mopskiller
Mopskiller 22.08.2017 um 17:27:35 Uhr
Goto Top
Jap, hab mich mittlerweile auch mit beschäftigt ;) Und ja, ist schon toll. Ich hab ja auch nie gesagt, dass ich mich nicht mit beschäftigen will. Ich hab die ganze Einrichtung des Mikrotiks bisher auch immer per Skript gelöst, allerdings ist das ja eine ganze Spur einfacher als der Rest.
Wie dem auch sei, da ich beiden WAN Interfaces eine eigene Adresse zuweisen will, fällt IP Cloud natürlich raus. Trotzdem danke für die Inspiration an dieser Stelle face-smile Den Rest mit zwei Skripten und DynDNS zu erledigen sollte ich jetzt wohl hoffentlich hinbekommen.

Danke euch!
Grüße
133883
133883 23.08.2017 um 09:56:38 Uhr
Goto Top
Na dann bitte noch den Haken dran.
Mopskiller
Mopskiller 23.08.2017 aktualisiert um 11:35:57 Uhr
Goto Top
Mmh, es soll irgendwie doch nicht so richtig klappen, vielleicht könnt ihr mir nochmal helfen.
Ich habe jetzt sowohl Skript, als auch Scheduler eingerichtet. Dachte ich jedenfalls. Das Skript wird aber nicht vom Scheduler ausgeführt, zumindest steigt der Counter beim Scheduler an, der beim Skript allerdings nicht. Wenn ich das Skript dann manuell starte passiert aber leider auch nicht. Zumindest bleibt mein Log unverändert.
Hier das Skript:

# Set needed variables
:local username "theusernamename"  
:local password "thepasswordword"  
:local waninterface "ether1"  
:local ddnshost blabla.dyndns.org

:global dyndnsForce

# Initialize needed variables
# Possible format of ipfresh: 192.168.100.100/24
:local ipddns [:resolve $ddnshost];
:local ipfresh [ /ip address get [/ip address find interface=$waninterface ] address ]

# print some debug info
log info ("Current IP on $waninterface = $ipfresh")  
log info ("Current IP of $ddnshost = $ipddns")  


:if ([ :typeof $ipfresh ] = nil ) do={
   :log warning ("DynDNS: No ip address on $waninterface . Check it!")  
} else={
	:for i from=( [:len $ipfresh] - 1) to=0 do={ 
		:if ( [:pick $ipfresh $i] = "/") do={   
			:set ipfresh [:pick $ipfresh 0 $i];
	   } 
	}
	log info ("Formatted current IP on $waninterface = $ipfresh")  

	:if (($ipddns != $ipfresh) || ($dyndnsForce = true)) do={
		
		:log info ("DynDNS: IP-DynDNS = $ipddns")  
		:log info ("DynDNS: IP-Fresh = $ipfresh")  
		:log info "DynDNS: Update IP needed, Sending UPDATE...!"  
		
		:global str "/nic/update\?hostname=$ddnshost&myip=$ipfresh&wildcard=NOCHG&mx=NOCHG&backmx=NOCHG"  
		:set dyndnsForce false
		/tool fetch address=members.dyndns.org src-path=$str mode=http user=$username \
			password=$password dst-path=("/DynDNS.".$ddnshost)  
		
		:delay 1
		
		:global str [/file find name="DynDNS.$ddnshost"];  
		/file remove $str
		:global ipddns $ipfresh
		
		:log info "DynDNS: IP updated to $ipfresh!"  
		
	} else={
    :log info "DynDNS: dont need changes";  
	}
} 

Und hier der Schedulereintrag für das Terminal:

/system scheduler add comment="" disabled=no interval=15m name=dyndns_update_ether1 on-event=\  
    dyndns_update_script_ether1 start-date=jan/01/1970 start-time=00:00:00 policy=\
		ftp,reboot,read,write,policy,test,winbox,password,sniff,sensitive,api
/system scheduler add comment="" disabled=no interval=1d name=dyndns_force_update_start on-event=\  
    dyndns_force_update_script start-date=jan/01/1970 start-time=02:00:00 policy=\
		ftp,reboot,read,write,policy,test,winbox,password,sniff,sensitive,api

Sieht jemand den Fehler?

Grüße