DDNS Updater too many requests?
Hi Community,
ich wollte meinen FlexDNS (DDNS) bei "Do.de (Domain-Offensive)" und den OpenDNS (cisco) server per "ddclient" updaten. Leider gibt er mir folgende Fehler aus:
aroth@ddclient:~$ ddclient -file ddns.conf -verbose -debug -foreground
WARNING: file ddns.conf: Cannot open file 'ddns.conf'. (No such file or directory)
stat() on closed filehandle FD at /usr/bin/ddclient line 1471.
Use of uninitialized value $mode in bitwise and (&) at /usr/bin/ddclient line 1472.
-o on closed filehandle FD at /usr/bin/ddclient line 1477.
-w on closed filehandle FD at /usr/bin/ddclient line 1477.
Use of uninitialized value $mode in bitwise and (&) at /usr/bin/ddclient line 1480.
readline() on closed filehandle FD at /usr/bin/ddclient line 1487.
WARNING: file ddns.conf: Cannot open file 'ddns.conf'. (No such file or directory)
stat() on closed filehandle FD at /usr/bin/ddclient line 1471.
Use of uninitialized value $mode in bitwise and (&) at /usr/bin/ddclient line 1472.
-o on closed filehandle FD at /usr/bin/ddclient line 1477.
-w on closed filehandle FD at /usr/bin/ddclient line 1477.
Use of uninitialized value $mode in bitwise and (&) at /usr/bin/ddclient line 1480.
readline() on closed filehandle FD at /usr/bin/ddclient line 1487.
WARNING: file /var/cache/ddclient/ddclient.cache: Cannot open file '/var/cache/ddclient/ddclient.cache'. (Permission denied)
stat() on closed filehandle FD at /usr/bin/ddclient line 1471.
Use of uninitialized value $mode in bitwise and (&) at /usr/bin/ddclient line 1472.
-o on closed filehandle FD at /usr/bin/ddclient line 1477.
-w on closed filehandle FD at /usr/bin/ddclient line 1477.
Use of uninitialized value $mode in bitwise and (&) at /usr/bin/ddclient line 1480.
readline() on closed filehandle FD at /usr/bin/ddclient line 1487.
=== opt ====
opt{cache} : <undefined>
opt{cmd} : <undefined>
opt{cmd-skip} : <undefined>
opt{cmdv4} : <undefined>
opt{cmdv6} : <undefined>
opt{curl} : <undefined>
opt{daemon} : <undefined>
opt{debug} : 1
opt{exec} : <undefined>
opt{facility} : <undefined>
opt{file} : ddns.conf
opt{force} : <undefined>
opt{foreground} : 1
opt{fw} : <undefined>
opt{fw-banlocal} : CODE(0x564232d2c628)
opt{fw-login} : <undefined>
opt{fw-password} : <undefined>
opt{fw-skip} : <undefined>
opt{fw-ssl-validate} : <undefined>
opt{fwv4} : <undefined>
opt{fwv4-skip} : <undefined>
opt{fwv6} : <undefined>
opt{fwv6-skip} : <undefined>
opt{geturl} : <undefined>
opt{help} : <undefined>
opt{host} : <undefined>
opt{if} : <undefined>
opt{if-skip} : CODE(0x564232d2c628)
opt{ifv4} : <undefined>
opt{ifv6} : <undefined>
opt{ip} : <undefined>
opt{ipv4} : <undefined>
opt{ipv6} : <undefined>
opt{list-devices} : CODE(0x564232ef0ee0)
opt{list-protocols} : CODE(0x564232f23c00)
opt{list-web-services} : CODE(0x564232f49e50)
opt{login} : <redacted>
opt{mail} : <undefined>
opt{mail-failure} : <undefined>
opt{max-interval} : 2592000
opt{max-warn} : <undefined>
opt{min-error-interval} : 300
opt{min-interval} : 30
opt{options} : <undefined>
opt{password} : <redacted>
opt{pid} : <undefined>
opt{postscript} : <undefined>
opt{priority} : <undefined>
opt{protocol} : <undefined>
opt{proxy} : <undefined>
opt{query} : <undefined>
opt{quiet} : 0
opt{retry} : <undefined>
opt{server} : <undefined>
opt{ssl} : <undefined>
opt{ssl_ca_dir} : <undefined>
opt{ssl_ca_file} : <undefined>
opt{syslog} : <undefined>
opt{test} : <undefined>
opt{timeout} : <undefined>
opt{use} : <undefined>
opt{usev4} : <undefined>
opt{usev6} : <undefined>
opt{verbose} : 1
opt{web} : <undefined>
opt{web-skip} : <undefined>
opt{web-ssl-validate} : <undefined>
opt{webv4} : <undefined>
opt{webv4-skip} : <undefined>
opt{webv6} : <undefined>
opt{webv6-skip} : <undefined>
=== globals ====
globals{debug} : 1
globals{file} : ddns.conf
globals{foreground} : 1
globals{quiet} : 0
globals{verbose} : 1
=== config ====
=== cache ====
Durch der Zeichenbegrenzung schreibe ich weitere Infos in die Kommentare...
Vielen Dank schonmal
GolanX
3 Antworten
Durch der Zeichenbegrenzung schreibe ich weitere Infos in die Kommentare...
Brauchst du nicht, der Fehler ist doch gleich an erster Stelle zu sehen:
WARNING: file ddns.conf: Cannot open file 'ddns.conf'. (No such file or directory)
Stelle erstmal sicher, dass tatsächlich eine Konfigurations-Datei namens ddns.conf am entsprechenden Ort existiert (da, wo du den Befehl aufrufst) oder gib den entsprechenden abweichenden (eventuell auch absoluten) Pfad bei der Flag "file" an
Ja wahrscheinlich keine leserechte für /etc/ddns.conf
Da wäre die Fehlermeldung anders
Rufst du denn den Befehl auch im Ordner /etc/ auf? Wenn nein, liegt das Problem daran. Gib doch Mal den absoluten Pfad an (also /etc/ddns.conf statt ddns.conf)
Ist /etc/ddns.conf der Standard-Platz für die Konfiguration? Wenn ja, kannst du die Flag doch bestimmt auch komplett weglassen ...
Ist der standard pfad
aroth@ddclient:~$ sudo more /etc/ddclient.conf
[sudo] password for aroth:
# Configuration file for ddclient generated b
y debconf
#
# /etc/ddclient.conf
##
## Domain-Offensive account-configuration
##
daemon=600
cache=/tmp/ddclient.cache
pid=/var/run/ddclient.pid
use=web, web=checkip.dyndns.com/, web-skip='I
P Address'
login=DDNS-Kxxxxx-xxxxx
password=do.depwd
protocol=dyndns2
server=ddns.do.de
aroth97.de
##
## OpenDNS.com account-configuration
##
protocol=dyndns2
use=web, web=myip.dnsomatic.com
ssl=yes
server=updates.opendns.com
login=opendns@accountmail.com
password='opendnspasswort'
home
Warum gibst du dann die Datei explizit an und bist du im Ordner /etc, wenn du den Befehl ausführst?
Stand so in der do.de flexdns anleitung, dachte ich nehm das mal
Zum Debuggen kann der ddclient händisch mit,
ddclient -file ddns.conf -verbose -debug -foreground
gestartet werden und gibt dann viele nützliche Infos auf der Konsole aus.
Do.de hat mich jetzt gesperrt, hatte ich schon aber öfters seit dem versuch ddns einzurichten. ip wurde geupdated aber zu oft… und trotzdem spuckt ddclient munter weiterhin Fehlermeldungen aus :/ Ich versuche es morgen nochmal, danke an alle die mir helfen wollen✌️
Klingt gut aber hab gerade n anderes problem, hab n proxmox pve cluster erstellt ohne 2. node das bekomme ich nicht mehr gelöscht, jetzt kann ich die vms nicht mehr starten. ich weiss kein backup, kein mitleid😅 versuch die jz zu exportieren, proxmox neu und dann importieren, wird mit der antwort wegen ddclient noch etwas dauern😅😅
Dein Config File liegt nicht dort wo du den Befehl absetzt (du verwendest einen relativen Pfad zur Datei).
Entweder gibst du den Pfad absolut an oder wechselst in das Verzeichnis wo die Config auch liegt.
Habe jetzt einfach den daemon deaktiviert und lasse mit einem cron Job ein Shellskript alle 10 Min ausführen, dass mittels nslookup und ifconfig checkt ob die IP sich geändert hat und wenn ja, den ddupdate Befehl ausführt, trotzdem vielen dank an alle für die Unterstützung
GolanX
Kannst du zufällig dein Script mit mir Teilen bzw. uns? Ich finde das als Lösung deutlich besser.
#!/bin/bash
# Pfad zum ddclient-Befehl
ddclient_path="/usr/bin/ddclient"
# Log-Datei
log_file="/var/log/ip_check.log"
# Funktion, um aktuelle Zeit zu speichern
current_time() {
date +"%Y-%m-%d %T"
}
# Funktion zum Ausführen von ddclient und Aktualisieren der Logdatei
run_ddclient() {
sudo "$ddclient_path"
echo "$(current_time): ddclient wurde ausgeführt." >> "$log_file"
}
# Funktion zum Vergleich der IP-Adressen und Ausführen von ddclient bei Bedarf
check_and_update_ip() {
# Hole die aktuelle öffentliche IP-Adresse
current_public_ip=$(curl -s ifconfig.co)
# Hole die IP-Adresse von aroth97.de über nslookup
aro_ip=$(nslookup aroth97.de | awk '/^Address: / { print $2 }')
# Hole die zuletzt überprüfte IP-Adresse aus der Logdatei (falls vorhanden)
last_checked_ip=$(grep "Letztes Überprüfen:" "$log_file" | tail -n 1 | awk '{ print $3 }')
# Vergleiche die IPs und führe ddclient aus, falls sie unterschiedlich sind
if [ "$current_public_ip" != "$aro_ip" ]; then
run_ddclient
else
echo "$(current_time): IP-Adressen sind identisch. Kein Update erforderlich." >> "$log_file"
fi
:
Okay das ist echt mega und vorallem hilfreich, jetzt noch meinen crontab drüber im 5min. takt und meine do.de bannt mich nicht mehr :-D
Das wäre alles deutlich einfacher, wenn mein Draytek-Router die Domain-Offensive kennen würde oder die eine Dyndns-Config für Draytek hätten.
Danke vielmals auf alle Fälle
kein thema :) wusste garnet dass draytec modems ddns haben :P
Ja wahrscheinlich keine leserechte für /etc/ddns.conf. bin gerade unterwegs ich geb infos zur config wenn ich wieder zuhause bin, danke schonmal