OpenVPN als Portmapper



  • Hallo, Vollnoob hier.

    Ich würde gerne eine Art Portmapper auf einem VPS bauen oder so ähnlich.

    Was ich bereits mache ist Internet-Traffic @home von meiner pfSense mittels einer OVPN-Client-Verbindung über den Windows-VPS auszuleiten.

    Nun möchte ich es auch noch andersherum. Also auch noch Internet-Traffic, der am Windows-VPS aufschlägt auf einen Zielrechner @home weiterleiten.

    Letzteres habe ich nun geschafft, in dem ich Portforwarding mache vom VPN-Client auf den Zielrechner.

    Kann man das noch besser machen oder ist das so die einzige Lösung? Es geht zumindest.



  • @Bob-Dig

    Zuerst wieso braucht man das....
    Dann wie mach ich das denn ich will das auch haben.... ;)



  • @noplan Mortmapper z.B. für Leute, die leider nur IPv6 erreichbar haben und deswegen ein VPS anmieten um eben auch IPv4 servieren zu können.

    Musste leider feststellen, dass der Windows-Server anscheinend nur tcp 4to6 mappen kann. 😢



  • @Bob-Dig

    Sowas brauch ich unbedingt!
    Ich hab zwar noch keinen Plan was ich damit ach aber der Rest rennt auf der Box so gut jetzt kann man ruhig was herumschrauben


  • LAYER 8 Moderator

    @Bob-Dig said in OpenVPN Portmapper:

    Musste leider feststellen, dass der Windows-Server anscheinend nur tcp 4to6 mappen kann.

    Was mietest du auch Windows an ;)

    @noplan said in OpenVPN Portmapper:

    Ich hab zwar noch keinen Plan was ich damit ach aber der Rest rennt auf der Box so gut jetzt kann man ruhig was herumschrauben

    Im Prinzip völlig simpel. Kiste oder Container oder Droplet oder whatever mit 4/6 Dualstack mieten, ggf. sogar direkt gleich nen Image mit OpenVPN deployen (oder nen Minimal Linux eurer Wahl), absichern, Fail2Ban rauf, SSH auf anderen Port kleben und mit Key etc absichern und OpenVPN installieren. Fail2Ban auf SSH, UFW o.ä. für alle Ports außer SSH-neu und OpenVPN. Fertig.

    OVPN Server Konfiguration aufsetzen (da kann man ggf. auch die Konfig in der pfSense vorbereiten und exportieren ^^), pfSense als Client mit eigenem OVPN Interface konfigurieren.

    Dann kann man mit PBR gezielt Traffic via VPN ausleiten wenn man will. Beim VPN Server nimmst du dann entweder UFW/irgendwas um quasi 1:1 NAT zu machen und föhnst alles einkommende außer SSH/VPN einfach nach hinten zu der pfSense weiter. Routen nicht vergessen.

    Wenns nen VirtualServer, VM o.ä. ist wo ihr ggf. FreeBSD kompatibel arbeiten könnt - noch einfacher. Einfach ne "gehostete" pfSense Instanz draus machen (oder mit Proxmox die Kiste mit pfSense + VMs nutzen). Dann ist das Setup noch einfacher.

    Wenn man dann auf den Tunnel als Transfernetz noch ein fdXY:: Netz (private randomized v6) draufklebt kann man ggf. sogar noch das v6 Prefix des Servers per VPN durchreichen. Und Performance sparen geht auch, da der Traffic theoretisch eh "public" ist, kann man die Encryption des Tunnels weglassen und hat dann quasi nur einen UDP Tunnel. Sowohl IP4 als auch v6 Prefix könnte man dann durchblasen.



  • @JeGr

    Danke du Spielverderber...!
    Jetzt hab ich wieder ein Projekt mehr ;)


  • LAYER 8 Moderator

    Ich geb dir was zu spielen, also bin ich der F***ing Gamemaster :p



  • Was wäre denn jetzt aber ein geeigneter 4to6 Portmapper, wenn möglich kostenlos und für Win (oder linux).


  • LAYER 8 Moderator

    weil du schreibst für Linux: wofür? Du machst kein Portmapping (zumal der Begriff Portmapper was anderes ist) du NATtest bzw routest das einfach nach intern durch. Beispiel hatte ich doch oben beschrieben?

    Sorry noch krank und schreib nur ab und an mal vom Handy wenns gerade geht...



  • Ich muss mich entschuldigen, für meine Noobness. Hatte irgendwie nicht realisiert, dass ich das Problem ja bereits selbst gelöst hatte, nur halt ohne Portmapper.

    @JeGr Was Du ansprichst sind natürlich noch mal tolle Hinweise, um das Ganze noch besser/performanter aufzusetzen, danke dafür und gute Besserung.

    Eine Verständnisfrage aus Mangel an eigener Erfahrung. Ein Site2Site OVPN, kann man das auch in der pfSense nutzen um Traffic "auszuleiten" oder muss es dafür schon die Konfiguration als Client sein? Würde man ggf. mit zwei Verbindungen arbeiten, wenn man denn wechselseitig "ausleiten" wollte?


  • LAYER 8 Moderator

    @Bob-Dig said in OpenVPN Portmapper:

    Ein Site2Site OVPN, kann man das auch in der pfSense nutzen um Traffic "auszuleiten" oder muss es dafür schon die Konfiguration als Client sein?

    S2S unterscheidet sich nur marginal von RW Setup in der Hinsicht, dass bei S2S beide Seiten routen bekommen und Gateways haben, bei RW normalerweise nur die Client Seite. Somit kannst du bei S2S prinzipiell genau den gleichen Quark machen wie beim RW auch - nur eben dass es auch in die andere Richtung funktionieren würde bei Wunsch.

    Das wechselseitig versteh ich aber nicht so ganz :)



  • @JeGr Also mehr Möglichkeiten. Betrifft das eigentlich nur die pfSense oder auch OVPN selbst? Weil ich hab ja momentan einen Server auf Windows laufen, den ich nur mit viel Mühen und herumprobieren einrichten konnte. Wenn ich jetzt s2s machen wollte, werde ich wahrscheinlich failen, kein Aisstent auf der Sense und auf Windows eh nix. Ach, ich lass es besser.


  • LAYER 8 Moderator

    @Bob-Dig said in OpenVPN Portmapper:

    Wenn ich jetzt s2s machen wollte, werde ich wahrscheinlich failen, kein Aisstent auf der Sense und auf Windows eh nix. Ach, ich lass es besser.

    S2S ist in OVPN wesentlich einfacher zu konfigurieren als ein RW Setup. Und Windows oder nicht, die Konfig ist genau die gleiche. Du kannst notfalls (hatte ich auch schon) auch einfach die pfSense nutzen, die Konfig erzeugen auf Windows einspielen und gut :D Not macht erfinderisch ;)



  • @JeGr said in OpenVPN Portmapper:

    S2S unterscheidet sich nur marginal von RW Setup in der Hinsicht, dass bei S2S beide Seiten routen bekommen und Gateways haben, bei RW normalerweise nur die Client Seite. Somit kannst du bei S2S prinzipiell genau den gleichen Quark machen wie beim RW auch - nur eben dass es auch in die andere Richtung funktionieren würde bei Wunsch.

    Hallo Jens, eine Frage dazu.
    Ich habe, da ich meine pfSense komplett neumachen musste, mich an diesem setup versucht. S2S auf der Sense erstellt, anschließend exportiert und auf den WinServer importiert. Eine Verbindung kam lt. OVPN auch zustande. Ich konnte allerdings nicht auf meinen VPS zugreifen per RDP.
    In OVPN hatte ich eine erlauben any Regel. Ein Gateway habe ich aber glaube ich nicht gehabt, nur den OVPN-Server als Interface in der Sense...
    Wo war wahrscheinlich mein Fehler?


  • LAYER 8 Moderator

    @Bob-Dig said in OpenVPN als Portmapper:

    In OVPN hatte ich eine erlauben any Regel. Ein Gateway habe ich aber glaube ich nicht gehabt, nur den OVPN-Server als Interface in der Sense...
    Wo war wahrscheinlich mein Fehler?

    Ohne Bilder schwierig zu raten, aber gerade bei Windows wären meine Steps gewesen:

    • Prüfen ob die Windows Firewall an ist
    • Ggf. das OVPN Tunnel Netz und dein Remote Netz / LAN als IP Range in der WinFirewall eintragen und erlauben (sonst ist alles was nicht !localnet ist abgelehnt)
    • Mal ohne WinFirewall testen
    • RDP sollte theoretisch auch auf der TunnelIP funktionieren, also bei Tunnelnetz 10.0.8.0/24 ist ja 1 oder 2 bei S2S der Winserver, also darauf mal die RDP Verbindung getestet (schauen ob RDP auf alle IPs hört!), anschließend nochmal auf seine LAN IP versuchen
    • Test ob simpler Ping ankommt
    • Wireshark o.ä. auf Windows Kiste werfen und mitloggen, schauen ob Ping oder andere Pakete auf dem tun0/VPN Tunnel ankommen

    Könnte eventuell nur Windows selbst gewesen sein, eventuell auch das Routing Setting beim Tunnel (local-net/remote-net bei den Tunneleinstellungen - die müssen auf beiden Seiten natürlich passen, andernfalls policy based routing noch anpassen)



  • @JeGr Win-Firewalls hatte ich alle aus. Tunneleinstellungen, nun ja auf dem VPS habe ich ja quasi keine Netze. Policy Routing habe ich jetzt, also mit der alten Konfig, die ich wiederherstellen konnte, auch nicht, ich greife einfach auf die private IP des Servers zu. Wäre das bei S2S anders? Vielleicht fällt Dir ja noch was ein. Ich mache doch bestimmt die simpelsten Anfänger Fehler.


  • LAYER 8 Moderator

    wie gesagt, schauen ob RDP auf der TunnelIP geht. Wenn die Kiste als VPS bspw.

    a.b.c.d

    hat (wobei das ne public IP ist) und du dahin deinen Tunnel aufbaust mit Site2Site und willst NUR den VPS erreichen, dann

    • muss auf Server/VPS Seite in der S2S config die Remote Netz Konfig auf die IP deines LANs von dem du zugreifst
    • TunnelNetz definiert sein
    • auf Client Seite kann man dann Remote IPs leer lassen und lokal auf das LAN setzen

    Wenn aufgebaut müsste:

    • pfSense die TunnelIP pingen können (ihre eigene und die andere Seite)
    • der VPS seine eigene TunnelIP und die Gegenseite pingen
    • der VPS die LAN Devices (wenn auf der pfSense auf dem OVPN Interface Regeln existieren, die ankommenden Traffic erlauben)

    Das sollte es eigentlich sein um nur den VPS zu bekommen.



  • @JeGr said in OpenVPN als Portmapper:

    • muss auf Server/VPS Seite in der S2S config die Remote Netz Konfig auf die IP deines LANs von dem du zugreifst

    Danke Jens, das hatte gefehlt.

    Ich poste das hier mal in der Hoffnung, es bei Bedarf wiederzufinden. 😉
    route 192.168.1.0 255.255.255.0
    route 192.168.10.0 255.255.255.0

    Gibt es eine Empfehlung, welche Encryption Algorithm und Auth digest algorithm bei S2S zu nutzen sind?

    Dieser Setup ist wirklich so deutlich einfacher als der andere, wenn man denn das mit der Route weiß und/oder man per SSH die entsprechenden Dateien auf der Sense gefunden hat. 🙂


  • LAYER 8 Rebel Alliance

    Ich nutze für alle Tunnel AES-256-GCM/SHA256 und TLS Enc+Auth.

    -Rico



  • @Rico Hey Rico,

    bei S2S bzw. P2P mit Shared Key kann ich GCM nicht auswählen und speichern.

    GCM Encryption Algorithms cannot be used with Shared Key mode.
    

    Würde jetzt gerne dabei bleiben, weil so schön einfach, irgendwelche Empfehlungen oder unbedingt auf P2P SSL/TLS umsteigen?


  • LAYER 8 Rebel Alliance

    Ah Shared Key. 🤓
    Da würde ich AES-256-CBC/SHA256 machen.

    -Rico



  • @Rico Ich werde besser TLS nehmen...

    ECDH Curve default?

    PS: Schade, beim P2P TLS-Server funktioniert der Client Export nicht, dafür hätte ich die IPv4 Local network(s) im GUI eintragen können... 😠
    Warum ... alles .... so ... kompliziert.


  • LAYER 8 Rebel Alliance

    ECDH habe ich auf Default.
    Und bevor die Frage kommt DH Parameter 2048 bit ;-)

    EDIT: Ja, mit SSL/TLS kannst du Route pushen, das geht bei shared key nicht.

    -Rico



  • @Rico said in OpenVPN als Portmapper:

    EDIT: Ja, mit SSL/TLS kannst du Route pushen, das geht bei shared key nicht.

    Gibt es dafür ne logische Erklärung? Wahrscheinlich...
    Wenn ich den "guten" P2P-TLS Server will, muss ich wohl leider die Client-Config selbst schreiben. Ich weiß, die sehen alle ähnlich aus, aber trotzdem, warüm? 😮


  • LAYER 8 Rebel Alliance

    Naja, du kannst dir den passenden Client als dummy auf der pfSense zusammenbauen und dann die Config aus /var/etc/openvpn holen. ;-)

    -Rico



  • @Rico Ach scheiß drauf, shared key und gut ist. 😎
    Danke!


  • LAYER 8 Moderator

    AES256GCM-SHA256-ECDH-only mit secp384r1

    wenn GCM nicht möglich dann CBC. Wenn man schwache HW hat, kann man ggf auf 128 runter, aber das macht kaum noch was aus heute. DH wird kaum noch gemacht. DH Params <=2k sind auch nicht mehr safe.



  • Neue Probleme haben sich aufgetan.

    Zur Erinnerung, ich habe jüngst einen OVPN Server (P2P - Shared Key) auf der pfSense @home erstellt. Anschließend auf einem Windows VPS den Key exportiert und dort in OVPN geladen. Nun baut dieser VPS die Verbindung zu meiner pfSense auf. Das geht. Ich kann auch per RDP auf den VPS verbinden, nachdem ich dort routes angelegt hatte.

    Was nun entgegen dem früheren Setup, wo der OVPN-Server noch auf dem VPS war, aber nicht mehr geht ist das Ausleiten von bestimmten Internet-Traffic @home über den VPS.

    Ich vermute nun leider, das ist völlig normal, weil ja jetzt der Server auf der Sense ist.
    Was sind meine Optionen?


  • LAYER 8 Rebel Alliance

    Das OpenVPN Interface hast du hinzugefügt und nutzt es als Gateway in einer Firewall Regel?
    Was genau funktioniert denn dann nicht?

    -Rico


Log in to reply