• This forum has a zero tolerance policy regarding spam. If you register here to publish advertising, your user account will be deleted without further questions.

Portforwarding Via vserver Strato

konty

New Member
Hallo zusammen,

ich habe eine kleine Problem und zwar habe ich einen raspberry Pi mini Computer, dieser steht bei uns im Garten und hat einen USB-Stick für die Internetverbindung, leider erlaubt der Provider keine eingehenden Verbindungen, daher hatte ich die Idee einen weg über meinen vServer von Strato zu finden. Dieser hat zwei IP Adressen und bietet einen OpenVPN server nur weiß ich nicht wie ich diesen für folgenden weg Konfigurieren muss.

OS auf dem vServer ist Ubuntu 12.04

Es soll folgendes gehen:

Eine Anfrage Über Port 80 oder ähnlichem geht auf der zweiten Netzwerkkarte venet0:1 des Strato Servers ein, dieser nimmt die Anfrage an und gibt diese an den Respberry Pi weiter der mit dem vServer via OpenVPN verbunden ist.
 
Über ähnliche Szenarien habe ich auch schon nachgedacht da ich einen DS-Lite Anschluss habe (also nur Nativ IPv6 und eine private IPv4).
Zunächst habe ich auch mit OpenVPN gespielt, bin dann aber schnell zu SSH-Tunneln gewechselt, da ich nur einzelne Ports an meinem Raspberry brauchte.

Schau dir einen SSH Tunnel an, um einen Port von deinem Vserver zu deinem Raspberry weiter zu leiten. Wenn das für dich praktikabel ist, solltest du weiterhin dir "autossh" ansehen. Damit werden die SSH Tunnel stabiler, da diese neu aufgebaut werden, falls die Verbindung unterbrochen wird (24 Reconnect etc.)
 
OpenVPN mit tun0 zu konfigurieren ist nicht wirklich schwer. Gibt etliche tutorials dafür und mindestens eines sogar auf der offiziellen Website. Einfach die tun (nicht tap) Methode nehmen und den vServer als Server Endpunkt nehmen.

Mit iptables und dem DNAT-Target sollte das Port-Forwarding dann möglich sein:

Code:
iptables -t nat -A PREROUTING -d x.x.x.x -p tcp --dport 80 -j DNAT --to-destination y.y.y.y

x.x.x.x mit der IP des vServers auf der Port 80 weitergeleitet werden soll ersetzen.
y.y.y.y mit der internen IP des Raspberries ersetzen.
 
Hallo djrick,

kannst du mir nen heißen tipp geben?

Muss ich den SSH tunnel vom Server aus aufbauen oder vom Client aus?

der Befehl sieht bei mir zur Zeit so aus:

Code:
ssh -fN root@10.8.0.10 -L 8888:10.8.0.10:80

oder habe ich gerade einen Denkfehler?
 
Mit autossh baue ich vom Raspberry zum Vserver die Verbindung wie folgt auf:
Code:
autossh -f -M 5180 -N -g -R [::]:5080:localhost:80 <ipv6 des vservers>

Port 5080 ist der Port auf dem Vserver. Port 80 mein Raspberry Port 80.
Vorher habe ich SSH Key Authentifizierung eingerichtet, so dass ich von meinem Raspberry zum Vserver kein Passwort benötige.
 
Hey djrick,

danke für den Befehl für das autossh, leider funktioniert das ganze bei mir nicht, also der Befehl funktioniert, am Server wird auch der Port 5080 oder 8888 je nachdem welchen Port ich definiere geöffnet.

Ich habe auch beide Ports in iptables auf ACCEPT gesetzt doch leider tut sich nix, ich sehe zwar im counter das die regeln entsprechend angewendet wird, nur weiß ich gerade nicht wo es klemmt, hast du noch nen tipp wo ich suchen kann?

Gruß Micha
 
Schau doch mal auf welchen Interfaces "gelauscht" wird von dem Webserver dienst, vielleicht musst du ein anderes Interface nehmen.

Der o.g. Befehl ist für einen IPv6 Tunnel.
 
Hey,

ich habe das jetzt alles mal on detail kontrolliert. Aus irgendeinem Grund wird der Port 8000 nur für den localhost und nicht für die externe IP Adresse bereitgestellt, ich bin leider noch nicht fündig geworden wie ich dem Befehl sage das er den Port auf allen Interfaces bereitstellen soll.

Danke und Gruß Micha
 
ändert leider nichts, der server gibt den port nur auf dem lo interface frei und nicht auf dem eth0
 
Es gibt mehrere Möglichkeiten:
Code:
autossh -f -M 8001 -N -R *:8000:localhost:80 user@xxx.dyndns.org

oder anstelle der 0.0.0.0 die IP Adresse von eth0
 
Back
Top