[gelöst]OpenVPN multi-client routing geht nicht …



  • Also ich hab da ein Grundsätzliches Problem mit dem Verständnis, wie mir scheint:

    ich habe einen OpenVPN-Server.
    lokales Netz ist 10.10.10.0/24
    tunnel Netz ist 10.10.91.0/24
    hinter jedem der externen Router ist ein Netzwerk mit 192.168.x.0/24 und x ist dabei 1-20

    Ich möchte nun gerne erst mal aus dem LOKALEN Netz auf jeden Client zugreifen können.
    Das geht über die Adresse aus dem Tunnel-Netzwerk z.B. 10.10.91.6 (für den ersten Router)

    Auf das dahinter befindliche Netz 192.168.1.0/24 sollte ich natürlich auch zugreifen können, aber das geht nicht aus dem Lokalen Netz, sondern nur über die SSH-Konsole von der Sense…

    Von den Clients kann ich aber auf das lokale Netz hier zugreifen.

    Die Clients bekommen ja Interfaceadressen aus 10.10.91.0/24 ... z.B. eben 10.10.91.6, aber in der Routingtabelle der Sense steht dann nichts von diesen Adressen ...



  • Wichtig ist das im OpenVpn Server Lokale und remote Netze alle definiert sind.
    Da kann man ja mehrere angeben durch Komma getrennt.
    Bei IPv4 Local Network/s müsste dann bei dir
    10.10.10.0/24
    stehen und bei
    IPv4 Remote Network/s
    192.168.1.0/24, 192.168.2.0/24, 192.168.3.0/24, usw.

    Und in diesen Netzen muss natrülich dann auch die Rückroute definiert sein. je nachdem was da für ein OpenVPN Client drauf ist trägt der automatisch Routen anhand des bei dir definierten Local Networks ein.
    Firewall Regeln nicht vergessen (zum testen kann ja Any Any sein)

    Hoffe das ich alles richtig verstanden und erklärt habe  ;)



  • Also … ich hab das schon verstanden, bin aber nicht sicher, ob die Sense das richtig versteht.

    Lokales Netz ist 10.10.10.0/24
    TUN-Netz ist 10.10.91.0/24
    VPN1-Netz ist 192.168.1.0/24
    VPN2-Netz ist 192.168.2.0/24
    ...
    VPN9-Netz ist 192.168.9.0/24

    Nach der Einwahl haben die verschiedenen externen Router auch Adressen im TUN-Netz
    also VPN1-Interface ist 10.10.91.6 (weil das NETZ ist 10.10.91.4, der VPN-Server bekommt die 10.10.91.5 und der Client die 10.10.91.6. Broadcast ist 10.10.91.7
    also VPN2-Interface ist 10.10.91.10 (weil das NETZ ist 10.10.91.8, der VPN-Server bekommt die 10.10.91.9 und der Client die 10.10.91.10. Broadcast ist 10.10.91.11
    usw.

    Ich kann dann die Weboberfläche der entsprechenden Router über die VPN-Interface-Adresse erreichen.

    In dem Zustand ist es aber zufällig, welche Anlage welche Interface-Adresse erhält. Außerdem kann ich NUR diese Adresse erreichen und auch nicht vom VPN hier her pingen.

    Also schreibe ich in die Serverconfiguration unter "Advanced":
    route 192.168.4.0 255.255.255.0 (in dem Fall eben für Anlage Nr.4)

    Und jetzt lege ich einen Eintrag "Client Override" an.
    Da nenne ich den common name des Client-Zertifikates für das ich die speziellen Einstellungen haben will.
    Unter "IPv4 Remote Network": 192.168.4.0/24 (eben das Netzwerk dort)
    Unter "advanced": iroute 192.168.4.0 255.255.255.0

    Sobald ich das mache habe ich von der SSH-Shell der Sense Zugriff auf die Geräte in dem remote-Subnetz. Auch kann ich von da aus auf das Lokale Netz.

    Aber ich kann NICHT aus dem lokalen Netz (z.B. von meinem PC mit der IP 10.10.10.20) auf 192.168.4.3 zugreifen, obwohl es von der Sense geht, die unter der IP 10.10.10.252 im Netz steht.

    Wenn ich auf der Sense die Routen Anzeige, über die Shell mit "netstat -r" wird angezeigt: 192.168.4.0  10.10.91.2  UGS  ovpn3
    das Interface "10.10.91.2" ist aber nicht richtig, denn der Client "4" hat definitiv das Net 10.10.91.16/30 und der Router dort bekommt die Adresse 10.10.91.18
    das Interface "10.10.91.17" wird als solches aber gar nicht angezeigt.

    Über die Weboberfläche wird unter "Status OpenVPN" als Route für den Client angezeigt:
    BB004 176.0.120.58:4044 192.168.4.0/24
    BB004 176.0.120.58:4044 10.10.91.18

    Da stimmt also die Adresse des Client.

    Auf dem externen VPN-Router wird als Route-Tabelle ausgegeben

    10.10.91.17	255.255.255.255			0.0.0.0		0	tun0
    1.1.1.3		255.255.255.255			0.0.0.0		0	ppp0
    192.168.4.0	255.255.255.0			0.0.0.0		0	lan0
    10.10.10.0	255.255.255.0			10.10.91.17	0	tun0
    10.10.91.0	255.255.255.0			10.10.91.17	0	tun0
    192.168.255.0	255.255.255.0			0.0.0.0		0	dmz0
    127.0.0.0	255.0.0.0			0.0.0.0		0	lo
    default		0.0.0.0				1.1.1.3		0	ppp0
    
    

    Also was fehlt noch ??? Warum kann ich nicht vom lokalen Netz aus auf das remote-Netz zugreifen, aber von der Sense geht es.



  • Also schreibe ich in die Serverconfiguration unter "Advanced":
    route 192.168.4.0 255.255.255.0 (in dem Fall eben für Anlage Nr.4)

    Würde ich nicht machen ich würde es so wie ich gesagt habe

    Bei IPv4 Local Network/s müsste dann bei dir
    10.10.10.0/24
    stehen und bei
    IPv4 Remote Network/s
    192.168.1.0/24, 192.168.2.0/24, 192.168.3.0/24, usw.

    damit mal getestet?
    Weil wenn du das so machst legt die PfSense alle Routen auf der Seite im OpenVPN Server an



  • Bei dieser Art von Tunnel gibt es bei den Servereinstellungen keinen Punkt "Remote IPv4-Networks" …
    Ich trage es bei den "Client Overrides" ein, aber dann wird gar keine Route erzeugt.

    Erst wenn ich es beim Server unter "Advanced" eintrage, geht es wenigstens von der Konsole der Sense...




  • UFF!!!

    Grade wo ich das abgesendet habe …

    Die Anleitung, die ich hier habe, sagt ich soll "Remote-access (SSL/TLS)" benutzen ... ich hab dann mal "Peer 2 Peer (SSL/TLS)" eingetragen und DANN kann ich die remote-netze angeben und DANN geht das endlich auch

    Ich HASSE DEN SCHREIBER der Anleitung!!! ;)

    Und danke dir!!


  • LAYER 8 Moderator

    Was vielleicht daran liegen kann, dass du irgendeine externe Anleitung nutzt, die sich auf eine alte pfSense Version bezieht? Das sollte man ggf. vorher berücksichtigen.


Log in to reply