DynDns Automatisch updaten vor login

Cynic110

Mitglied
Hallo!
Ich hab mir einen Server zurecht gebastelt.. mal wieder .. -.- *g nur hab ich jetzt ein problem. Apache, ftp, php, mysql, samba... alles läuft wunderbar. Nur will ich auch von aussen erreichbar sein. Da ich DSL hab, und somit eine Dynamische IP ists nur etwas doof.. ich hab einen account bei DynDns.org und Linux Fedora Core 3. Nun Mein Problem:

ich wähle mich mit einem router ins internet ein. Dieser Router hat keine DynDns unterstützung, was ja bedeutet das ich das auf dem server selber machen muss. Der Router hat aber zur folge das ich nicht einfach die IP die an eth0 eingestellt ist (static IP) nehmen kann wie es in den Updatern der fall wäre, die ich bisher gefunden habe^. Ich hab mir das folgendermaßen ausgedacht.
<p align=center>Der Router kriegt eine IP<br>
<b>|</b><br>
Mein Server startet Linux<br>
<b>|</b><br>
beim hochfahren wird meine IP herausgefunden(<b>nur wie</b> :confused: )<br>
<b>|</b><br>
IP wird an DynDns geschickt.
</p>
Wie man sehen kann soll das alles vor dem Login Bildschirm passieren... also im RunLevel 5 ists bei mir.. hoffe es gibt da ne lösung.

Ich hatte schonmal eine Lösung nur hab sie vergessen bzw das is schon soo lange her.. -.- da hab ich das mit PHP realisiert.. da gabs ein script für nur weiß ich nicht wie ich das in den Bootvorgang einbinden soll :confused:
Für andere Vorschläge wäre ich sehr dankbar!

greetz aus Duisburg!
 
Zuletzt bearbeitet:
Hi,

wenn du einen dyndns Account hast, wieso nimmst du nicht folgenden Dienst in Anspruch

dyndns-webclient

Hier bekommst du die IP angezeigt die dein Router im Internet hat.
Bastel dir noch ein kleines Shell-Script das diese URL aufruft und dann mit diesen Daten deinen dyndns aktualisiert.
 
ja nur liegt gerade da mein Problem. Ich kann nicht so ein script eben so schreiben... ;) sowas kann ich einfach nicht. (noch nicht). Ich mein ein Script das die IP Adresse holt. hätte ich. nur wie soll ich das in den bootvorgang einbinden?
Code:
bla/blubb/dyndnsip.php start
oder sowas geht ja schlecht ;) *G
 
Hi,

also folgendes funtioniert super:
Code:
#!/bin/sh

USERNAME="USER"
PASSWORD="PASSWORT"
HOST="HOST.DYNDNS.org"
IP=`lynx --dump http://checkip.dyndns.org | awk -F: '{print $2}'`
UPDATE=`curl -s -A -u "$USER:$PASSWORD" https://members.dyndns.org/nic/update?hostname=$HOST`
echo $UPDATE

Pack das in dein Dial-In-Script und die Sache sollte laufen.
Natürlich kann man noch div. Checks einbauen, aber das überlasse ich dir ;)
 
Johannes Röttger hat gesagt.:
Code:
IP=`ifconfig ppp0 | grep "inet addr:" | cut -d : -f 2 | cut -d " " -f 1`
Dann kann man sich den Luchs ersparen. :)

Hi,

aber er will die externe-IP von seinem Router haben und nicht die von seinem internen Linuxserver, wenn ich mich nicht täusche.
 
Dann halt
Code:
IP=`ssh root@192.168.1.1 ifconfig ppp0 | grep "inet addr:" | cut -d : -f 2 | cut -d " " -f 1`
...
*schulterzuck*
 
Danke schonmal für die Antworten! :)

Nur habe ich kein Dial in Script^^^ der Router wählt sich ein. Das ist ein kleiner Hardware router, da kann ich so ein script nicht einbinden...
wie kann ich denn ein php script, das die ip von ner internet seite holt, beim booten laden? gibt es da eine möglichkeit? :confused:
 
Ja, eine Datei in /etc/init.d kopieren, in das Runlevel linken oder linken lassen (rc-update etc), in die Datei in der ersten Zeile folgendes stehen lassen:

Code:
#!/usr/bin/php
Darunter dann das PHP-Script.
 
Johannes Röttger hat gesagt.:
Dann halt
Code:
IP=`ssh root@192.168.1.1 ifconfig ppp0 | grep "inet addr:" | cut -d : -f 2 | cut -d " " -f 1`
...
*schulterzuck*

Der entscheidene Nachteil ist das die Methode gegenüber der von imwheasel bei nem
Hardware Router wegfällt... ;)

Gruß

RedWing
 

Neue Beiträge

Zurück