# DynDns Automatisch updaten vor login



## Cynic110 (19. Dezember 2004)

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>  )<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   
Für andere Vorschläge wäre ich sehr dankbar!

greetz aus Duisburg!


----------



## imweasel (20. Dezember 2004)

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.


----------



## Cynic110 (20. Dezember 2004)

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?

```
bla/blubb/dyndnsip.php start
```
oder sowas geht ja schlecht  *G


----------



## imweasel (20. Dezember 2004)

Hi,

also folgendes funtioniert super:

```
#!/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


----------



## JohannesR (21. Dezember 2004)

```
IP=`ifconfig ppp0 | grep "inet addr:" | cut -d : -f 2 | cut -d " " -f 1`
```
Dann kann man sich den Luchs ersparen.


----------



## imweasel (21. Dezember 2004)

Johannes Röttger hat gesagt.:
			
		

> ```
> 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.


----------



## JohannesR (21. Dezember 2004)

Dann halt 
	
	
	



```
IP=`ssh root@192.168.1.1 ifconfig ppp0 | grep "inet addr:" | cut -d : -f 2 | cut -d " " -f 1`
```
...
*schulterzuck*


----------



## Cynic110 (21. Dezember 2004)

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?


----------



## JohannesR (21. Dezember 2004)

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:


```
#!/usr/bin/php
```
Darunter dann das PHP-Script.


----------



## RedWing (21. Dezember 2004)

Johannes Röttger hat gesagt.:
			
		

> Dann halt
> 
> 
> 
> ...



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

Gruß

RedWing


----------



## JohannesR (21. Dezember 2004)

Warum benutzt man sowas auch? *schulterzuck* Ich hab hier nen Linksys WRT54G rumstehen, OpenWRT drauf... Kostet ca 50 Euro, ist Firewall und Router in einem... Waehlt sich ein und aus... Alles klasse.


----------



## Cynic110 (22. Dezember 2004)

Ich hab es jetzt doch endlich geschafft... -.- mit ddclient... Irgendwie war ich zu blöd.. hab den client irgendwie übersehen in der client liste von dyndns.. bzw übersehen das der sogar meinen router unterstützt und auch getwebip beherscht.. -.- 
Musste dann nur die entsprechenden zeilen ändern und fertig. Das Ein binden dieser Datei war dann ganz einfach weil der deamon als service läuft... okay
Danke aber für alle Antworten wenigstens weiß ich jetzt wie ich php scripte beim booten ausführen kann! =)
hatte zuerst ein kleines problem, hab das php script eingebunden in den bootvorgang. Doch dann hing der immer an der stelle beim booten... da kamen so viele error messages. *g

naja ok
THX @all ^^
 ;-)


----------

