Android VPN ständig über die feste vServer IP nach Hause

  • Hallo zusammen,


    ich versuche seit einige Tage folgendes:


    VPN-Root-Home.jpg



    - Ein Androidtelefon soll eine ständige VPN-Verbindung zu meinem Heimnetzwerk aufbauen. Dazu wird eine feste IP-Adresse benötigt.

    - Der vServer (Debian) soll alle Anfragen an das Heimnetzwerk weiterleiten (in erster Linie alle VPN anfragen, könnten aber auch andere Services sein). Also IP-Forwarding aktivieren und dann die Pakete für IP/Sec einfach nach Hause weiterleiten:

    Code
    1. echo "1" > /proc/sys/net/ipv4/ip_forward
    2. /sbin/iptables -t nat -A PREROUTING -p udp --dport 500 -j DNAT --to-destination 40.0.0.1:500
    3. /sbin/iptables -t nat -A PREROUTING -p udp --dport 4500 -j DNAT --to-destination 40.0.0.1:4500
    4. # könnten auch DNS, WEB, oder irgendwelche anderen Ports sein


    So einfach ist es aber leider nicht.


    Im Grunde genommen möchte ich alle Anfragen an die öffendliche IP-Adresse des vServers nach Hause umleiten (gerne Web, DNS, VPN, etc.)


    Ich muss die Pakete in das Heimnetzwerk umleiten um diese dort verarbeiten! Der vServer ist mit seinen 10 GB HDD und den 128 MB RAM zu schwach auf der Brust.


    Kann mir jemand einen Rat geben?

  • Der vServer ist mit seinen 10 GB HDD und den 128 MB RAM zu schwach auf der Brust.

    liegt hier nicht das Problem des falschen Werkzeugs vor?


    Ich muss die Pakete in das Heimnetzwerk umleiten um diese dort verarbeiten!

    dann braucht es nicht diese verkorkste Lsg.,

    welche ich aus Sicherheitsgründen schon nicht in Betracht ziehen würde;

    Grüße / Greetings

    Walter H.


    RS 1000 SAS G8 xRAM; RS 500 SSD G8; S 1000 G7; VPS 200 G8 Akt.; Webhost. 1000 m. 75%

  • Hi mainziman,

    danke für deine Antwort.


    • Ich sehe keine Sciherheitsbedenken, wenn mein Heimnetzwerk durch die Umleitung quasi über eine feste IP-Adresse erreichbar ist (ist dein VPS 200 bei Netcup ja auch).
    • Als verkorkste Lösung sehe ich das "iptables PREROUTING" auch nicht - ist ja implementiert worden weil es den technischen bedarf gibt. Leider bekomme ich es so nicht zum laufen.


    Hast Du oder jemand anderes vielleicht eine technische Hilfestellung wie die iptables rule aussehen müsste das die gewünschten Ports weitergeleitet werden?


    Beste Grüße

    Stefan K aus R

  • Mit den obigen Befehlen änderst du nur die Destination IP in deinen Paketen, dein Router versucht dann die Pakete direkt an dein Handy zurückzusenden ohne die Rückroute über deinen Server zu nutzen. Du musst auch noch die Source IP über POSTROUTING auf die des Servers ändern.

  • Wenn du am Ende erst einmal nur eine VPN Verbindung zur FB aufbauen willst, währe da ein Dyndns Dienst (kann auch ein eigener sein) nicht einfacher? Alternativ ein VPN auf dem VPS aufsetzen und dich dann bei der FB und dem Handy verbinden.

  • Mit den obigen Befehlen änderst du nur die Destination IP in deinen Paketen, dein Router versucht dann die Pakete direkt an dein Handy zurückzusenden ohne die Rückroute über deinen Server zu nutzen. Du musst auch noch die Source IP über POSTROUTING auf die des Servers ändern.

    Skl Hast du das schon probiert?


    Hier ein Artikel, wie man die Weiterleitung mit iptables realisieren kann:

    http://jensd.be/343/linux/forw…t-using-nat-with-iptables

  • Hallo,

    danke für die Tips. Die Anleitung von "ehlers" (forward with iptables) war sehr hilfreich und hat mich zu folgender Lösung geführt (Android-Gerät im Internet <--> Rootserver im Internet <--> Fritzbox <--> Heimnetzwerk):


    iptables auf dem Rootserver konfigurieren:


    Im Anschluß folgende Einstellung am Android-Gerät vornehmen:


    Android-Gerät -> Einstellungen -> Verbindungen -> Weitere Verbindungseinstellungen -> VPN -> VPN-Profil hinzufügen


    Name: DerNameIstSchallUndRauch

    Tpy: IPSec Xauth PSK

    Server-Adresse: IP-Adresse des Rootservers

    IPSec Identifier: IPSec-ID des Fritzbox VPN-Benutzers

    IPsec Pre-shared Key: IPSec-Schlüssel des Fritzbox VPN-Benutzers


    Erweiterte Optionen Anzeigen muss ausgewählt werden

    DNS-Suchdomäne kann frei bleiben

    DNS-Server einzutragen - zum Beispiel google 8.8.8.8

    Routen-Weiterleitung kann frei bleiben

    Proxy / Proxy-Hostname / Proxy-Port können frei bleiben


    Benutzernamen: IPSec-ID des Fritzbox VPN-Benutzers

    Passwort: Passwort auf der Fritzbox für den Fritzbox VPN-Benutzer


    Haken setzen bei "VPN immer eingeschaltet"


    ---

    Das war's. Bei mir kann jetzt eine dauerhafte VPN-Verbindung von dem Android-Gerät in das Heimnetzwerk über den Rootserver hergestellt werden.

  • Die Hälfte ist geschafft. Es fehlt ein Script das auf dem Rootserver läuft und die aktuelle IP-Adresse des Heimnetzwerks prüft und bei Veränderung (alle 24 Stunden eine neue IP durch den ISP) die iptables - rules aktualisiert.


    Das Heimnetzwerk ist über eine Dyndns-Adresse erreichbar die von der Fritzbox aktuell gehalten wird.

    • Script soll mittels "PING / alle 20 Sekunden" die aktuelle IP prüfen
      ping heimnetzwerk.meinBevorzugterDyndnsDienst.org
    • Bei neuer IP die bestehenden iptables - rules löschen
      iptables -t nat -F ( oder wie geht das granularer?)
    • Neue rules mit aktualisierter IP hinzu fügen
      iptables -t nat -A PREROUTING -p udp --dport 500 -j DNAT --to-destination <IP-ADRESSE_ZU_HAUSE>:500
      iptables -t nat -A PREROUTING -p udp --dport 4500 -j DNAT --to-destination <IP-ADRESSE_ZU_HAUSE>:4500
      iptables -t nat -A POSTROUTING -p udp -d <IP-ADRESSE_ZU_HAUSE> --dport 500 -j SNAT --to-source <IP-ROUTSERVER>
      iptables -t nat -A POSTROUTING -p udp -d <IP-ADRESSE_ZU_HAUSE> --dport 4500 -j SNAT --to-source <IP-ROUTSERVER>

    ---

    Fragen - die man sich sicher auch alleine bei google raus suchen kann, aber dabei nicht von eurer Erfahrung profitieren kann ;-):

    • Wo kommt so ein Script hin? Früher habe ich es einfach unter /etc/init.d/scriptname abgelegt aber es gibt heute ein Mechanismus den man zum erstellen solcher Scripte nutzen soll, oder?
    • Wie bekomme ich die iptables - rules permanent gespeichert - so, dass diese nach dem Neustart noch da sind ud IP-Forwarding noch aktiviert ist?