Welcome, Guest. Please login or register.
Did you miss your activation email?

Author Topic: [DE] WAN IP-Adresse aus DSL-Router auslesen und auf webspace hochladen  (Read 9092 times)

Klemmerle

  • Guest
Hallo zusammen,
um von außerhalb eine ssh-Verbindung aufbauen zu können, möchte ich meine WAN-IP-Adresse auf meinen Web-Server als Datei hochladen.
(Dyndns o.ä. möchte ich nicht verwenden)

Dazu lese ich  die IP-Adresse aus meiner Vodafone-Starterbox aus.

Ein Skript-Beispiel für eine Fritz-box habe ich hier gefunden:

http://http://wiki.ubuntuusers.de/FritzBox/Skripte

Code: [Select]
wget 'http://fritz.box/cgi-bin/webcm?getpage=../html/de/menus/menu2.html&var:lang=de&var:menu=home&var:pagename=home' -q -O - | grep -Eo '\<[[:digit:]]{1,3}(\.[[:digit:]]{1,3}){3}\>' | grep -Ev "^0+\."
ohne weitere Skrip-Kenntnisse konnte ich das Skript ändern damit mir auch meine Starterbox die IP-Adresse auswirft:

Code: [Select]
wget 'http://192.168.2.1' -q -O - | grep -Eo '\<[[:digit:]]{1,3}(\.[[:digit:]]{1,3}){3}\>' | grep -Ev "^0+\."
Das Ergebnis ist dann z.B.:
Code: [Select]
88.69.6.152
Wie bekomme ich diese Ausgabe per ftp auf meinen webspace hochgeladen? - z.B. in eine Datei "IP-Home.txt"
Anschließend müßte ich diese Aktion 1x pro Stunde wiederholen (cron-job?)


Gruß Klemmerle
« Last Edit: 2015/04/09, 20:11:11 by Klemmerle »

Offline bluelupo

  • User
  • Posts: 2.068
    • BluelupoMe
Hi Klemmerle,

das Kommando curl sollte das können.

Beispiel hier http://wiki.ubuntuusers.de/cURL unter Stichwort "Upload".

Klemmerle

  • Guest
Hallo bluelupo,

danke für Deinen Tipp.
Ich hänge jetzt bei einem Zertifikatsproblem:

Code: [Select]
curl: (51) SSL peer certificate or SSH remote key was not OK

weiß jemand, wie ich den Parameter
Code: [Select]
ssl_verify_host=0mit in die Kommandozeile hineinbekomme?

Gruß Klemmerle

Offline ab

  • User
  • Posts: 117
@Klemmerle

probier bitte:
Code: [Select]
curl --insecure
gruß (ab)

Klemmerle

  • Guest
Danke, ab,

das hat geholfen!

die funktionierende Syntax lautet jetzt:

Code: [Select]
curl -T ip.txt sftp://user:passwd@server:22  --insecure
Mal schaun, ob ich das ganze jetzt noch in eine .sh verpackt bekomme...

Gruß Klemmerle

Offline ab

  • User
  • Posts: 117
@Klemmerle

Tipp vorweg: curl ifconfig.me - dauert etwas, funzt jedoch ganz gut.

So könnte es gehen:

1) Einen Editor hernehmen (Kate, vim, nano etc) und in eine Datei (hier: myIPscript.sh) hineinschreiben:
Code: [Select]
#!/bin/bash

#       NAME:   myIPscript.sh
#       LOCA:   /home/BENUTZERNAME/myIPscript.sh
#       DESC:   schreibt WAN-IP in ip.txt, sendet ip.txt an Server

curl ifconfig.me > /tmp/ip.txt && curl -T /tmp/ip.txt sftp://user:passwd@server:22  --insecure


2) Das Ganze im Terminal des geringsten Misstrauens ausführbar machen und zwei für die Cron-Tabelle notwendige Werte ermitteln:
Code: [Select]
chmod +x myIPscript.sh
...
echo 'SHELL='$SHELL && echo 'PATH='$PATH

3) Cron-Tabelle zum Editieren öffen:
Code: [Select]
crontab -e

Dort sollte eingetragen werden, ähnlich:
Code: [Select]
# ... Kommentare
SHELL=/bin/bash
PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
@hourly /home/BENUTZERNAME/myIPscript.sh > /dev/null

Hoffe, das hilft.

Gruß (ab)

Klemmerle

  • Guest
Hallo ab,

Deine Anleitung hat super funktioniert (und war auch meinem Niveau angepasst :-)

Meine WAN-Adresse lese ich wie im 1.Posting genannt aus meiner easy.box (Starterbox von Vodafone) aus, dann brauche ich keine
externe Webseite bemühen.

Das Skript läuft inzwischen schon erfolgreich auf meinem Raspberry Pi.

Also Dank für Euren Support  :)

Gruß
Klemmerle