PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : dynamische IP Aktualisierung selbstgemacht



apraxas
03.11.05, 19:57
Hi Linuxianer !

Als ich noch einen Server mit dem Eisfair projekt (http://www.eisfair.org/) hatte. Gab es ein Paket das hies Dynip.

Dieses Paket uebertrug meine aktuelle IP per FTP auf einen beliebigen Server.
Es war auch email uebertragung moeglich.

Nun habe ich ein anderes Linux (Slackware).

Wie kann ich das nun möglich machen.

mfg
daniel

geronet
03.11.05, 20:02
dyndns.org ist um einiges einfacher.

apraxas
03.11.05, 20:08
Das hatte ich zur Anfangszeit. Nun habe ich ein teures Paket bei Strato.
Ich will meinen Homeserver nur abundzu fuer bestimmte dinge nutzen.
Wenn es bei Eisfair ging muss es ja bei Slackware oder einer anderen Dist. gehen. Oder nicht :p .

Mfg
daniel

suck
03.11.05, 20:11
Ansonsten geht es aber auch mit irgendwelchen "if-up"-Scripten, die beim (Re-)Connect automatisch ausgeführt werden und die IP, und was man sonst noch gerne versenden möchte, wie auch immer, wohin auch immer senden können.

michaxyz
03.11.05, 20:11
Hallo Daniel,

alles was Du willst geht.
Ich frage mich aber doch, was Du mit "ich will nix ausgegen" meinst, da dyndns.org doch für private kostenlos ist?!

Ansonsten ist es Deinen Scriptingfähigkeiten vorbehalten, das Problem zu automatisieren. ;-)

Mfg Michael

suck
03.11.05, 20:12
Ach ja, dyndns.org ist kostenlos.

Edit: Muss lernen schneller zu tippen ; )

apraxas
03.11.05, 20:27
Das es umsonst ist wusste ich nicht !!
aber so bekomme ich schon mal die ip!
jetzt nur noch zum server bekommen

wget -O /tmp/act-ip http://checkip.dyndns.org 2>/dev/null

michaxyz
03.11.05, 21:00
Hallo,

Vorsicht, da sind noch html-Tags und Text dabei. Die kannst Du aber per sed rausfiltern.
Wie Du das dann zum ISP kriegst, steht in dessen Hilfeseiten!

Mfg Michael

apraxas
03.11.05, 22:41
das ist nun mein script funktioniert auch

#!/bin/sh
#-------------------------------------------------------------------------------
# wan ip per ftp versenden
# aPraXas
#-------------------------------------------------------------------------------
wget -O /tmp/act-ip http://checkip.dyndns.org 2>/dev/null
extip=`cat /tmp/act-ip | grep "[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}" |\
tr -d '[:alpha:] [:space:] [:cntrl:] <>:/'`
cp /tmp/act-ip /tmp/dynip.htm
# § wird durch die IP ersetzt und in dynip.htm geschrieben
sed 's/§/'$extip'/g' /var/dynip/dynip.txt > /var/dynip/dynip.htm
# dynip.htm upload
ftp -in www.server.de <<EOF > /dev/null
user benutzerpass password
binary
cd dynip
lcd /var/dynip/
put dynip.htm
quit
EOF

rm /tmp/dynip.htm

Dazu muss man noch ein Verzeichniss unter /var erstellen das /dynip heisst.
In das Verzeichnis erstellt man eine Datei --------------> dynip.txt
mit dem inhalt

<html>
<head>
<title>Homeserver </title>
</head>
<body text=#000000 vLink=#333366 link=#333366>
<center>
<font face="Arial">
<p>&nbsp;</p><p>&nbsp;</p>
<p>Home-Server-IP lautet:</p>
<a href=http://§>§</a>
<p>&nbsp;</p>

<small>Letzte IP-Aktualisierung:
<p>
<script language="JavaScript">
var dLM = new Date(Date.parse(document.lastModified));
var day = new Array("Sonntag","Montag","Dienstag",
"Mittwoch","Donnerstag","Freitag","Samstag");
var month = new Array("Januar","Februar","März","April","Mai","Juni",
"Juli","August","September","Oktober","November","Dezember");
var date = dLM.getDate();
var day = day[dLM.getDay()];
var year = dLM.getFullYear();
var month = month[dLM.getMonth()];
var hours = dLM.getHours();
var minutes = dLM.getMinutes();
var seconds = dLM.getSeconds();
if (date<10) date = "0"+date;
if (month<10) month = "0"+month;
if (hours<10) hours = "0"+hours;
if (minutes<10) minutes = "0"+minutes;
if (seconds<10) seconds = "0"+seconds;
document.write(" "+day+", "+date+". "+month+" "+year+" "+hours+":"+minutes+" ")
</script></p>
</small>
<p>&nbsp;</p>
<p>Bitte beachten Sie, dass der Home-Server nicht immer erreichbar sein muss!
</font>
</center>
</body>
</html>



Ich würde noch einen cron auftrag machen alle 10 Minuten.

MFG
daniel