[INFO] opendd, ein DynDNS-Client

Ok, das sind für mich dann auch mal wieder neue Erkentnisse mit libcrypto, dachte bisher dass man es bis vor ein paar Monaten noch ganz meiden musste und jetzt evtl. gar nicht mehr.

Bei mir bezog sich alles auf OpenDD. Ich habe von 5 auf 2 Domains bei dyndns.com reduziert (wird ja demnächst von 5 auf 2 gestellt). Ich nutze eine Domain für den Zugang zur Box und den zweiten für SIP von extern auf meiner 2. PVC. Mir würde schon eine Box reichen wo man von Hand die Optionen einträgt, sonst muss ich ja immer auf die Konsole, wird zwar nicht so oft vorkommen, ist aber doch umständlicher als es sein müsste.

Die dritte Domain muss ich mir wegen der neuen Regelung wohl von einem anderen Anbieter holen. Und es fühlt sich einfach nicht gut an meine Hauptdomain für gelegentlich wechselnde Dienste / Kollegen / Bekannte zu benutzen um mal was zu übertragen oder zu empfangen. Bei denen weiß ich nicht wie sie es mit deren Sicherheit halten. So lösche ich einfach eine Domain wo mir nichts dran liegt wenn die Hackerattacken anfangen

Gruß

Nimrod
 
...
Bei mir bezog sich alles auf OpenDD. Ich habe von 5 auf 2 Domains bei dyndns.com reduziert (wird ja demnächst von 5 auf 2 gestellt). ...

Mir würde schon eine Box reichen wo man von Hand die Optionen einträgt, ...

Die dritte Domain muss ich mir wegen der neuen Regelung wohl von einem anderen Anbieter holen.
...
5 Domains bei dyndns.com, funktionieren mit OpenDD ohne Probleme. D. h. Du musst weder reduzieren, noch dir einen 2. Anbieter holen. Wenn Du einen Inet-Anschluss mit täglich wechselnder öffentlicher IP-Adresse hast, kann ich dir meine OpenDD-Version am WE, per Patch zukommen lassen. Die Konfiguration wird mit Hilfe des Freetz-WEB-IF durchgeführt. Die Aktualisierung erfolgt automatisch über onlinechanged.
 
Zuletzt bearbeitet:
Ja noch sind 5 kostenlose möglich. Logg dich mal ein und dann wirst du einen großen roten Hinweis sehen dass sich das demnächst ändern wird. Deine Konfig probiere ich gerne aus, ich nehme mal an dass du die bei dir dann auch in onlinechanged eingetragen hast da es bei OpenDD keine erweiterten Einstellmöglichkeiten gibt.
 
Ja noch sind 5 kostenlose möglich. Logg dich mal ein und dann wirst du einen großen roten Hinweis sehen dass sich das demnächst ändern wird.
OK, mit 2 Konfigurationsdateien kann OpenDD auch 2 verschiedene dyndns-Provider bedienen. Muss mal schauen wie man das rc.opendd-Script, dafür evtl. anpassen kann.

..., ich nehme mal an dass du die bei dir dann auch in onlinechanged eingetragen hast da es bei OpenDD keine erweiterten Einstellmöglichkeiten gibt.
In onlinechanged muss man nichts eintragen, denn das onlinechanged-Script ist im OpenDD-Paket enthalten.

EDIT:
Von noip gibt es noch 5 kostenlose Host-Namen: >>> klick <<<.

EDIT 2:
Nach dem Auschecken und vor dem Patchen musst Du den Ordner "make/opendd", inkl. Inhalt, löschen.
Patch im Anhang:
Code:
:~/myfreetz/freetz5859/freetz-trunk> patch -p0 < opendd_011010.patch.txt
patching file make/opendd/Config.in
patching file make/opendd/external.files
patching file make/opendd/external.in
patching file make/opendd/external.services
patching file make/opendd/files/root/etc/default.opendd/opendd.cfg
patching file make/opendd/files/root/etc/default.opendd/opendd_pem.def
patching file make/opendd/files/root/etc/init.d/rc.opendd
patching file make/opendd/files/root/etc/onlinechanged/start_opendd
patching file make/opendd/files/root/usr/lib/cgi-bin/opendd.cgi
patching file make/opendd/Makefile.in
patching file make/opendd/opendd.mk
patching file make/opendd/patches/100_Makefile.patch
patching file make/opendd/patches/110_util_c.patch
patching file make/opendd/patches/120_setproctitle_h.patch
patching file make/opendd/patches/130_setproctitle_c.patch
patching file make/opendd/patches/142_opendd_c.patch
patching file make/opendd/patches/150_opendd_h.patch
patching file make/opendd/patches/160_main_c.patch
patching file make/opendd/files/.language
opendd.pem kannst Du aus der "freetz-trunk/source/target-mipsel_uClibc-0.9.29/opendd/opendd.pem"-Datei entnehmen.
Meine anonymisierte Konfigurationsdatei:
Code:
servername = members.dyndns.org
hostname = ##xxxx##.mine.nu, #######.mine.nu
username = xxxxxxxxxxxxxx
password = xxxxxxxxxxxxxxxxxxxxxxxx
[COLOR="Red"]use_ssl = 1[/COLOR]
cert_path = /var/tmp/flash/opendd/opendd.pem
runasdaemon = 0
use_syslog = 1
syslog_facility = daemon
[COLOR="Red"]system_user = <uid>
system_group = <gid>[/COLOR]
pidfile_path = /var/run/opendd.pid
pollfrequency = 30000
domain_lifetime = 28
##wildcard = 1
##mx = test.dyndns.org
##backupmx = 1
offline = 0
#mailfrom = ###########
#mailto = ###############
#smtpservername = ##################
#smtpauthuser = ##################
#smtpauthpwd = ##############

EDIT 3:
Das Log eines erfolgreichen Updates mit der 2. opendd.conf bei no-ip.com:
Code:
Oct  3 13:03:46 fritz daemon.info opendd[1577]: -- running OpenDD 0.7.9 in normal mode
Oct  3 13:03:46 fritz daemon.info opendd[1577]: dyndns() : established external or dummy ip address : 78.###.###.##
Oct  3 13:03:46 fritz daemon.info opendd[1577]: main() : getting my ip address : 78.###.###.##
Oct  3 13:03:46 fritz daemon.info opendd[1577]: dyndns() : Setting SSL trust certificate store to /var/tmp/flash/opendd/opendd.pem
Oct  3 13:03:47 fritz daemon.err opendd[1577]: Warning : certificate cannot be verified with trust store : unable to get issuer certificate locally
Oct  3 13:03:47 fritz daemon.err opendd[1577]: Warning : peer certificate name verification failed for dynupdate.no-ip.com : commonName mis-match : *.no-ip.com
Oct  3 13:03:47 fritz daemon.info opendd[1577]: dyndns() :[COLOR="Red"] connected to dynupdate.no-ip.com:443[/COLOR]
Oct  3 13:03:47 fritz daemon.info opendd[1577]: dyndns() : GET /nic/update?system=dyndns&hostname=####.#####.net,######.sytes.net,#####.#####.net,######.sytes.net&offline=NO&myip=78.###.###.## HTTP/1.0
Oct  3 13:03:48 fritz daemon.info opendd[1577]: listen_response() : HTTP/1.1 200 OK
Oct  3 13:03:48 fritz daemon.info opendd[1577]: listen_response() : Date: Sun, 03 Oct 2010 11:03:47 GMT
Oct  3 13:03:48 fritz daemon.info opendd[1577]: listen_response() : Server: Apache/2
Oct  3 13:03:48 fritz daemon.info opendd[1577]: listen_response() : Content-Location: update.php
Oct  3 13:03:48 fritz daemon.info opendd[1577]: listen_response() : Vary: negotiate
Oct  3 13:03:48 fritz daemon.info opendd[1577]: listen_response() : TCN: choice
Oct  3 13:03:48 fritz daemon.info opendd[1577]: listen_response() : X-Powered-By: PHP/5.1.6
Oct  3 13:03:48 fritz daemon.info opendd[1577]: listen_response() : Content-Length: 79
Oct  3 13:03:48 fritz daemon.info opendd[1577]: listen_response() : Connection: close
Oct  3 13:03:48 fritz daemon.info opendd[1577]: listen_response() : Content-Type: text/plain; charset=UTF-8
Oct  3 13:03:48 fritz daemon.info opendd[1577]: listen_response() : good 78.###.###.##
Oct  3 13:03:48 fritz daemon.info opendd[1577]: listen_response() : The update was successful, and the hostname is now updated.
Oct  3 13:03:48 fritz daemon.info opendd[1577]: listen_response() : good 78.###.###.##
Oct  3 13:03:48 fritz daemon.info opendd[1577]: listen_response() : The update was successful, and the hostname is now updated.
Oct  3 13:03:48 fritz daemon.info opendd[1577]: listen_response() : good 78.###.###.##
Oct  3 13:03:48 fritz daemon.info opendd[1577]: listen_response() : The update was successful, and the hostname is now updated.
Oct  3 13:03:48 fritz daemon.info opendd[1577]: listen_response() : good 78.###.###.##
Oct  3 13:03:48 fritz daemon.info opendd[1577]: listen_response() : The update was successful, and the hostname is now updated.
Oct  3 13:03:49 fritz daemon.info opendd[1577]: listen_response() : [COLOR="Red"]mail report sent ![/COLOR]
Oct  3 13:03:49 fritz daemon.info opendd[1577]: dyndns() : connection closed
Oct  3 13:03:49 fritz daemon.info opendd[1577]: main() : dyndns() exit normally
 

Anhänge

  • opendd_011010.patch.txt
    23.1 KB · Aufrufe: 9
  • opendd.jpeg
    opendd.jpeg
    148 KB · Aufrufe: 27
  • opendd_pem.jpeg
    opendd_pem.jpeg
    147.1 KB · Aufrufe: 20
Zuletzt bearbeitet:
Es muss kein Zufall gewesen sein. Wenn ich cuma richtig verstanden habe, ist opendd aus dem trunk, von "checkip.dyndns.org" abhängig...

Ich habe opendd nun seit gut drei Wochen zuverlässig am laufen. Mein Problem war tatsächlich die Option von "Get_IP": --extquery (Abfrage von extern). Ich habe diese Option nun entfernt, wodurch "Get_IP" ja mit dem Standardwert -w (--webcm) arbeitet, was problemlos funktioniert. Eventuell sollte man die als "default" voreingestellte Option "--extquery" raus nehmen, und diese stattdessen leer lassen (was ja dem Default "-w" entspricht, und bei den meisten Problemlos funktionieren sollte).

Wo ich grad am schreiben bin: Im Web-If von opendd sind mir noch ein par Tippfehler aufgefallen, siehe Screenshot:
 

Anhänge

  • openndd-webif.JPG
    openndd-webif.JPG
    130.8 KB · Aufrufe: 46
"Get_IP" ja mit dem Standardwert -w (--webcm) arbeitet, was problemlos funktioniert. Eventuell sollte man die als "default" voreingestellte Option "--extquery" raus nehmen

Beide Optionen haben Vor- und Nachteile. "webcm" funktioniert nicht, wenn die Box auf der opendd läuft nicht selbst die Verbindung aufbaut und die IP kennt. "extquery" funktioniert nur wenn eine Internetverbindung besteht. Da "onlinechanged" ausgeführt wird, wenn die Verbindung aufgebaut wurde, müsste es eigentlich am besten funktionieren.



Bitte erweitern: http://trac.freetz.org/wiki/packages/opendd
 
Zuletzt bearbeitet:
Ich hatte (zum probieren) auf der Konsole Get_IP mit allen möglichen Optionen aufgerufen, und bekam dort mit --extquery bei zwei von drei Versuchen keine IP zurück, bzw. es dauerte solange, dass mich meine Ungeduld STRG - C drücken ließ. Die restlichen Optionen lieferten mir dabei immer innerhalb von ein bis zwei Sekunden zuverlässig die richtige IP zurück (während des Tests bestand die Internetverbindung dabei durchgehend).
Eigentlich sollte --extquery (wie Du ja schon sagtest) immer funktionieren, nur kam es bei mir halt mehrfach vor, das opendd hängen blieb weil es die IP nicht ermitteln konnte.
Aufgrund der Ergebnisse vom Test mit Get_IP in der Konsole bin ich dann eben auf den "Default" gegangen (also leeres Optionsfeld), und habe seitdem keine Probleme mehr mit opendd.

Das Problem liegt (zumindest bei mir) nicht an opendd, sondern an Get_IP mit der Option --extquery, warum auch immer.
 
Mir hat das mit get_ip -e keine Ruhe gelassen, weswegen ich mir heute morgen nochmal gedanken dazu gemacht habe:
Könnte es sein, dass get_ip -e deshalb (bei mir) so oft nicht funktioniert hat, da (auf meiner Box) quasi gleichzeitig (bzw. unmittelbar davor) diese Option schon von "reload vsftpd" auch genutzt wird, also die Abfragen zu schnell aufeinander folgen?
Code:
...
Nov  6 04:28:14 fritz user.notice info: Reload VSFTPD due IP-change
Nov  6 04:28:14 fritz user.notice info: Run OpenDD after IP-change.
...

[ EDIT: Bei vsftpd hat das Ermitteln der IP bisher immer funktioniert (für pasv_address), und hier wird ja auch get_ip -e verwendet. ]
 
Zuletzt bearbeitet:
Ich kann das nachvollziehen. Wenn ich oft und schnell hintereinander die IP Abfrage passiert irgednwann das:
Code:
root@fritz:/# wget -O - http://checkip.dyndns.org
Connecting to checkip.dyndns.org (91.198.22.xx:80)
wget: no response from server
Gruß
Oliver
 
...
[ EDIT: Bei vsftpd hat das Ermitteln der IP bisher immer funktioniert (für pasv_address), und hier wird ja auch get_ip -e verwendet. ]
Wer verwendet nach dem onlinechanged-Ereignis (immer) als 1., "get_ip -e"? vsftpd oder opendd?
 
Nach #107 wird es wohl vsftpd sein.

Gruß
Oliver
 
Das könnte dann eine Erklärung sein, warum:
Code:
Bei vsftpd hat das Ermitteln der IP bisher immer funktioniert ...
 
Genau, vsftpd steht im Log immer oben, ist also erster (siehe dazu auch den Ausschnitt aus dem Log in #107).

Vorschlag (ist hier eventuell OT):
Wäre es nicht sinnvoll, dass get_ip als eigenständiges Eregniss für Onlinechanged auszuführen (eventuell über eigenes cgi, in dem man einstellen kann, mit welcher Option das geschehen soll), die IP-Adresse irgendwo in einer Datei zu speichern, und für alle Paket, die die IP benötigen, aus dieser Datei abzurufen?
Somit müsste die IP nur einmalig von get_ip beim Resync ermittelt werden, und könnte von allen Paketen (wie zum Beispiel vsftpd, opendd, BOX-Info, usw.) genutzt werden.
 
Wenn das beschriebene Problem auftritt, wäre es auf jeden Fall sinnvoll, und effizienter wäre es allemal, als jedes Mal die Adresse über eine externe Verbindung abzufragen.
 
Hier eine Variante von opendd, ohne Abfrage der Adresse über eine externe Verbindung:
 

Anhänge

  • opendd.patch.txt
    24.6 KB · Aufrufe: 13
Zumindest bei DynDNS ist es sowieso nicht notwendig, die eigene IP-Adresse anzugeben. Wenn man das nicht tut, wird die Adresse genommen, von der die Anfrage kommt.
 
D. h. dass der Client nicht richtig konfiguriert ist und deshalb kein update macht.
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.