PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : IPV6 DNS-Update



Eisvogel
08.10.14, 17:27
Hallo Linux Freunde,
um ehrlich zu sein habe ich nicht viel Ahnung von dem Betriebssystem. Mein Ziel ist es einen kleinen Server für meine Daten zu haben und dieser sollte natürlich auch von außeralb erreichbar sein.
Dank meinem guten Freund der "Kabel-BW" habe ich zwar schnelles Internet, jedoch keine IPv4 Adress mehr, sondern DS-Lite.
Das heißt ich muss also einen DYN-DNS Dienst verwenden, da habe ich auch schon einen kostenlosen mit dem ich bisher ganz gute Erfahrungen gemacht habe.
Gilt es nur noch dem DNS-Dienst die IPv6 Adresse regelmäßig mit zu teilen, das funktioniert auch schon nur bisher manuell:

In crontab:

50 * * * * wget -O- --user ******* --password ******** "http://myonlineportal.net/updateddns?hostname=eisvogel.myonlineportal.net&ip=fe80::ba27:ebff:fec8:f6a1"

Da das ganze ja automatisch laufen soll macht die statisch eingetragege IP-Adresse hier nicht viel Sinn. Doch wie kann ich meine eigene IPv6 Adresse auslesen und dort einfügen?
Bisherige Bemühungen haben bis zu diesen Ergebnis gereicht:


root@raspberrypi:~# ip -6 addr show dev eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000
inet6 fe80::ba27:ebff:fec8:f6a1/64 scope link
valid_lft forever preferred_lft forever

DrunkenFreak
08.10.14, 19:10
Das ist die lokale Adresse von dir. Du musst den ganzen Spaß auf dem Router machen oder dir deine öffentliche Adresse holen. Gibt ein paar Seiten, die dir diese liefern.

Eisvogel
08.10.14, 19:22
Bei ipv6 ist die lokale adresse die öffentliche adresse

DrunkenFreak
08.10.14, 19:53
Nein ist sie nicht. fe80::/10 ist reserviert für link local.

Eisvogel
08.10.14, 20:01
Ist doch egal, lass das mal mein problem sein, ich möchte nur wissen wie ich diese adresse da rein bekomme

DrunkenFreak
08.10.14, 20:16
Bastel dir ein Skript mit grep und awk und dann hast Du Die Adresse.

Eisvogel
08.10.14, 20:26
Danke, ... war wohl ein Fehler sich hier an zu melden, bin genauso schlau wie zuvor ...

marce
08.10.14, 22:18
grep Dir doch einfach aus der Ausgabe die Zeile mit dem inet6 heraus und lass Dir von awk die 2. Spalte ausgeben.

Damit genügend Stichworte zum Googlen bekommen oder bestehst Du auf die Fertiglösung?

Eisvogel
08.10.14, 22:31
Also gut, ich hab mein Skript, aber wie bekomme ich das Ergebnis jetzt da rein?

ifconfig eth0| grep 'inet6-Adresse:'| cut -d" " -f1,3,12 | cut -d"/" -f1,3,12

marce
08.10.14, 22:39
https://www.google.de/search?q=linux+rückgabe+variable+zuweisen

Eisvogel
08.10.14, 23:17
na also, vielen dank

Eisvogel
08.10.14, 23:59
habe doch noch mal ein problem ...
wenn ich das hier in crontab eintrage funktioniert es:

wget -O- --user ********** --password ********** "http://myonlineportal.net/updateddns?hostname=eisvogel.myonlineportal.net&ip= fe80::ba27:ebff:fec8:f6a1"

wenn ich nun die version mit meinen skript eintrage geht es nicht, wenn ich jedoch exakt das selbe in der console ausführe funktioniert es:

wget -O- --user ********** --password ********** "http://myonlineportal.net/updateddns?hostname=eisvogel.myonlineportal.net&ip=`ifconfig eth0| grep 'inet6-Adresse:'| cut -d" " -f12 | cut -d"/" -f1`"

marce
09.10.14, 07:01
Je nach cron (bin mir nicht sicher, ob das allgemein gilt) mag die crontab keine Pipes.

Pack den Befehl also in ein Script und es sollte funktionieren.

gerald.hansen
23.01.15, 22:56
Von myonlineportal.net gibt es doch auch eine checkip url, welche dir mit einem "curl" oder "wget" deine IPv6 Adresse zurückliefern sollte

curl -s http://myonlineportal.net/checkip
wget -qO - http://myonlineportal.net/checkip

wenn cron jetzt keine Pipes mag, kann man das auch mit Bash Variablen lösen - Deine cronzeile müsste dann so aussehen

NEUE_IP=`curl -s http://myonlineportal.net/checkip`; wget -O- --user ********** --password ********** "http://myonlineportal.net/updateddns?hostname=eisvogel.myonlineportal.net&ip=${NEUE_IP}

Was ich aber eher glaube ist, dass bei deinem ifconfig verschiedene "locales" verwendet werden, da Du explizit nach "inet6-Adresse" suchst und ich glaube nicht, das der cron-user mit einer deutschen locale arbeitet. Da steht unter ifconfig eher "inet6 addr:"
Das kannst du ja ganz leicht prüfen in dem du in deiner crontab
* * * * * ifconfig > /tmp/ifconfig.output
einträgst, und dann einfach mal in die Datei /tmp/ifconfig.output reinschaust.

Gruß Gerald