Homepage des Authors: www.staschke.de Author: Arnim Staschke 18.03.2001 last Update: 10.10.2001 v 1.0


Bei Interneteinwahl die aktuelle IP-Adresse automatisch auf die Homepage laden

am Beispiel auf meinem Rechner


Falls ich wieder Erwarten Fehler eingebaut habe, bitte ich um eine kurze Nachricht mit Fehlerbeschreibung. Danke;-)

B. Copyright

1 Kleine Einführung

2 Konfiguration: Upload der IP-Adresse

3 Testen der Konfiguration

4 Externe Links zum Thema




Bei Interneteinwahl die aktuelle IP-Adresse automatisch auf die Homepage laden

am Beispiel auf meinem Rechner


1 Kleine Einführung


1.1 Eine kleine Warnung;-)

Diese Dokumentation richtet sich an den schon etwas erfahrenen Linux Anwender. Man sollte sich bewusst sein, was man hier tut, und vor allem wissen was man tut und es auch verstehen, was man getan hat. Das ist wichtig, um eventuelle Sicherheitsrisiken richtig abschätzen zu können. Hier aufgeführt sind nur im groben die wichtigsten Schritte, auf die Systemsicherheit wird hier nicht weiter eingegangen.
Diese Dokumentation ist als grobe Richtlinie gedacht, als Denkanstoss, nicht als Anleitung! Die Verfeinerung und Verbesserung der Konfiguration muss jeder selbst vornehmen, an sein eigenes System anpassen.

Alles geschieht in eigener Verantwortung. Der Author haftet nicht für eventuelle Schäden am System oder sonst wo!
Wer damit nicht einverstanden ist, der möge bitte nicht weiterlesen.

1.2 Was soll erreicht werden?

Eine unserer eigenen Telefonnummern (MSN) wird so konfiguriert, dass einige Aktionen ausgelöst werden, sobald ein Anruf auf diese MSN eingeht. Diese Aktionen sollen aus Sicherheitsgründen nur ausgelöst werden, wenn wir von unserem eigenen Handy aus anrufen. Infos zur Konfiguration sind auf meiner Homepage unter »Bei Anruf Einwahl« und »IP per SMS«.
Hier wollen wir das ganze nun so ausbauen, dass der Rechner sich bei Handyanruf einwählt, die dabei dynamisch vom Provider zugewiesene IP-Adresse ausliesst, diese in eine HTML-Datei schreibt, und diese HTML-Datei per FTP in unser Homepageverzeichnis beim Provider kopiert.

Wozu das Ganze gut sein soll, möchte ich nicht weiter erläutern, denn wer diese Seiten liesst, sollte wissen, was er warum tut;-)
Desweiteren sollte jedem bewusst sein, dass die ganze Aktion ein Sicherheitsloch reisst. Für Schäden ist jeder selbst verantwortlich, dass sollte klar sein. Denn mit der IP-Adresse ist Tür und Tor geöffnet, fuer jeden! Der Rechner muss alo entsprechend gesichert sein, gegen Angriffe von Aussen!

Weiterhin setze ich vorraus, dass die Dokumentation zum I4L, isdnlog, callerid.conf und so weiter gelesen wurde, und in gewisses Grundwissen bezüglich des HTML-Quelltextes vorhanden sein sollte.

2 Konfiguration des Uploads der IP-Adresse


2.1 Wie funktioniert das ganze überhaupt?


Das ganze Geschehen spielt sich eigentlich nur in der /etc/ppp/ip-up ab. Dort werden einige Zeilen eingefügt.
Besser geeignet ist jedoch die /usr/local/bin/ip-up! Wenn die /usr/local/bin/ip-up im System exsistiert, dann sollten eigene Einträge hier vorgenommen werden. Die /usr/local/bin/ip-up wird von der /etc/ip-up aufgerufen.
Zuerst wird aus der /usr/local/bin/ip-upper echo-Anweisung eine HTML-Seite erstellt, die als /tmp/index.html abgespeichert wird. In dieser HTML-Seite kann man einbauen, was man will;-) Zum Beispiel die aktuelle Uhrzeit mit Datum, so kann man beim Aufruf der Seite später feststellen, ob sie noch aktuell ist. Natürlich ist auch die im Monent aktuelle IP-Adresse enthalten. Diese aktuelle IP-Adresse ist übrigens der /usr/local/bin/ip-up als vierter Parameter ($4) bekannt, und kann so in unsere HTML-Seite eingefügt werden. Diese kann man gleich verlinken. Desweiteren könnte man noch den Hostnamen, die uptime oder vieles mehr mit einbauen.

Wieder aus der /usr/local/bin/ip-up heraus wird diese /tmp/index.html per FTP auf den Homepageserver des Providers geladen, von wo aus sie dann von überall her abrufbar ist.

Zusammen mit » Bei Anruf Einwahl » ist das ganze gut brauchbar, um von woanders eben mal schnell auf den eigenen Rechner zuzugreifen, zB wenn man dringend eine Datei benötigt, oder was weiss ich;-).

NICHT verwenden soll man das ganze, um sich einen Webserver oder ähnliches aufzusetzten. Ich wollte das eigentlich nicht hier erwähnen, aber auf die Idee kommt sowieso jeder von selbst. Eine Dial-up (DOD) Verbindung oder eine Flatrate ist KEINE Standleitung! Sicher, es kostet nicht weiter, stimmt. Aber es werden Ports und Ressourcen belegt, wenn eine Leitung künstlich offen gehalten wird. Wir alle profitieren von günstigen Preisen, oder einer günstigen Flatrate. Wir alle, auch Du. Deswegen sollte miemand so egoistisch sein, und seine Leitung künstlich offen halten, wenn sie nicht benötigt wird. Die Einwahl geht heutzutage so schnell, dass sie kaum auffällt.
Einige Provider haben die Flatrate bereits wieder eingestellt. Schade! Warum wohl? Klar, weil es zu den Preisen nicht realisierbar ist, wenn einige meinen, sie müssten Daueronline sein, ohne Traffic auf der Leitung.

Gegen mal so zum probieren, oder testen, da sagt ja keiner was... aber ständig? Nein, dafür fehlt mir das Verständnis, tut mir leid! Schliesslich sind wir eine Gemeinschaft, wir alle profitieren von günstigen Preisen. Macht es Euch und allen anderen nicht kaputt, trennt die Verbindung, wenn sie nicht mehr benötigt wird. Danke!:-)


2.2 /usr/local/bin/ip-up anpassen

Bei SuSE-Linux gibt es die Datei /etc/ppp/ip-up, und die Datei /etc/ppp/ip-down. Die /etc/ppp/ip-down ist nur ein Link auf die /etc/ppp/ip-up. Die /etc/ppp/ip-up ist also hier das eigentliche Script, unterteilt in 2 Abschnitte: ip-up und ip-down. Auf anderen Systemen können auch beide Dateien getrennt existieren (RedHat basierte Distributionen, glaube ich).
Die /etc/ppp/ip-up wird automatisch unmittelber nach erfolgter Interneteiwahl abgearbeitet. Sie ruft ausserdem die /usr/local/bin/ip-up auf. So werden auch unsere zusätzlichen Anweisungen bei jeder Einwahl abgearbeitet. Wer das nicht möchte, kann sich auch den Quelltext in ein eigenes Script packen, das entweder von Hand oder zB aus der callerid.conf heraus ausgeführt wird. Jeder, wie er möchte, und kann;-)
Unsere zusätzlichen Anweisungen werden nun in die ip-up eingefügt.
Hier folgt nun der komplette Abschnitt, der am Ende der ip-up eingefügt werden muss. Da hier die Leerezichen nicht sehr gut ersichtlich sind, werde ich demnächst diesen Scriptabschnitt zum Download als ASCII-Text anbieten. So kann man bequem per copy&paste arbeiten;-)


------SNIP ip-up -----

        # Dynamische IP ermitteln und in Datei schreiben
        # Datei erstellen
 
 
echo "<html>
<head><title>Aktuelle Daten von `hostname`</title></head>
<body>
<h2>If you would like to visit my private network at home
please use this IP adress. My private network is not always online, because I´m using a ISDN dial-<br>
<br>
<br>
Technical referense:<br>
Hostname: `hostname`<br>
Linux: `uname -a`<br>
<h2>Uptime: `uptime` </h2>
<br>
<br>
<h1>IP-Adresse: $4 </h1>
<ul type=square>
 <li><h2>For connecting with your web-browser, try the direct link</h2></li>
      <ul type=disc>
        <li><a href="http://$4"><h2>http://mein Rechner zuhause</h2></a></li>
      </ul>

 <li><h2>To connect my private anonymous ftp-server, please use</h2></li>
      <ul type=disc>
        <li><a href="ftp://$4"><h2>ftp://mein Rechner zu Hause</h2></a></li>      </ul>
</ul>
 
<br><br>
<h3>This file was automaticaly generated at `date`.</h3>
</body>
</html>" > /tmp/index.html
 
# Ende dynamische IP in Datei schreiben
 
# Datei hochladen
 
 
ftp -n <<EOF
open ftp.provider.topleveldomain
user login_name passwort 
cd html/ip/
lcd /tmp
put index.html
bye
EOF                                                   

# Ende Datei hochladen
#
# hier unter wuerde nun die ip-down beginnen.

------SNIP ip-up -----

Thats all. Einfügen, abspeichern und gut is;-)


2.3 Erläuterungen zum Script

echo
# nachfolgenden Text umleiten

"<html><head><title>Aktuelle Daten von `hostname`</title></head><body>
# HTML-Seite erstellen. `hostname` gibt zum Beispiel den Hostnamen des eigenen Rechners aus.

Linux: `uname -a`<br>
# Tipp mal uname -a an der Konsole ein, dann weisst du, was passiert;-)

<h1>IP-Adresse: $4 </h1>
# Der Parameter $4 gibt die IP-Adresse aus

<a href="http://$4"><h2>http://mein Rechner zuhause</h2></a>
# Der Link, wo der Parameter $4 als Link dargestellt wird

> /tmp/index.html
# Die gesamte echo-Anweisung in die Datei /tmp/index.htmlumleiten

ftp -n <<EOF
# FTP-Upload einleiten

open ftp.provider.topleveldomain
# Ersetzen durch den Homepageserver des Providers

user login_name passwort
# Ersetzten durch Deinen Login beim Provider. Drauf achten, dass die ip-up nicht für jedermann lesbar ist, wegen dem Passwort!

cd html/ip/
# remote ins Verzeichnis wechseln (vorher erstellen!)

lcd /tmp
# local ins /tmp Verzeichnis wechseln, wo die index.html liegt.

put index.html
# index.html uploaden

bye
EOF
# FTP-Verbindung beenden


Das war schon alles;-)


2.4 Homepageverzeichnis vorbereiten

Im Homepageverzeichnis beim Provider ist ein Unterverzeichns zu erstellen, in das später unsere HTML-Datei vom ip-up-Script kopiert wird.
Der Name des Verzeichnisses ist beliebig, muss aber identisch sein, mit den Namen im FTP-Aufruf, in der ip-up. Als Beispiel habe ich ip als Verzeichnisnamen verwendet.
Da eine HTML-Datei namens index.html in der Regel beim Aufruf des Verzeichnisses automatisch aufgerufen wird, wähte unsere HTML-Seite unter:
http://www._deine_homepage_adresse_/ip/
abrufbar.


3 Testen der Konfiguration


3.1 Aktion testen

Man wähle sich ins Internet ein, und rufe die duch das Script hochgeladene HTML-Seite auf.
Nun auf die Links klicken. Wenn dann nicht passiert, ist Dein System gut konfiguriert, sodass keine Zugriffe von aussen erlaubt sind:-) Wer Zugriffe erlauben möchte, der soll es tun, aber immer daran denken, dass jeder, der diese HTML-Seite mit Deiner IP-Adresse aufruft, auf Dein System kann, und eventuell Schaden anrichten kann. Das ganze sollte also sehr gut überlegt sein. Wer nicht weiss, was er tut, kann sein ganzes System aufgrund eines Angriffes von aussen verlieren! Der Author dieser seiten übernimmt dafür keinerlei Haftung. Jeder ist für sein System selbst verantwortlich.
Auch ist es nun möglich per telnet von aussen ins System zu kommen. Jeder der es schafft, sich einzuloggen, eventuell sogar als Sysadmin (root), hat vollen Zugriff auf das gesamte System! Der Eindringling kann mit einem einzigen Befehl das gesamte System platt machen! Ich bitte dieses grosse Sicherheitsloch zu beachten. Es sind geeignete Gegenmassnahmen zu treffen, das System ist gegen solche Angriffe von aussen abzusichern!!

Wenn nun bei einem Klick auf die Links nichts passiert, läuft eventuell kein Webserver auf Deinem Rechner, bzw kein FTP-Server. Wenn gewünscht, sind diese Server einzurichten. Auch ist es möglich, dass Dein Sytem, wie oben schon erwähnt, keine Zugriffe von aussen zulässt.

Als weiteren Test kann man versuchen, sich per telnet einzuloggen. Das werde ich hier aber nicht erläutern, wer weiss, was er tut, braucht dafür keine Erläuterungen;-)

Ansonsten ist die Syntax im Script auf Richtigkeit (Leerzeichen, Gänsefüsschen) zu prüfen.
Tip: In einem Terminal als root ein tail -f /var/log/messages mitlaufen lassen, und auf Fehlermeldungen achten.



Copyright
Das Copyright für diese Seiten liegt bei Arnim Staschke, Flensburg, Germany. Für die Nutzung dieser Seiten auf anderen Rechnern oder die Verbreitung dieser Seiten gilt folgendes: Die Seiten duerfen in ihrer Ursprungsform unveraendert kostenlos weiterverbreitet werden, solange dieser Copyrighthinweis, der Name des Authors und die Herkunft erhalten bleibt. Die Weitergabe, die komerzielle Nutzung, auch in schriftlicher Form, gegen Gebühr oder gegen Entgelt ist untersagt, bzw. bedarf der ausdrücklichen schriftlichen Zustimmung des Authors. Links auf diese Dokumentation sowie das Kopieren auf Resourcen im Internet sind ausdruecklich erlaubt, solange ein deutlicher Hinweis auf die Herkunft und das Copyright, sowie ein Link auf die Originalseiten enthalten bleibt.


Homepage des Authors
www.staschke.de
eMail an den Author
Arnim Staschke

made by staschke 18.03.2001