Raspberry als VPN Gateway (Routing Problem)

L I V E Stammtisch ab 20:30 Uhr im Chat
  • Hi,

    ich versuche gerade 2 Raspberries als VPN Gateway zu verwenden, erstmal vielleicht warum ich das vorhabe ;)

    Ich habe einen Internet Anschluss von KabelBW. KabelBW stellt bei Neuverträgen auf IPv6 um, der Ipv4 Traffic wird getunnelt und die IPv4 Adresse wird von mehreren Kunden benutzt. Somit ist es leider nicht möglich per PortForwarding von außen auf das Netz zuzugreifen (kein Webserver, FTP,...) Klingt scheiße, laut allem was ich bisher gelesen habe, ist es aber so.

    Meine Idee um da zu umgehen:
    - Ich habe einen RPI als VPN Server eingerichtet, der liegt bei meinen Eltern mit IPv4. (TUT)
    - Der zweite RPI ist ein VPN Client und wählt sich beim Server ein (TUT Auch)

    - So jetzt kommt das Problem, alle Pakete auf Port 80 muss ich an meinen Webserver hier im lokalen Netz weiterleiten, dafür müssten folgende Schritte nötig sein:

    1. Router --> Server RPI (geht)
    2. Server RPI eth0 --> Server RPI tun 0 (VPN Tunnel geht nicht)
    3. Server RPI tun0 --> Client RPI tun0 (geht nicht)
    4. Client RPI tun0 --> Client RPI eth0
    5. Client RPI eth0 --> Webserver

    Ich habe schon verschiedene Sachen mit iptables versucht, hat bisher nichts funktioniert. Allerdings muss ich auch zugeben, dass ich nicht unbedingt der große Linux Profi bin.
    Dank Wireshark weiß ich, dass die Pakete am eth0 ankommen, aber bisher nicht an tun0 weitergeleitet werden.

    Kann mir jemand mit der Portweiterleitung weiterhelfen oder habe ich evtl. noch irgendwo einen Denkfehler?

    Danke und viele Grüße

    Matthias

  • Hey,
    danke für das Tutorial, wo es grob hin muss war mir ja schon klar, mir hat eher das wie gefehlt.

    Habe es jetzt aber gelöst bekommen, war auch nicht ganz so umständlich, wie ich gedacht hatte. Es sind lediglich die folgenden drei Routen nötig:
    - Router --> VPN Server RPI
    - VPN Server RPI --> VPN Client RPI
    - VPN Client RPI --> Webserver

    Falls jemand etwas ähnliches versucht, ich habe es mit Iptables und den folgenden Befehlen gelöst:

    Zum Weiterleiten vom VPN Server zum Client (Dabei ist 10.8.0.6 die VPN Adresse des zweiten PIs. solte möglichst statisch sein ;) :(

    iptables -A INPUT -p tcp --dport 80 -j ACCEPT
    iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 10.8.0.6:80
    iptables -t nat -A POSTROUTING -j MASQUERADE

    Zum Weiterleiten vom Client an den Webserver (192.168.0.225 ist dabei die IP des Webservers)

    iptables -A INPUT -p tcp --dport 80 -j ACCEPT
    iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 192.168.0.225:80
    iptables -t nat -A POSTROUTING -j MASQUERADE

    An beiden PIs muss IPv4 forwarding aktiviert sein
    Wenn man weiß wies geht eigentlich ganz einfach ;)

    Was ich nicht ausprobiert habe ist, ob ich direkt vom Server an den Webserver weiterleiten kann, wobei dafür vermutlich ein Standardgateway nötig wäre.

    Viele Grüße

    Matthias

  • Wenn du NAT machst dann funktioniert der Zugriff auf Dateien jedoch nur in eine Richtung.

    A kann auf die Daten vom B zugreifen.
    B nicht auf die Daten von A.

    Offizieller Schmier und Schmutzfink des Forum.
    Warum einfach wenn's auch schwer geht ?

    Kein Support per PN !
    Fragen bitte hier im Forum stellen. So hat jeder etwas davon.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!