VPN Client Ports über OpenVPN Server as Proxy erreichen

  • Hay,

    Ich komme gerade nicht mit.

    naja, mir sind mittlerweile auch schon zuviele verschiedne Class-a-b-c Netzwerke im Spiel, ich bin auch abgehängt :D


    Ich gehe gerade von folgemden aus:


    OpenVPN-Server (nc:94.16...) <-> (OpenVPN 10.0.10.0/24 [oder /30] als Transfernetz) <-> Zuhause (192.168.0.100/24 mit 192.168.0.100 als Webserver). In der Konfig ist das 10er Netz komplett irrelevant, weil das Zuhause-Netz anscheinend transparent zur Verfügung steht. ggf. korrigieren bitte :)


    CU, Peter

    Peter Kleemann // https://www.pkleemann.de // +49 621 1806222-0 // Kann Programme, Internet, Netzwerke und Telefon.

  • Ich richte gerade nochmal den VPN Server neu ein, um evtl. falsche Einstellungen durch das viele Herumprobieren auszuschließen.


    Auf meinem Mac läuft ein Nginx-Proxy Image worüber ich auf meine verschiedensten Docker-Services über meine Subdomains zugreifen kann. Dies funktioniert auch bisher wunderbar über einen kostenpflichtigen Dedicated-IP VPN-Service. Der Heim-Server ist also aus meiner Sicht nicht das Problem.


    Die konkreten Schritte dich ich jetzt durchgehen muss sind (auf dem VPN-Server):

    - IPV4 Forwarding aktivieren

    - die von @CmdrXay vorgegebenen Regeln hinterlegen

    - P2P auf dem Server aktivieren


    korrekt?

  • Hay,

    korrekt?

    ist die Frage, was Du unter P2P verstehst (ich weiß persönlich nicht, was es in dem Zusammenhang heißen soll...).


    - IPV4 Forwarding aktivieren

    - die von CmdrXay vorgegebenen Regeln hinterlegen

    Ja. In den Regeln die IP-Adresse statt der 10.0.10.100 hinterlegen, die vom OpenVPN-Server für die Webservices ping- und connectierbar ist. Und deine generellen Accept-Roules aus Posting #1 natürlich auch.


    CU, Peter

    Peter Kleemann // https://www.pkleemann.de // +49 621 1806222-0 // Kann Programme, Internet, Netzwerke und Telefon.

  • Portforwarding: Wenn es http ist, dann würde ich einfach einen vorhanden Apache mitbenutzen oder einen kleinen proxy wie haproxy benutzen. Das ist doch viel einfacher.

    "Security is like an onion - the more you dig in the more you want to cry"

  • Hay,

    Portforwarding: Wenn es http ist, dann würde ich einfach einen vorhanden Apache mitbenutzen oder einen kleinen proxy wie haproxy benutzen. Das ist doch viel einfacher.

    ... mittlerweile schon :D


    CU, Peter

    Peter Kleemann // https://www.pkleemann.de // +49 621 1806222-0 // Kann Programme, Internet, Netzwerke und Telefon.

  • Nachtrag: Aber auch haproxy, wenn es nur TCP ist. Vorteil ist dann etwas weniger Masquerading, weil der Proxy automatisch mit der korrekten IP agiert und die Client-IP dann im HTTP-Header stehen kann. Und Authentifizierung kommt auch gratis mit. Vorteil: Man leitet nicht jeden Müll ins Heimnetz, wenn man ganz vorne am vServer http-Auth benutzt.

    "Security is like an onion - the more you dig in the more you want to cry"

  • Jetzt einmal ein ganz dumme Frage von mir... DS-Lite ist doch eine Dual Stack-Anbindung. D.h. der Router kann IPv6 und hat höchstwahrscheinlich zumindest ein /64 zur Verfügung. Der Server bei Netcup kann auch IPv6. Wenn der Mac hinter dem DS-Lite-Router auch IPv6 kann, was spricht dagegen, auf dem Netcup-Server einen Proxy (Dual-Stack, also auch IPv4) einzurichten, der über IPv6 mit dem Mac spricht, um dann auf das OpenVPN völlig zu verzichten?

  • Im Bereich Netzwerktechnik kenne ich mich leider Viel zu wenig aus. Daher habe ich ja schon Probleme nur die Portfreigabe unter Ubuntu ein zurichten (funktioniert weiterhin nicht trotz mehrerer StackOverflow und co Artikeln).


    Ich habe die Firewall regeln auch noch angepasst:

    Code
    22                         ALLOW       Anywhere                  
    80                         ALLOW       Anywhere                  
    443/tcp                    ALLOW       Anywhere                  
    22 (v6)                    ALLOW       Anywhere (v6)             
    80 (v6)                    ALLOW       Anywhere (v6)             
    443/tcp (v6)               ALLOW       Anywhere (v6)

    Auch habe die die IP-Table Regeln fest in der before.rules Datei hinterlegt:


    Ich kann weiterhin nur über den Port 433 auf die OpenVPN Client-Login Seite navigieren und Verbindungen auf Port 80 werden abgelehnt.

  • ich denke einen Fehler in Deiner IPtables entdeckt zu haben, entferne jeweils die 2te (UDP-)Zeile sprich die Zeilen 7 und 18

    und weiters lass das '-m state --state NEW,RELATED,ESTABLISHED' weg


    und füge bei *nat folgendes noch hinzu:


    :PREROUTING ACCEPT [0:0]

    :OUTPUT ACCEPT [0:0]


    weiters ändere die MASQUERADE-Zeile durch


    -A POSTROUTING -o eth0 -s 10.0.10.0/24 -j SNAT --to-source <IP-vServer>

    und gebe sie als erste Regel im *nat-Teil nach den nun 3 ':"-Regeln

    Grüße / Greetings

    Walter H.


    RS, VPS, Webhosting - was man halt so braucht;)

  • Hay,

    -A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j DNAT --to-destination 10.0.10.100:80
    -A PREROUTING -i eth0 -p tcp -m udp --dport 80 -j DNAT --to-destination 10.0.10.100:80

    aber so wirklich hast Du meinen Beitrag nicht gelesen, wenn da noch die 10er IPs drinstehen, Du aber den Server unter der 192er IP ansprechen kannst wie ein paar Beiträge drüber erwähnt? Stehen da auch die entsprechenden Regeln für 443? Du brauchst UDP nicht weiterzuleiten, weil HTTP nur TCP benutzt.


    Also bitte nochmal: Du hast geschrieben, dass Du vom VServer aus den häuslichen Webserver erreichen kannst. Fakt or Fake?

    Unter welcher IP erreichst Du ihn (ping; telnet)? 192.168.0.100 oder 10.0.10.100?


    CU, Peter

    Peter Kleemann // https://www.pkleemann.de // +49 621 1806222-0 // Kann Programme, Internet, Netzwerke und Telefon.

  • Hi,

    der Thread passt eigentlich so gut zu meinem Problem, da will ich jetzt gar keinen neuen auf machen. ^^


    Ich habe folgendes vor:

    Ich habe ein Gerät in meinem OpenVPN Netz, dass in meinem Heimnetz steht, und dass ein Portforwarding auf ein anderes Gerät im Heimnetz machen soll.


    Sagen wir mal, das Gerät im OpenVPN ist Gerät A und hat im VPN Netz die IP 10.8.0.4. Und das Gerät im Heimnetz ist Gerät B, und hat dort die IP 192.168.178.10.
    Ich möchte nun also Port 80 von Gerät B als Port 8080 auf Port A umleiten, sodass ich sozusagen unter 10.8.0.4:8080 das Ziel 192.168.178.10:80 erreichen kann.

    Und optimalerweise würde ich den Zugriff auf Gerät A 10.8.0.4:8080 gerne so limitieren, dass nur 10.8.0.5 aus dem VPN Netz darauf zugreifen kann.


    Allerdings bin ich aus den bisherigen Antworten hier im Thread und von Google und Co. noch nicht so ganz schlau geworden und habe auch nach einigen Tests noch nichts funktionierendes gefunden, daher wäre ich dankbar für ein paar Beispielregeln für iptables, sowie evtl. auch eine kleine Erklärung, was genau die dann machen. :)


    Danke!

    "Denn der radikalste Zweifel ist der Vater der Erkenntnis."

    -Max Weber