Routerkonfiguration

Hier finden Sie Konfigurationsbeispiele für verschiedene Routermodelle. Die Werte myhost, myuser, mypass sind zu ersetzen !

 

 

Router: Fritzbox

  • Webinterface:   Internet -> Freigaben -> Dynamic DNS
Einstellungen
Feld Einstellung
Dynamic DNS-Anbieter Benutzerdefiniert

Update-URL

dns.air5.net/upd.php?hostname=<domain>&ip=<ipaddr>

Domainname myhost.air5.net
Benutzername myuser
Kennwort mypass

 


Router: dd-wrt

  • Webinterface: Setup -> DDNS
Einstellungen
Feld Einstellung
DDNS Service Custom
DynDNS Server dns.air5.net
Username myuser
Password mypass
Hostname myname.air5.net
URL /upd.php?hostname=

 

 

 

 

 

 

 


Router: Mikrotik

Getestet mit Version v6.40.8 und interne Namensauflösung des Hosteintrags

  • Winbox | Console:   /system script
:global username "myuser"
:global password "mypass"
:global ddnshost myhost.air5.net
:global ipintdns [:resolve $ddnshost];

:global ipethernet [ /ip address get [/ip address find interface="ether1" ] address ]
:if ([ :typeof $ipethernet ] = nil ) do={
  :log info ("dyndns: Keine IP Adresse auf Schnittstelle ether1 !")
} else={
  :for i from=( [:len $ipethernet] - 1) to=0 do={
    :if ( [:pick $ipethernet $i] = "/") do={
      :set ipethernet [:pick $ipethernet 0 $i];
    }
}

:if ($ipintdns != $ipethernet) do={
  :log info ("dyndns: IP-intDNS = $ipintdns")
  :log info ("dyndns: IP-ether1 = $ipethernet")
  :log info "dyndns: Update wird gesendet.."
  :global url "https://$username:$password@dns.air5.net/upd.php?hostname=$ddnshost&ip=$ipethernet"
  /tool fetch url=$url mode=https dst-path="/dyndns-log.txt"
  :delay 1
  :global url [/file find name="dyndns-log.txt"];
  :global ipintdns $ipethernet
  :log info "dyndns: $ipintdns aktualisiert auf $ipethernet"
} else={
  :log info "dyndns: $ipethernet ist aktuell";
  }
}
  • Console:   /system scheduler
add name=dyndns interval=5m on-event=dyndns start-time=startup

Router: Mikrotik

Getestet mit Version v6.40.8 und externe Namensauflösung des Hosteintrags

Wer zB. den DynDns im internen Netzwerk per Static DNS auf die interne IP des Serverdienstes lenken will, hat das Problem das die Abfrage der aktuellen IP vom Hosteintrag

fehlschlägt, weil die Namensauflösung dann nur mehr auf den internen DNS Eintrag auflöst. Dieses Script löst den DNS extern auf, dazu wird ein Service von Mikrotik selbst verwendet (Cloud).

  • Console:   /ip cloud
/ip cloud set ddns-enabled=yes
  • Winbox | Console:   /system script
:global username "myuser"
:global password "mypass"
:global ddnshost myhost.air5.net
:global ipextdns [/ip cloud get public-address]

:global ipethernet [ /ip address get [find interface="ether1" disabled=no] address ]
:if ([ :typeof $ipethernet ] = nil ) do={
  :log info ("dyndns: Keine IP Adresse auf Schnittstelle ether1 !")
} else={
  :for i from=( [:len $ipethernet] - 1) to=0 do={
    :if ( [:pick $ipethernet $i] = "/") do={
    :set ipethernet [:pick $ipethernet 0 $i];
  }
}

:if ($ipextdns != $ipethernet) do={
  :log info ("dyndns: IP-extDNS = $ipextdns")
  :log info ("dyndns: IP-ether1 = $ipethernet")
  :log info "dyndns: Update wird gesendet.."
  :global url "https://$username:$password@dns.air5.net/upd.php?hostname=$ddnshost&ip=$ipethernet"
  /tool fetch url=$url mode=https dst-path="/dyndns-log.txt"
  :delay 1
  :global url [/file find name="dyndns-log.txt"];
  :global ipextdns $ipethernet
  :log info "dyndns: $ipextdns aktualisiert auf $ipethernet"
} else={
  :log info "dyndns: $ipethernet ist aktuell";
  }
}
  • Console:   /system scheduler
add name=dyndns interval=5m on-event=dyndns start-time=startup

Browser

Auch das aktualisieren/setzen des DNS Eintrags per Internet Browser (Firefox, Internet Explorer, Safari usw..) funktioniert. Um mehr als nur den Statuscode zurück zu erhalten kann hier der optionale Paramater "system" verwendet werden.

https://dns.air5.net/upd.php?username=myname&password=mypass&ip=14.105.148.73&domain=myhost.air5.net&system=browser

dDNS

dDNS ist ein portabler/universeller/Freeware DynDNS Client für Windows, und kann hier heruntergeladen werden. Details zur Konfiguration auf der Herstellerseite.

 

Synology Diskstation

Systemsteuerung > Externer Zugriff > DDNS > Anbieter anpassen

Serviceanbieter: dns.air5.net

Query URL:

https://dns.air5.net/upd.php?username=__USERNAME__&password=__PASSWORD__&ip=__MYIP__&hostname=__HOSTNAME__

 

 


ddclient

Diesen Software Client gibt des für Linux und Windows.

Installation unter Linux (Debian, Ubuntu)

1. ddclient Paket installieren

apt install ddclient

2. Konfigurationsdatei bearbeiten

nano /etc/ddclient.conf
protocol=dyndns2
ssl=yes                            #kann verwendet werden, ist jedoch nicht zwingend
use=web, web=checkip.air5.net      #die aktuelle ip soll von extern aufgelöst werden
server=dns.air5.net
script=/upd.php
login=myname
password='mypass'
myhost.air5.net

bash-script

Vorteil des Bash Script: es wird nur das curl Paket benötigt, keine weiteren Abhängigkeiten.

Akutelle Version Download: 20180516

1. curl installieren

apt-get install curl  # Debian, Ubuntu usw..
yum install curl      # Centos usw..

2. Bashscript herunterladen und einmalig ausführen (dabei wird die Konfigurationsdatei erstellt)

wget "http://dns.air5.net/dl/dyndns-air5.sh" -O /usr/local/bin/dyndns-air5.sh
chmod 700 /usr/local/bin/dyndns-air5.sh
/usr/local/bin/dyndns-air5.sh

Die Ausgabe:

Configuration created   >>> /etc/dyndns/air5.cfg <<<
You must edit username,password,hostname in this file!

3. Scrtipt Variablen (username, password, hostname) anpassen, danach schliessen und speichern [STRG]+[X] -> [Y|J]

nano /etc/dyndns/air5.cfg

4. Manuelles ausführen des Scriptes

/usr/local/bin/dyndns-air5.sh

5. Crontab einrichten (automatisch alle 5 Minuten)

crontab -e

6. Der Crontab Eintrag:

#DynDns check
*/5 * * * * /usr/local/bin/dyndns-air5.sh

 

Wer zum Beispiel täglich (ca. 08:00 Uhr morgens) einen Force-Update durchführen möchte muss dazu einfach das gespeicherte current_ip File löschen. Crontab:

#DynDns Force Update vorbereiten
59 7 * * * rm -f /tmp/current_ip >/dev/null 2>&1

 

Bash Script Update

Beim Update des Scriptes bleibt die Konfiguration erhalten.

wget "http://dns.air5.net/dl/dyndns-air5.sh" -O /usr/local/bin/dyndns-air5.sh && chmod 700 /usr/local/bin/dyndns-air5.sh

curl

Zum testen oder benutzen in einem Bashscript.

curl "https://dns.air5.net?user=myname&pass=mypass&ip=88.162.208.48.23&host=myhost.air5.net"

Andere Router

Sende uns die Konfiguration deines Routers und Sie wird hier erscheinen..

...