Ich habe aus Carl Kossacks "HOWTO-dyn IP" ein opt-Paket gebaut. Das Funktionsprinzip ist identisch zu der ursprünglichen HowTo geblieben. Ich habe lediglich ein wenig aufgeräumt und ein paar zusätzliche Parameter definiert. Es gibt jetzt eine Konfiguartionsdatei, in der die entsprechenden Parameter gesetzt werden und eine ip-up Datei, die nach dem Aufbau der Verbindung aufgerufen wird.
Der Inhalt der Variablen __IP__ wird in der Vorlagendatei DYN_TEMP (/etc/dynip.in) durch die jeweils aktuelle Routeradresse ersetzt. Die so entstandenen Datei wird in /tmp/dynip.tmp zwischengelagert. Anschliessend wird diese Datei per ftp an einen ftp Server hochgeladen. Der Name der Zieldatei wird aus DYNIP_HTML gelesen. Zum Schluss werden die temp. Dateien gelöscht. Thats it.
Die folgenden Variablen werden in der Vorlage ersetzt:
__DATE__ | Das aktuelle Datum, bzw. die Ausgabe von: date DYNIP_DATE |
__IP__ | Die aktuelle IP Adress des WAN Interfaces. |
__PROG__ | Programmkennung und aktuelle Version: DynIP v1.0.3 |
__TIME__ | Die aktuelle Zeit, bzw. die Ausgabe von: date DYNIP_TIME |
Gültige Werte für DYNIP_DATE bzw. DYNIP_TIME bitte der man-page von date entnehmen.
Zum debuggen kann die letzte Zeile mit "rm -f" auskommentiert werden. Die tmp/dynip.$$$_n werden dann nicht gelöscht und können überprüft werden.
Parameter | Default | Bemerkung | |
---|---|---|---|
OPT_DYNIP | = | 'yes' | muss den Wert 'yes' haben, damit das Paket überhaupt installiert wird. |
DYNIP_DEBUG | = | 'no' | diverse Debug Funktionen aktivieren; u.a. bleiben die temporärer Dateien erhalten. |
DYNIP_DATE | = | '%a %d %b %Y' | date Formatierungsstring, der zum Füllen von __DATE__ verwendet wird (Default: Mon 16 Sep 2002) |
DYNIP_TIME | = | '%H:%M:%S %Z' | date Formatierungsstring, der zum Füllen von __TIME__ verwendet wird. (Default: 12:48:15 CEST) |
DYNIP_N | = | '1' | Anzahl der Konfigurationen. |
DYNIP_SRV_n | = | 'ftp.provider.de' | FQDN des ftp-Severs auf den man die aus der Vorlage erstellte Datei kopieren möchte. |
DYNIP_USR_n | = | 'ftp-username' | Benutzername für den oben genannten ftp-Server |
DYNIP_PWD_n | = | 'ftp-password' | Passwort für den ftp-Account |
DYNIP_TEMP_n | = | '/etc/dynip_n.in' | Vorlagendatei, in der die Variablen __name__ ersetzt werden. |
DYNIP_HTML_n | = | 'dynip.html' | Name der Zieldatei auf dem ftp-Server. Möchte man die Zieldatei in einem Unterverzeichnis auf dem ftp-Server ablegen, kann man den Verzeichnisnamen im Dateinamen mit angeben; z.B.: Das Verzeichnis muss allerdings vor der ersten Übertragung erstellt werden. |
Zusätzlich zur Anpassung der Konfigurationsdatei ./config/dynip.txt muss auch die Datei ./opt/dynip.txt überprüft werden. Hier werden die Dateien aufgelistet, die mit auf den Router kopiert werden sollen. Bitte sicherstellen, dass alle mit DYNIP_TEMP_n konfigurierten Vorlagen aufgeführt werden.
Login: | ftp |
Passwort: | . (ein Punkt) |
Der Inhalt von den mit DYNIP_TEMP_n benannten Dateien, nur dass die Platzhalter (__IP__, __DATE__, __TIME__, etc.) durch ihre aktuellen Werte ersetzt wurden.