PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : dyndns und cron



99erkunder
01.06.01, 07:49
posted 01 Juni 2001 08:27
--------------------------------------------------------------------------------
hallo,
kann mir vielleicht bei meinen problem helfen ?

gibt es vielleicht schon solch ein script der die aktualisierung der ip-adresse für dyndns durchführt ?
eigentlich könnte ich das auch mit dem cron machen, aber der cron führt den befehl direct aus und der befehl ez-ipupdate prüft ob sich die adresse geändert hat. hat sie sich nicht geändert, dann wird auch nicht geändert. nur gibt es da ein limit bei dyndns. wenn z.b. die abfrage mehrmals wiederholt und sich dabei die adresse nicht ändert, wird der hostname geblockt (gesperrt).

ich bräuchte also ein script was die abfrage macht, aber nur dann einen befehl absetzt, wenn sich auch diese geändert hat.

sicherlich gibt es solch ein script, aber es fragt sich nur wooooooooo.

vielleicht hat einer von euch eine ahnung

:confused: :confused: :confused:

micha
01.06.01, 10:16
Hallole,

wieso steckst Du den Aufruf des Scripts von DynDns nicht in Deine /etc/ppp/ip-up ?

Gruß micha

rbla
01.06.01, 12:09
und warum nimmst du nicht ipcheck?
das ist laut dyndns 100% konform zu ihrem protokoll

99erkunder
01.06.01, 14:10
hallo,

hier ist script für ip-up


;then
/usr/sbin/sendmail -q 2>/dev/null >/dev/null &
fi

# for dynamic DNS support with gnome-ppp and kppp and draknet (adsl)
if grep -i '#.*ppp temp entry' /etc/resolv.conf >& /dev/null ; then
PPP_TEMP_ENTRY=`grep '#.*ppp temp entry' /etc/resolv.conf | \
tail -1 | sed 's/.*ppp temp entry/# ppp temp entry/' `
else
unset PPP_TEMP_ENTRY
fi
if [ -n "$PPP_TEMP_ENTRY" ]; then
[ -n "$DNS1" ] && \
echo -e "nameserver $DNS1 $PPP_TEMP_ENTRY" >> /etc/resolv.conf
[ -n "$DNS2" ] && \
echo -e "nameserver $DNS2 $PPP_TEMP_ENTRY" >> /etc/resolv.conf
fi

[ -f /etc/sysconfig/network-scripts/ifcfg-${LOGDEVICE} ] && /etc/sysconfig/network-scripts/ifup-post ifcfg-${LOGDEVICE}

[ -x /etc/ppp/ip-up.local ] && /etc/ppp/ip-up.local "$@"

exit 0
]

wo treage ich jetzt das ein

ez-ipupdate -S dyndns -h .host.homeip.net -u user :passw -i ppp0

danke

99erkunder
01.06.01, 14:17
@ronny

ich würde gerne die software nehemen, aber kannst du mir sagen wo ich die bekomme ? mit einen source kann ich nichts anfangen. ich brauche doch so eine install version oder ?

danke

rbla
01.06.01, 15:52
ipcheck.sourceforge.net

das ist ein pythonscript (d.h. python muss installiert sein)

dann kannst du es einfach auf ausführbar setzen
chmod 0750 ipcheck.py

und dann mit ./ipcheck.py ausführen

99erkunder
01.06.01, 16:16
@ronny

super habe es jetzt geladen aber wie geht es jetzt weiter

wenn ich das eingebe

>ipcheck.py huber disco maus.homeip.net

kommt danach immer diese meldung
>ipcheck.py: No ipcheck.dat file found.
ipcheck.py: Use same command ONCE with --makedat to create one from dns lookup.

dann mache ich das so
>ipcheck.py huber disco maus.homeip.net --makedat

dann kommt diese meldung
Hostnames can be a comma separated list (no spaces). Example:
python ipcheck.py username password host1.dyndns.org,host2.dyndns.org

[ 01. Juni 2001: Beitrag editiert von: 99erkunder ]

99erkunder
01.06.01, 23:17
@micha
wo genau trage ich dies ein ???

Rot
01.06.01, 23:26
Hallo 99erkunder,

schreibe es in die /etc/ppp/ip-up.local

MfG
ROT

rbla
04.06.01, 21:13
ich denke, du musst das --makedat for den restlichen parametern angeben

noch besser ist allerdings die verwendung eine files mit den daten, dann wird das passwort nicht in der prozessliste angezeigt

also z.b. datei maus.dyndns:
huber disco maus.homeip.net

ipcheck --acctfile maus.dyndns (--makedat)

99erkunder
05.06.01, 08:10
@ronny

okay, ich danke die ronny,
aber eine frage habe ich noch.

wo genau trägst den befehl ein
in einem cron oder legst du den befehl in den hintergrund mit einen sleep von 900 sekunden (15min)?

ich hoffe nur das ich es bald habe und sorry wenn ich dich so oft frage.

rbla
05.06.01, 08:29
ich habe einen cron job, aber eigentlich müsste es in ip-up reichen

99erkunder
05.06.01, 09:02
@ronny

kannst du mir vielleicht ein genaues beispiel geben wo man es in ip-up einträgt oder ein beispiel für einen cron job

ich habe es jetzt in cron.hourly eingetragen, aber die ip-adresse scheint aber sich schon früher zu ändern. in moment habe ich einen verbindung zum meinen rechner.

danke

rbla
05.06.01, 14:57
imo ist es sinnvoll einen eigenen user für ipcheck einzurichten

# groupadd ipcheck
# useradd -s /bin/true -d /var/local/ipcheck -g ipcheck ipcheck

# mkdir /var/local/ipcheck
# chown ipcheck.root /var/local/ipcheck
# chmod 0550 /var/local/ipcheck
# cp ipcheck.py /var/local/ipcheck/
# su -s /bin/bash ipcheck -l
$ echo user passwort fqdn > host.dyndns
$ chmod 0440 *
$ chown ipcheck.root *
$ chmod 0550 ipcheck.py
$ ./ipcheck.py --acctfile host.dyndns --makedat
$ crontab -e
[i]
*/5 * * * * ~/ipcheck.py --acctfile host.dyndns
[wq!]

das in den eckigen klammern, sind die tasten für den vi

-----
in /etc/ip-up.local

cd /var/local/ipcheck
./ipcheck --actfile host.dyndns
-----

wenn jemand meint, das sei zu umständlich, aufwendig oder gar falsch, bitte melden und erklären

99erkunder
05.06.01, 19:43
hallo,

da ich absolut ein neuling auf linux bin weiss ich jetzt nicht was ich mit dem script anfangen soll.

ronny, was muss ich jetzt machen ??

rbla
05.06.01, 19:54
das ist kein script ;)

alle befehle die nach # stehen, musst du als root ausführen
(normalerweise endet der prompt bei root auf #, bei einem normalen user auf $)

melde dich also auf der konsole als root an und gib die befehle der reihe nach ein (natürlich ohne #, bzw $)

99erkunder
05.06.01, 20:32
hallo,

bei der zeile
$ echo user passwort fqdn > host.dyndns
trage ich da meinen account ein ?

rbla
05.06.01, 21:45
ja
fqdn = fully qualified domain name = der komplette rechnername (xxxx.dyndns.org z.b.)

99erkunder
06.06.01, 05:56
hallo ronny,

ich kriege das ding einfach nicht zum laufen.
ab dieser zeile kriege ich probleme mit den rechten
>$ chmod 0440 *

aber dies habe ich wieder hingekriegt

nun bleibe ich beim crontab -e hängen
sieht etwa so aus
~
~
~
~
~
~
~
~
usw.

keine ahnung mehr

rbla
06.06.01, 12:22
chmod 0440 *
setzt die rechte aller dateien auf read-only

crontab -e ruft den editor auf (vi)
die tasten die du eingeben musst habe ich angegeben

zuerst i (vi schaltet auf insert modus um)
dann den text eingeben
dann Esc (vi schaltet auf command modus), oh das hatte ich vergessen zu schreiben
dann :wq! (speichert und beendet)
und denn doppelpunkt habe ich auch vergessen, asche auf mein haupt ;)

du ja wahrscheinlich alle dateien und verzeichnisse erstellt hast, kannst du die crontab auch als root editieren
# crontab -u ipcheck -e