Script - DDNSupdater.sh

Fragen oder Probleme?
feissmaik
Entwickler Team
Beiträge: 2576
Registriert: So 17. Apr 2011, 11:39
Been thanked: 1 time
Kontaktdaten:

Script - DDNSupdater.sh

Beitrag von feissmaik »

letzte aktualisierung: 10:40 - 18.11.2011
===================================================================================================

DynamicDNSupdater - supports: DynDNS.org, NO-IP.com, DYNServ.ca and IPActive.de

Dieses Script pingt regelmässig die IP der DNS-host und vergleicht sie mit der aktuellen IP des Internetanschlusses und eine aktuallisierung (update) erfolgt nur wenn diese voneinander abweichen also unterschiedlich sind.
Es besteht somit nicht die Gefahr von DynDNS wegen Flood gesperrt zu werden wie es bei anderen Scripts/Plugins leider vorkommt!

Bei Bedarf kann von der Aktuallisierung auch ein Logfile in /tmp geschrieben werden.
Für den IP Abgleich werden 2 verschiedene Adressen abgefragt; falls die Hauptadresse von DynDNS nicht zu erreichen ist, wird stattdessen myip.ch abgefragt.

Es können auch verschiedene Dienste genutzt werden um mehrere DNS-Hosts zu nutzen, einfach Script kopieren, umbenennen, konfigurieren und erneut starten...


Router machen nur ein Abgleich/Update wenn sie sich einwählen aber dann nicht mehr. Das heisst wenn es ein Problem gab versuchen sie es nicht noch mal sondern erst wieder wenn er sich erneut eingewählt hat..
Deshalb ist es oft sinnvoll DDNSupdater, ddclient, inadyn oder tuxdns zusätzlich zu nutzen wobei es mit ddclient oder inadyn manch mal leider auch Probleme gibt und man dort am Code nichts verändern kann wie zb eine andere Adresse eintragen worüber die IP ermittelt wird..
Vom DDNSupdater gibt es auch eine v2 die sich um mehrere verschiedene DYN-amic-DNS Hosts kümmern kann und auch eine EMail verschickt usw

===================================================================================================

...Weiterentwicklung vom dynDNSupdater...
Dateianhänge
DDNSupdater.zip
v1.07
(3.32 KiB) 279-mal heruntergeladen
Du musst nicht kämpfen um zu siegen
Dirkusg
IPC Neuling
Beiträge: 31
Registriert: Sa 29. Okt 2011, 20:45
Kontaktdaten:

Re: Script - DDNSupdater.sh

Beitrag von Dirkusg »

Hallo,
wie kann ich 2 Ddns Hosts anlegen?
Das stand zwar irgendwo in der installation, leider finde ich das nicht mehr.

Gruß Dirk
feissmaik
Entwickler Team
Beiträge: 2576
Registriert: So 17. Apr 2011, 11:39
Been thanked: 1 time
Kontaktdaten:

Re: Script - DDNSupdater.sh

Beitrag von feissmaik »

Das steht oben im Script
# DynamicDNSupdater - supports: DynDNS.org, NO-IP.com, DYNServ.ca and IPActive.de
#
# Es koennen auch verschiedene Dienste genutzt werden um mehrere DNS-Hosts
# zu nutzen, einfach Script kopieren, umbenennen, konfigurieren und erneut starten...

Das Script legt in /var/emu/script/ ... Also erstmal in das Verzeichniss wechseln: cd /var/emu/script
Dann das derzeitige Script kopieren und einen anderen File-Namen geben: cp DDNSupdater.sh DDNSupdater2.sh
Nun noch den CONFIG Abschnitt am Anfang des Scripts anpassen: nano DDNSupdater2.sh
Bei Bedarf einen neuen Symlink anlegen: ln -s /var/emu/script/DDNSupdater2.sh /sbin/ddns2
...Und dann entsprechend das Script ausführen...
Du musst nicht kämpfen um zu siegen
Dirkusg
IPC Neuling
Beiträge: 31
Registriert: Sa 29. Okt 2011, 20:45
Kontaktdaten:

Re: Script - DDNSupdater.sh

Beitrag von Dirkusg »

Jo aber bei manchen dauerts eben was länger.
Und anscheinend ist es mit kopieren, umbennen und konfigurieren für nen Dummuser nicht getan.
Denn wenn ich mich an die Beschreibung im script halte:
# -------------------------------------------------------------- #
# >>> >> > DO NOT MESS WiTH ANYTHiNG BELOW THiS LiNE! < << <<< #
# -------------------------------------------------------------- #
(Heißt für mich: Ab hier nix mehr ändern.)
Funktionierts dann nicht.

Erst wenn ich folgende Einstellung darunter änder hats dann geklappt.

IPCddnslinkname="ddns"

Erfolg macht Freude. :-)
feissmaik
Entwickler Team
Beiträge: 2576
Registriert: So 17. Apr 2011, 11:39
Been thanked: 1 time
Kontaktdaten:

Re: Script - DDNSupdater.sh

Beitrag von feissmaik »

mmh wie bist du denn vorgegangen?

IPCddnslinkname wird eigentlich nur für die Hilfe und für den Fall dass es nicht in /var/emu/script/ liegt, benötigt...
Alles weitere wird über den tatsächlichen Namen des Script ($srcn) festgelegt und da man das Script ja umbennen muss, heisst es dann auch anders als das Original-Script
Ein 'link'name wird (mit IPC) nur erstellt wenn das (umbenannte) Script nicht in /var/emu/script/ liegt und ausgeführt wird

..aber ich glaub mir fällt gerade auf was du gemacht haben könntest... hab das Script grad nochmal etwas angepasst um das auch zu berücksichtigen...
Spoiler
Show

Code: Alles auswählen

[...]
IPCddnssrc="/var/emu/script/$srcn"
IPCddnslinkname="ddns"

if [ -f "/sbin/$IPCddnslinkname" ]; then
	LinksCount=$(ls /sbin/${IPCddnslinkname}* | wc -l)
	((++LinksCount))
	IPCddnslinkname="ddns$LinksCount"
fi
[...]
Du musst nicht kämpfen um zu siegen
feissmaik
Entwickler Team
Beiträge: 2576
Registriert: So 17. Apr 2011, 11:39
Been thanked: 1 time
Kontaktdaten:

Re: Script - DDNSupdater.sh

Beitrag von feissmaik »

erm ne.... das macht noch mehr Probleme und ich hab dafür heute eigentlich keine Zeit also hat die Bequemlichkeit hier nun ein Ende und ihr kopiert das bitte manuell......
Du musst nicht kämpfen um zu siegen
Dirkusg
IPC Neuling
Beiträge: 31
Registriert: Sa 29. Okt 2011, 20:45
Kontaktdaten:

Re: Script - DDNSupdater.sh

Beitrag von Dirkusg »

Ja, lass das mal so. Ich denke ich bin da doch die Aussnahme und da muss man nichts dran ändern.
Wie Du schon sagtest : Jeder sollte da auch mal selber dran arbeiten.
Learning by doing.

Aber zur Erklärung was ich gemacht habe.Script nach /tmp/ kopier und umbenannt. Dann gestartet.
Das script läuft durch. Alles OK. Aber wenn ich ddns Status abrufe fragt er immer nur das zuletzt installierte ab.
Was mir nicht hilft. Denn ich kann die anderen über den ddns Status nicht abrufen.
So habe ich dann den IPCddnslinkname auch umbenannt.
Damit kann ich dann jeden ddns Zustand einzelln abrufen.

Gruß
feissmaik
Entwickler Team
Beiträge: 2576
Registriert: So 17. Apr 2011, 11:39
Been thanked: 1 time
Kontaktdaten:

Re: Script - DDNSupdater.sh

Beitrag von feissmaik »

Der Link von /sbin/ddns verweisst ja auch auf /var/emu/escript/DDNSupdater.sh also dem ersten Script - dh wenn du "ddns" eingibst wird auch dieser Link angesprochen...
Wenn man für das 2.Script auch so einen Kurzbefehl möchte, musste dir den Symlink halt entsprechend anlegen
Du musst nicht kämpfen um zu siegen
dArk4psyco
IPC Neuling
Beiträge: 17
Registriert: So 5. Feb 2012, 18:17
Kontaktdaten:

DDNS force update

Beitrag von dArk4psyco »

Gibt es bei diesem Script auch eine Funktion "force update"?
Bei einer festen Ip wird diese längere Zeit nicht bei bei Dyndns aktualisiert weil der DDNSupdater es nicht vorsieht.
Irgendwann meldet sich doch DYNDNS ob sie den Host löschen weil die Adresse nicht aktualisiert wird.
Oder gibt es einen bestimmten Intervall bei dem "DDNS now" ausgeführt wird?
feissmaik
Entwickler Team
Beiträge: 2576
Registriert: So 17. Apr 2011, 11:39
Been thanked: 1 time
Kontaktdaten:

Re: Script - DDNSupdater.sh - force update

Beitrag von feissmaik »

"now" forced ein update ... macht es also jetzt (now)

wenn du zb eine static ip hast kannst du das einmal am tag über die crontab ( i jobs ) ansprechen lassen zb so:

Code: Alles auswählen

0 6 * * *	root /sbin/ddns now	#DynDNS update (Taeglich um 06:00)
oder das script direkt ansprechen:

Code: Alles auswählen

0 6 * * *	root /var/emu/script/DDNSupdater.sh now	#DynDNS update (Taeglich um 06:00)
i.d.R. reicht es aber auch einmal die Woche

Code: Alles auswählen

0 6 * * 1	root /var/emu/script/DDNSupdater.sh now	#DynDNS update (Montags um 06:00)
beachte aber das ein zu oftes updaten innerhalb kürzester zeit zu einem abuse also sperrung der dyndns führt (also nicht jede minute "now" ausführen!)
Du musst nicht kämpfen um zu siegen
Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste