Per OpenVPN auf LAN Netz zugreifen



  • Hallo!

    Ich habe folgende Config:

    ISP Modem –- pfSense --- DLink Router --- Server
                                                          --- PC's...

    Nun habe ich auf meiner pfSense ein OpenVPN eingerichtet auf den ich zugreifen kann. Dieser liegt im Netz 192.168.3.0/24. Nun habe ich dieses Netz als LAN Rule freigegeben in der Hoffnung von extern, auf mein LAN Netz, sprich auf den DLink Router zugreifen zu können, doch leider passiert nichts wenn ich dessen WAN IP versuche zu erreichen.

    Habe ich ein Denkfehler?



  • @mrsunfire:

    Nun habe ich auf meiner pfSense ein OpenVPN eingerichtet auf den ich zugreifen kann. Dieser liegt im Netz 192.168.3.0/24. Nun habe ich dieses Netz als LAN Rule freigegeben in der Hoffnung von extern, auf mein LAN Netz, sprich auf den DLink Router zugreifen zu können, doch leider passiert nichts wenn ich dessen WAN IP versuche zu erreichen.

    Habe ich ein Denkfehler?

    1. gibt es beim Client im Log ein "route push 192.168.3.0/24 ?  (wenn Windows Vista/7: wurde OpenVPN mit Administrator-Rechten ausgeführt) ?
    2. kannst Du z.B. die FW mit der internen IP erreichen / sieht man ggf. geblockte Verbindungen im Firewall Log
    3. darf der DLINK ROuter überhaupt auf seiner WAN IP angesprochen werden bzgl. Webinterface ? (von pfSense / anderen Rechner im 192.168.3.0-er Netz aus z.B. testen)


  • Ich habe mich etwas falsch ausgedrückt, entschuldigung. Ich kann meinen DLink Router erreichen. Diesem habe ich eine statische IP "192.168.1.199" zugewiesen. Diese kann ich auch anpingen. Nur die Geräter hinter dem Router dann nicht mehr. (Diese liegen dann im IP Bereich 192.168.0.0/24) Wenn ich jedoch auf dem Server (192.168.0.197/24) einen HTTP Server laufen lasse und nun über VPN darauf zugreifen möchte mittels 192.168.1.199:80, werde ich an diesen weitergeleitet.
    Nun möchte ich jedoch meine Netzwerkfreigaben sehen die der Server bereitstellt, dies funktioniert jedoch nicht. Port 445 und 137-139 sind offen.

    EDIT:

    Ich habe mich nun mal mit dem iPhone via IPSec verbunden. Das iPhone hat die IP 192.168.10.2/24. Diese kann ich nun jedoch von meinem Server (192.168.0.197/24) anpingen. Umgekehrt, sprich iPhone zum Server funktioniert jedoch nicht. Ich denke hier liegt der Hund begraben, die Frage ist nur wieso.

    EDIT2:

    Was mich etwas wundert, wenn ich mit auf wieistmeineip.de während ich mit dem iPhone per VPN verbunden bin, meine IP anzeigen lassen will, bekomme ich die öffentliche IP des iPhones und nicht die der Firewall. Sprich ich habe die gleiche IP, als wenn ich ohne VPN surfen würde. Ist das so korrekt?



  • @mrsunfire:

    Ich habe mich etwas falsch ausgedrückt, entschuldigung. Ich kann meinen DLink Router erreichen. Diesem habe ich eine statische IP "192.168.1.199" zugewiesen. Diese kann ich auch anpingen. Nur die Geräter hinter dem Router dann nicht mehr. (Diese liegen dann im IP Bereich 192.168.0.0/24) Wenn ich jedoch auf dem Server (192.168.0.197/24) einen HTTP Server laufen lasse und nun über VPN darauf zugreifen möchte mittels 192.168.1.199:80, werde ich an diesen weitergeleitet.
    Nun möchte ich jedoch meine Netzwerkfreigaben sehen die der Server bereitstellt, dies funktioniert jedoch nicht. Port 445 und 137-139 sind offen.

    daher die Frage, ob die Clients ein "route push" erhalten haben…

    1. Du musst das Server-Netzwerk 192.168.0.0/24 dem Client bekannt machen, sonst kennt er nur den OpenVPN Server als direkte Route
         (und weil sein OpenVPN Gegenseite .auch eine IP aus 192.168.0.0/24 hat, kann er genau die meist ohne Probleme ebenfalls erreichen).

    2. Falls der OpenVPN Server nicht gleichzeitig das default Gateway für die anderen Rechner/Server aus dem Netz 192.168.0.0/24 ist
         (bei pfSense als Firewall geh ich mal davon aus), müsstest Du auf allen Servern die "Rückroute" definieren:
         route add -net <openvpn netzwerk="">gw <openvpn server="">.

    @mrsunfire:

    EDIT:
    Ich habe mich nun mal mit dem iPhone via IPSec verbunden. Das iPhone hat die IP 192.168.10.2/24. Diese kann ich nun jedoch von meinem Server (192.168.0.197/24) anpingen. Umgekehrt, sprich iPhone zum Server funktioniert jedoch nicht. Ich denke hier liegt der Hund begraben, die Frage ist nur wieso.

    IPSec ist ein anderes Problem; es ist wie man öfters lesen kann jedoch ein simples 1:1 Verbindungsprotokoll und kennt keinerlei
    (automatisch gesetzte) Routen und deswegen kennt dein IPhone auch keine Hin-Richtung zum 192.168.0.0/24-er Netz.

    Wenn Du vom Server zum iPhone pingen kann, ist deine pfSense wie erwartet das Default GW… damit weis sie, wo was hingehört.
    und die pfSense kann den Ping/Connect zum iPhone "durchstellen"; warum hier das IPhone in Rück-Richtung kommunizieren kann;
    k.A. ;) ... vielleicht schickt das Iphone einfach das Antwortpaket an das Interface zurück, von dem es das Paket erhalten hat.?

    @mrsunfire:

    EDIT2:
    Was mich etwas wundert, wenn ich mit auf wieistmeineip.de während ich mit dem iPhone per VPN verbunden bin, meine IP anzeigen lassen will, bekomme ich die öffentliche IP des iPhones und nicht die der Firewall. Sprich ich habe die gleiche IP, als wenn ich ohne VPN surfen würde. Ist das so korrekt?

    OpenVPN ist nicht PPtP, dass das default GW per default verbiegt ^^… aber es geht auch hier...
    http://www.georglutz.de/blog/2010/01/24/wie-man-den-kompletten-internet-verkehr-uber-openvpn-tunnelt/
    nicht getestet, aber sieht aus nach Option: push "redirect-gateway def1"

    EDIT: Hier wohl die Lösung, wie man IPSec die Netze hinzufügt - über eine weitere Phase2 Definition:
    http://forum.pfsense.org/index.php/topic,61853.msg333968.html#msg333968</openvpn></openvpn>



  • Vielen Dank für die Antwort, ich konnte all meine Probleme nun lösen!

    Das Hauptproblem war der DLink Router hinter dem sich mein LAN mit allen Endgeräten befindet! Dieser hat eine NAT Firewall, mit der man zwar Ports weiterleiten kann, aber eben nur an bestimmte Adressen und nur diese Ports. Eine Anfrage nach einer LAN IP auf seine WAN Seite (also von pfsense kommend), ignoriert er, da er wohl sagt "du bist Internet und hast nichts in meinem LAN zu suchen, daher sage ich zu der LAN IP einfach garnichts". Auch Routing hatte nicht geholfen.

    Die Lösung für dieses Problem war, simpel wie logisch: nichts darf über die WAN Seite des DLinks kommen! Also habe ich pfSense an einen LAN Anschluss des Routers gehangen und DHCP im DLink deaktiviert. Danach habe ich erstmal alle Endgeräte ins gleiche Subnetz gebracht und IP's verteilt. Mit ein paar richtig gesetzten Firewallregeln konnte ich dann per VPN meine LAN IP's sämtlicher Geräte anpingen.

    Soweit, so gut. Nun wollte ich meine Netzwerkfreigaben auf dem iPhone oder anderen Rechnern per VPN sichtbar machen. Fehlanzeige. Die Hosts, bzw. Hostnamen werden wohl nicht einfach so mitgeschickt und an andere Interfaces geroutet. Ein WINS Server kam für mich nicht in Frage. Ich habe es kurz per push Befehl versucht, was jedoch keinen Erfolg gab.
    Des Rätsels Lösung zu diesem Problem war: ich muss Port 53 für DNS im gesamten LAN durchlassen, plus 135, 137-139, sowie 445. Ich dachte das wäre es jetzt, aber denkste.

    Der Verzweiflung nahe, habe ich mich nun auf den Server gestürzt und die Freigaben neu eingerichtet. Vorerst ohne Erfolg. Aus irgendeinem Grund, kam mir die Idee die Windowsfirewall zu checken und siehe da: die Datei und Druckerfreigabe war zwar in den Ausnahmen hinzugefügt, jedoch nicht auf meine nun neuen Netzwerke und Subnetze angepasst  :o.
    Die korrekte Anpassung derer, hatte dann auch den Erfolg, dass ich nun mittels VPN meine Hostnamen auflösen, auf LAN Adressen und Netzwerkfreigaben zugreifen kann!

    Ich hoffe ich konnte helfen, falls noch jemand das gleiche Problem hat/hatte.


Log in to reply