Buchstabieren
dbox2
Drehzahlen
dyn DNS
Einheiten
E-Mail Notify
Griechisch
Lichtphysik
Morse ABC
offene Fragen
Telefon Tech.
T-Online DFÜ
Plus49
 
Infos und Anleitung für einen webserver@home trotz dynamischer IP


1.Wer kann das nutzen?
2.Wofür ist das gut?
3.Wozu muss man eine IP Nummer kennen?
4.Auf welcher Funktionsweise basiert die Skriptsammlung?
5.Ist das alles legal?
6.Wie viel Knowhow brauche ich?
7.WGET wird auch noch gebraucht.
8.Was mache ich mit den Skripten?
9.Welche Anpassungen sind nötig?
10.Was ist die richtige Reihenfolge?
11.Funktioniert das ganze auch?
12.Haftungsausschluss
13.Fragen oder Anmerkungen?


1. Wer kann das nutzen?

Jeder der irgendwo, an unveränderlicher Adresse im Internet, etwas Speicherplatz hat, auf den er per ftp zugreifen kann um Dateien dort zu lagern. Das muss nicht eine eigene Domäne sein, es kann auch das Home-Verzeichnis bei T-Online oder Vergleichbares sein. Man braucht zuhause natürlich auch einen Internet-Zugang. (Es bietet sich dabei ein Flatrate-Vertrag an.)
Weiterhin muss auf dem Rechner zuhause, ein Webserver oder irgendein anderer Internet-Dienst installiert sein, den man vom Internet aus nutzen möchte, ob geschützt für eigene Zwecke oder öffentlich ist dabei egal.
Es bietet sich besonders für Rechner an, die ohnehin Tag und Nacht laufen.
Meine Skript-Sammlung erfordert einen Rechner unter Windows NT oder Nachfolger (2000/XP).
Bei Rechnern mit anderem Betriebssystem kann man diese Skripte zwar nicht direkt nutzen, aber die Grundidee, ist bei entsprechenden Systemkenntnissen, sicher leicht portierbar.
zurück noch oben


2. Wofür ist das gut?

Am Beispiel von T-Online TDSL Flatrate, ist es so, dass man zwar permanent online sein darf, es ist aber keine Standleitung mit fester IP-Adresse. Man erhält bei jeder Einwahl eine neue IP-Nummer, eine dynamische IP. Damit man diese nicht auf längeren Zeitraum behalten kann, indem man die Verbindung einfach nicht trennt, hat T-Online Zwangstrennungen eingebaut. Nach 15 Minuten Inaktivität wird die Verbindung vom Netz getrennt. Bei 24 Stunden Dauerbetrieb wird die Verbindung ebenfalls vom Netz getrennt, auch wenn Daten übertragen werden. Direkt anschließend darf man sich wieder neu verbinden. Das dient dazu, dass sich keiner eine IP-Nummer von T-Online "sichern" kann. Flatrate-Verträge mit fester IP sind erheblich teurer. Mit fester IP kann man z.B. Web- oder Ftp-Server ins Netz stellen. Da das eher gewerbliche Personen machen, kann man denen auch mehr Geld abknöpfen.
zurück noch oben


3. Wozu muss man eine IP Nummer kennen?

Für VPN-Verbindungen (Virtual private Network) auch "Tunnel durchs Internet" genannt, für Internet Telefonie, für Web- und Ftp-Server und Ähnliches. Bei fester IP kann man diese einem DNS-Server bekannt machen, so dass man auch einen registrierten Domänennamen verwenden kann, satt der IP. Ein Webserver ist aber auch über seine IP-Adresse erreichbar und nicht nur über seinen Namen, auch wenn letzteres einfacher zu merken ist. Einen DNS-Server hat man üblicherweise nicht zuhause, den bietet der ISP bei dem man seine Internet-Domäne liegen hat an. Dieser DNS-Server verwaltet aber nur feste IPs.
Diese Skript-Sammlung soll die Aufgabe eines DNS-Servers ersetzen.
zurück noch oben


4. Auf welcher Funktionsweise basiert die Skriptsammlung?

Je nachdem ob der Rechner per Dun (Dialup-Network = DFÜ-Verbindung) oder per Router sich mit dem Internet verbindet, wird die Datei update-dun-ip.cmd oder update-router-ip.cmd gebraucht. Im Folgenden werde ich die update-dun-ip.cmd oder update-router-ip.cmd kurz als update-ip.cmd bezeichnen. Ein Skript (update-ip.cmd) läuft auf dem Rechner zuhause und liest die aktuell zugeordnete IP aus, schreibt diese in eine Datei und formt die Datei zu einem Java-Skript (SCRIPT.JS) um. Mit Hilfe der ftpscript.txt kopiert die update-ip.cmd die frisch erzeugte SCRIPT.JS per ftp ins Internet. Die SCRIPT.JS wird dort, von der schon einmalig hinkopierten Webseite (index.html), ausgelesen, um eine automatische Weiterleitung zum Webserver zuhause zu ermöglichen. Für Besucher mit Browsern ohne Java-Skript, erzeugt die update-ip.cmd zusätzlich eine ip.txt, die auch ins Internet kopiert wird. Als ergänzende Information, wird das Datum und die Uhrzeit mit in die Dateien geschrieben und veröffentlicht. Der gesamte Vorgang dauert wenige Sekunden, und sollte regelmäßig wiederholt werden, damit die Informationen aktuell bleiben.
Bei der DFÜ-Variante wird die zugeordnete IP aus der Rechnerkonfiguration ausgelesen. Bei der Router-Variante ist das nicht möglich, da dem Rechner die zugeordnete IP nicht bekannt ist. In diesem Fall wird das öffentlich zugängliche Serverscript: http://checkip.dyndns.org/ aufgerufen. Dieses Script von "dyndns" zeigt die aktuelle IP in einer Webseite an, die von dem Tool WGET.EXE lokal gespeichert wird. Dadurch ist auf dem Rechner die Information über die aktuelle IP vorhanden.
zurück noch oben


5. Ist das alles legal?

Man darf über seinen Provider eine Verbindung zum Internet herstellen. Man bekommt dabei eine IP-Adresse "geliehen". Diese IP-Adresse darf man normalerweise jedem bekannt geben, für Internet Telefonie, Netmeeting, VPN und Diversem.
Jeder darf einen Webserver betreiben.
Jeder darf auf seinen Webspace eigene Dateien kopieren und veröffentlichen, mit den üblichen Einschränkungen (Pornografie, Volksverhetzung, Datenschutz ...). Die nötige Software dafür, muss man natürlich legal erworben haben.
Ich bin kein Jurist, aber ich sehe keinen Grund warum etwas an dieser Methode nicht legal sein sollte.
Kleingedrucktes im Vertrag mit dem jeweiligen ISP könnte vielleicht dagegen sprechen. Ich vermute aber, dass dem nicht so ist, da viele ähnliche Dienste gegen Gebühr angeboten werden.
Für etwaige Rechts- oder Vertragsverletzungen, die durch die Nutzung meiner Skripte entstehen, übernehme ich keinerlei Verantwortung.
Ein Copyright auf diese Skripte erhebe ich nicht.
Das Copyright auf die Datei REPLACE.EXE liegt bei IBM.
Sie ist Teil von "IBMs LCCM (LanClientControlManager)" das bei IBM kostenlos und anonym zum download angeboten wird. Da "LCCM" ca. 30 MB Download bedeutet und diese eine Datei nur 30 kB ausmacht, stelle ich sie direkt zur Verfügung, was sicher formal eine Verletzung des Copyrights bedeutet.
Falls webserver@home ein geschützter Name sein sollte, dann bitte ich um Entschuldigung und eine entsprechende Benachrichtigung an die, am Schluss angegebene E-Mail-Adresse.
zurück noch oben


6. Wie viel Knowhow brauche ich?

Die Mindest-Vorraussetzung ist, zu wissen wie man Dateien im Editor öffnet und bearbeitet und wie man in einer Eingabeaufforderung Befehle eingibt.
Alles andere ist in diesem Text beschrieben oder kann per Mailanfrage von mir noch erklärt werden.
Um die Skripte weitergehend zu personalisieren oder einfach zu verstehen wie sie arbeiten, ist Knowhow in folgenden Bereichen hilfreich:

- Kommandozeilen-Befehle
- Batchdatei-Programmierung
- Javaskript-Programmierung
- HTML-Design
- Ftp-Befehle

Da die Skripte im wesentlichen für Leute gedacht sind, die zuhause einen Web- oder Ftp-Server betreiben möchten, haben sie das nötige Wissen wahrscheinlich ohnehin.
Aber wie gesagt, per Mail stehe ich für alle Fragen zur Verfügung.
zurück noch oben


7. WGET wird auch noch gebraucht.

WGET ist eine kleines geniales Freeware-Tool (Dank an die Autoren)
Infos zu WGET:
http://www.gnu.org/software/wget/wget.html
Downloadverzeichnis:
ftp://sunsite.dk/projects/wget/windows/
Download-Link:
ftp://sunsite.dk/projects/wget/windows/wget-1.9.1b-complete.zip (745 kB)
Aus diesem Zip müssen drei Dateien in das Skriptverzeichnis kopiert werden.
wget.exe
libeay32.dll
ssleay32.dll
zurück noch oben


8. Was mache ich mit den Skripten?

Einige der Dateien müssen individuell angepasst werden, wobei aber einige wenige Veränderungen schon ausreichend sein sollten.
Folgende Dateien gehören auf den Rechner zuhause in ein beliebiges Verzeichnis:

update-ip.cmd
REPLACE.EXE
ftpscript.txt
autodial-off.reg
autodial-on.reg
wget.exe
libeay32.dll
ssleay32.dll

Folgende Dateien gehören ins Internet in ein beliebiges Verzeichnis, vorzugsweise ins Webroot, damit sie die bisherige Homepage ersetzen:

index.html
skript1.js
SCRIP.JS
IP.TXT

Sie sollten aber zusätzlich, zu Testzwecken, auf dem lokalen Rechner liegen.

update-ip.cmd sollte, am besten automatisch (als geplanter Task), regelmäßig (so alle 10 Min.) ausgeführt werden. Das Intervall ist aber beliebig nach Bedarf wählbar. Bei T-Online TDSL-Zugang bietet es sich an, den Intervall auf 14 Minuten oder weniger zu setzen, so sorgt die update-ip.cmd dafür, dass die Verbindung nicht wegen Inaktivität getrennt wird.
zurück noch oben


9. Welche Anpassungen sind nötig?

Folgende Dateien können unverändert benutzt werden:

REPLACE.EXE
autodial-off.reg
autodial-on.reg
index.html
skript1.js
SCRIPT.JS
IP.TXT
wget.exe
libeay32.dll
ssleay32.dll
Wobei SCRIPT.JS und IP.TXT durch update-ip.cmd immer aufs Neue generiert werden.

Geändert werden müssen folgende Dateien:

ftpscript.txt
update-ip.cmd

Bei ftpscript.txt müssen die ersten 3 Zeilen verändert werden

In Zeile 1 "open DeineDomäne" ist der Name Deiner Domäne z.B. www.deinname.de anstelle von -DeineDomäne- einzutragen.
In Zeile 2 "Benutzername" ist -Benutzername- zu ersetzen mit Deinem Benutzernamen für den ftp-Zugang zu Deiner Domäne.
In Zeile 3 "Dein Kennwort" ist -Dein Kennwort- zu ersetzen mit Deinem Kennwort für den ftp-Zugang zu Deiner Domäne.
Falls Du die Dateien nicht in Dein Webroot kopieren lassen möchtest kann in Zeile 4 noch der Eintrag "cd /" für entsprechende Verzeichniswechsel verändert werden.
Zu Fragen zum FTP-Zugang zu Deiner Domäne, kannst Du Deinen Provider befragen.
(Anmerkung: Die Datei enthält dann die Ftp-Zugangsinformationen zu Deiner Domäne in ungeschützter Form. Sei also entsprechend sorgfältig, damit sie nicht in andere Leute Hände gerät.)

In update-ip.cmd sind anzupassende Stellen mit "REM ***" entsprechend kommentiert.

Die Dateien index.html und update-ip.cmd können nach belieben umbenannt werden, bei allen anderen Dateien müssten dann auch alle entsprechenden Verweise auf sie, innerhalb der Skripte, geändert werden. Auch eine Änderung der Groß/Klein-Schreibung ist relevant.
zurück noch oben


10. Was ist die richtige Reihenfolge?

Zuerst solltest Du sämtliche zugehörigen Dateien in ein lokales Verzeichnis kopieren, auf das kein unbefugter Zugriff hat. Sie enthalten nach der Anpassung persönliche Daten.
Danach ist die Datei update-ip.cmd zu modifizieren und zu testen.
Sie sollte solange getestet werden, bis sie fehlerfrei die Dateien SCRIPT.JS und IP.TXT erzeugt bzw. verändert.
Fehlermeldungen die dadurch verursacht werden, dass die Datei ftpscript.txt noch nicht angepasst ist, kannst Du zunächst ignorieren.
Während der Testphase musst Du online sein, damit auch eine dynamische IP zum Auslesen vorhanden ist.
Die update-ip.cmd geht davon aus, dass Du nur eine dynamische IP und darüber hinaus höchstens eine weitere statische IP (z.B. fürs LAN) hast.
Das siehst Du, wenn Du (während Du online bist), in einer Eingabeaufforderung den Befehl ipconfig eingibst.
Die resultierende Ausgabe sollte mindestens eine und höchstens zwei Zeilen folgender Form enthalten:
IP-Adresse. . . . . . . . . . . . : 217.81.173.92
Die Nummer an Ende sollte bei einer Zeile Deine aktuelle dynamische IP sein.
Wenn dem nicht so ist, musst Du in der update-ip.cmd die Zeilen mit dem Befehl "find.exe" auch modifizieren. Dabei kann ich Dir aber gern behilflich sein.
Wenn Du die update-ip.cmd testweise ausführst, sollte anschließend die Datei SCRIPT.JS folgendem Beispiel formal entsprechen:
var ip1=217; var ip2=81; var ip3=173; var ip4=92
var tag=19; var mon=07; var jahr=2005
var std=21; var min=22

Desgleichen sollte die Datei IP.TXT dieser Form entsprechen:
Die aktuelle Adresse
vom 19.07.2005
um 21:22
lautet: http://217.81.173.92

Wenn Du soweit bist, dann kannst Du die lokale Kopie von index.html einem Probelauf unterziehen (Doppelklick). Wenn dieser erfolgreich verläuft, was er auf Anhieb auch sollte, bist Du fast fertig.
Jetzt kannst Du die Dateien index.html und skript1.js ins Internet übertragen und zwar an die Stelle, an die SCRIPT.JS und IP.TXT auch übertragen werden.
Zum Schluss solltest Du dafür sorgen, dass update-ip.cmd, in angemessenem Intervall, automatisch gestartet wird.
Dafür bietet sich der Dienst "Geplante Tasks" an.
Einen Tipp noch: Falls Dich das regelmäßige Ausführen von update-ip.cmd, durch sein "aufpoppen" nervt, kannst Du es auch unter einem anderen Benutzernamen ausführen lassen, dann läuft es quasi unsichtbar ab.
zurück noch oben


11. Funktioniert das ganze auch?

Das ist keine "OutOfTheBox"-Lösung (auspacken und losspielen).
Ich habe diese Skripte bisher nur auf dem Rechner getestet, auf dem ich sie auch geschrieben habe.
Das ist ein PC mit Windows XP Pro, TDSL und TCP/IP-Lan mit einer Netzwerkkarte.
Ich bin mir ziemlich sicher, dass sie auch auf anderen Rechnern mit Windows NT oder 2000 und eingerichtetem DFÜ-Netzwerk funktionieren werden, bei entsprechender Anpassung.
Der "Knackpunkt" ist wahrscheinlich die update-ip.cmd, die sollte hinreichend getestet werden. Sie ist nach meiner Meinung so geschrieben, dass sie keine bedenklichen Auswirkungen verursacht.
zurück noch oben


12. Haftungsausschluss:

Ich habe diese Skripte für meinen persönlichen Bedarf geschrieben. Wenn Du diese Skripte verwendest erfolgt das unter Ausschluss jeglicher Haftung meinerseits.
Die Skripte sind potentiell in der Lage Deine Rechnerinstallation und Deine Daten zu verändern, zu löschen, unbrauchbar zu machen oder Dritten zugänglich zu machen. Ich denke, dass ich die Skripte in dieser Hinsicht unbedenklich angelegt habe, ich übernehme aber für nichts Gewähr.
Ich biete die Nutzung unentgeltlich an, sie soll mich entsprechend auch nichts kosten.
Siehe auch 5. Ist das alles legal?.
Zu Risiken und Nebenwirkungen fragen Sie ihren Administrator.
zurück noch oben


13. Fragen oder Anmerkungen?

Für Erfahrungsaustausch, Verbesserungsvorschläge, Schreibfehlerhinweise und Sonstiges, wäre ich dankbar.
Für Fragen wie die Skripte aufgebaut sind, wie sie arbeiten oder wie man sie im Detail anzupassen hat, stehe ich gerne zur Verfügung.
Bitte per E-Mail an mich.

Und hier die Skripte: Download als Zip
Und WGET nicht vergessen. (Punkt 7.)
zurück noch oben