der-blob
Goto Top

Open Vpn in anderes Subnetz

Hallo zusammen,

Ich habe eine Windowsserver welcher für mich ein OpenVPN Server stellt (10.8.0.0/24) und der Rechner selbst hängt im internen Netz: 192.168.20.0/24

Nun habe ich auch die config für den Client soweit das der client sich über OpenVpn verbindet (bekommt dann eine adresse aus 10.8.0.0/24

Nun meine Frage: Wie / Was muss ich Konfigurieren damit ich mit meinen VPN Client in das 192.168.20.0/24 netz zugreifen kann?

Denn dies ist für mich das 1. mal überhaupt das ich einen OpenVPN tunnel erstelle.

Content-ID: 228674

Url: https://administrator.de/contentid/228674

Ausgedruckt am: 22.11.2024 um 13:11 Uhr

LennyLinux
LennyLinux 04.02.2014 um 15:08:49 Uhr
Goto Top
Es ist so: Wenn du einen VPN Server konfigurierst, brauchst du einen IP bzw. FQDN und einen entsprechenden Port über den er erreichbar ist.

Wenn du dich jetzt via VPN in das Netz 192.168.20.0 / 24 verbinden möchtest und dies auch über openVPN machen willst, musst du in diesem Bereich einen zweiten "VPN-Server" bereitstellen, welcher dann die Anfragen der Clients entgegen nehmen kann.

Kann der Windowsserver auf beide Netze zugreifen?

Grüße Lenny Linux
der-blob
der-blob 04.02.2014 um 15:26:56 Uhr
Goto Top
Hallo, erstmal danke für die schnelle Antwort.

Ja der "Vpn Server" welchen ich erstellt hab, kann auch auf das 192.168.20/24 netz zugreifen. Er besitzt also beide Subnetze.

Ich hatte es auch schon mit dev tap versucht und die beiden Adapter zu bridgen, jedoch ging dies nicht (bzw. ich habe es nicht hinbekommen, weil ich dabei vielleicht etwas falsch gemacht hab)
aqui
aqui 04.02.2014 aktualisiert um 15:52:52 Uhr
Goto Top
Das ist kinderleicht... Der Server muss lediglich in der Konfig Datei den Eintrag
push "route 192.168.20.0 255.255.255.0"
haben und das wars !
Obs geklappt hat kannst du am Client sehen wenn du dich eingeloggt hast am VPN Server und dann einmal route print (Windows) eingibst ! Die Route ins .20er Netz muss dann in der Routing Tabelle auftauchen und zeigt dann auf die interne IP Tunneladresse des Servers 10.0.8.x als next Hop !
Der Tip mit dem 2ten Server ist natürlich völliger Blödsinn oben ! Vergiss das also ganz schnell wieder !

Wie man den OVPN Server einrichtet kannst du hier genau nachlesen:
OpenVPN Server installieren auf pfSense Firewall, Mikrotik. DD-WRT oder GL.inet Router

Die Einrichtung von OpenVPN ist immer gleich und unabhängig von der verwendeten Hardware !
LennyLinux
LennyLinux 04.02.2014 um 16:01:16 Uhr
Goto Top
Hast natürlich recht ;) hatte da grad ein
Verständnisproblem. Dachte die
Server befinden sich an verschieden Standorten.

Sorry für die Irritation :/

Lenny
der-blob
der-blob 04.02.2014 um 16:05:50 Uhr
Goto Top
Das dachte ich auch, ist es aber leider nicht.
Ich hatte zuerst ein anderes Tutorial, danach hatte ich dieses gefunden:
OpenVPN - Teil 1 - Installation, Konfiguration und erstellung der Zertifikate
+
OpenVPN - Teil 2 - OpenVPN Konfiguration

und hatte überprüft ob es dort irgendwelche großen unterschiede gibt, tut es aber nicht.
zudem habe ich auch den
push "route 192.168.20.0 255.255.255.0"
schon drinnen.

Ich werde mir nochmal das durchlesen was du geschickt hast.
Falls ich dann noch Porbleme habe werde ich dann mal auch meine config file(s) posten, vielleicht siehst du dann mehr. Aber ich weis nicht ob ich es heute noch schaffe, da ich gleich einen Zahnarzt termin habe.
aqui
Lösung aqui 04.02.2014, aktualisiert am 05.02.2014 um 10:42:30 Uhr
Goto Top
Oha...na hoffentlich ist er friedlich zu dir ?!
Das push "route 192.168.20.0 255.255.255.0" Kommando muss aber in jedem Falle in die Server Konfig und sollte auch in jedem Falle in der Client Routing Tabelle zu sehen sein wie oben beschrieben ! Ist es das nicht stimmt generell was nicht bei dir, denn dann kann der Login nicht erfolgreich sein.

Ein beliebter Fehler den Anfänger machen ist wenn sie den Server auf einer Winblows Gurke hinter einem NAT Router betreiben wie z.B. bei dir. (ist jetzt mal geraten ?!)
Hast du dann brav den Port UDP 1194 im NAT mit Port Forwarding auf den OVPN Server bzw. dessen lokale IP geforwardet wie es im o.a. Tutorial im Kapitel "OpenVPN hinter einem bestehenden NAT Router betreiben" genau beschrieben ist, dann kann der Client sich auch einwählen, bekommt die Push Route in seinen lokale Routing Tabelle und soweit sieht alles gut aus wenn man route print ansieht.

Wenn du dann aber vom VPN Client nun ein Ping losschickst auf einen lokalen Rechner im remoten 192.168.20.0er LAN Netz, dann kommt der dort an dem Rechner auch an mit einer 10.8.0.x /24er Absender IP.
Wir setzen hier jetzt mal voraus das du dann an diesem lokalen Rechner die lokale Firewall auch entsprechend angepasst hast, das das Paket auch passieren kann, sonst blockt die lokale Firewall Fremd IPs in der Regel ! Vergiss das nicht ! Nun will dieser Rechner ja auf den Ping antworten.
Er sendet also ein IP Paket mit der Zieladresse 10.8.0.x los mit seiner eigenen IP 192.168.20.x als Absender.
Da diese 10er IP nicht in seinem eigenen Netzwerk ist, sendet er das an sein konfiguriertes Default Gateway !
DAS wiederum ist aber in der Regel immer der lokale NAT Internet Router im lokalen Netz, der empfängt also dieses Paket und erkennt auch wieder die 10.8.0.x Zieladresse die er dann Richtung Provider ins Nirwana sendet. (Dort werden private RFC 1918 IP Adressen sofort verworfen !)
Das Paket müsste aber an den OVPN Server der es dann wieder zum VPN Client schickt !!!

Fazit: am lokalen Router fehlt eine statische Route die das Paket auf den richtigen Weg Richtung OVPN Server bringt !
Dort muss also eingetragen sein:
Zielnetz: 10.8.0.0 Maske: 255.255.255.0 Gateway: 192.168.20.<ovpn_server>
Schicke alles was 10.8.0.0 /24 als Ziel hat direkt an die 192.168.20.<ovpn_server>

Wenn du einen billigen Dummrouter ala Speedport der KEINE statischen Routen supportet hast, dann hast du erstmal Pech, denn dann musst du diesem lokalen Rechner (und auch allen anderen) händisch diese Route einzeln beibringen.
Ist das ein Winblows Rechner ist das dann z.B. der Befehl:
route add 10.8.0.0 mask 255.255.255.0 192.168.20.<ovpn_server> -p (-p macht die permanent das sie auch ein reboot übersteht)

Letzteres solltest du aber wirklich nur machen wenn du einen billigen Dummrouter hast sonst nicht !

So und nun lauert der Zahnarzt... face-devilish
Chonta
Chonta 04.02.2014 um 17:52:05 Uhr
Goto Top
Nabend,

ich habe nur mal eben im vorbeigehne alles überflogen.

Ist der OpenVPN-Server auch das Standardgateway bzw. ist die Routingrolle auf dem Server installiert?
Wenn nein dann kommst Du mit deinem VPN Tunnel bis zum Server und nicht weiter.

Der Server muss zum einen Routen und zum anderen müssen die Clients des Netzwerkrs in das Du willst mit der Route auch klar kommen, in dem alle dein Netz kennen oder deren Defaultgateway die Route kennt undt bei denen Anfragen handelt.

Gruß

Chonta
laster
Lösung laster 04.02.2014, aktualisiert am 05.02.2014 um 09:33:43 Uhr
Goto Top
Hallo,

obwohl aqui es schon umfangreich beschrieben hat, hier noch einmal die Kurzform:

Auf dem Windows-Server (mit dem OpenVPN-Server) muss:

Registry-Eintrag gemacht werden: HKLM\CurrentControlSet\Services\Tcpip\Parameters\IPEnableRouter=1
Danach muss der Server durchgestartet werden. (Damit soll der Server routen können (wenn er es nicht schon kann...)

In der Datei server.ovpn müssen (nur) zwei Zeilen eingefügt werden:
push "route 192.168.20.0 255.255.255.0"
push "dhcp-options DNS 192.168.20.???" <-- DNS-Server
Danach muss der Dienst OpenVPN-Server neu gestertet werden.

Auf Deinem Standard-GateWay muss eine Route für das 10.8.0.0 Netz eingerichtet sein mit dem Gateway 192.168.20.[Windows-Server/OpenVPN-Server]
Falls das nicht geht: auf allen zu erreichenden Systemen eine statische Route eintragen:
Route -p add 10.8.0.0 mask 255.255.255.0 192.168.20.[Windows-Server/OpenVPN-Server] <-- ist aber eine ganz schlechte Lösung!

VG
LS
der-blob
der-blob 05.02.2014 aktualisiert um 10:43:53 Uhr
Goto Top
Hallo zusammen,
erstmal den Zahnarzt hab ich gut überlebt face-smile war nur routine untersuchung.


@aqui
Eine Firewall (Netgear UTM25) auf welchen in der port 33333 Freigegeben habe (über diesen läuft der OpenVpn). Diese nutzen wir hier. Die verbindung klappt ja, denn wenn ich mich mit dem Client über VPN anmelde, dann kann ich ja den server (10.8.0.1) auf dieser adresse erreichen.
Ich werde dann noch die Statische route an der firewall eintrage und rückmeldung geben.

@Chonta
Routing und Ras ist zwar auf diesem Server installiert, wird aber nicht genuzt. Wir verwenden einen anderen Server der dies übernimmt (bei diesem, welcher da übernimmt, teilen wir unsere Subnetze INTERN auf. --> wir haben intern mehrere subnetze, dies ist aber fürs open vpn unwichtig)

@laster danke nochmal für die kurzfassung,
Den registry key muss ich überprüfen wie dieser aktuell gesetzt ist.

Update / Edit:
@laster, ich habe den wert gesetzt, und nun kann ich den OpenVPN Server unter seiner 192.168.20 adresse erreichen wenn ich mit dem VPN verbunden bin --> Danke schonmal.

Das die namensauflösung noch nicht klappt, hängt denke ich mal damit zusammen das ich den DNS server nicht erreiche. Dafür muss ich wahrscheinlich noch die Route eintragen. Ich werde dies nun testen.

Edit 2:
frage ist noch nicht gelöst.... da erstmal der 1. teil nur klappt, und ich das von laster als "beigetragen" makiert hab....


Edit 3:
Ich habe nun eine Statische route an der firewall eingetragen und es klappt. Vielen herzlichen dank nun klappt alles;)
Nun nurnoch finden wie ich ein script nach verbindung trigger, aber ich denke da kann mir google helfen.


__________


So und nun meine config files / routing listen (sobald der server steht + ich mit dem client verbunden bin):

Server Config:

server 10.8.0.0 255.255.255.0
port 33333
proto udp
dev tun
ca "C:\\Program Files\\OpenVPN\\server-keys\\ca.crt"
cert "C:\\Program Files\\OpenVPN\\server-keys\\server.crt"
key "C:\\Program Files\\OpenVPN\\server-keys\\server.key"
dh "C:\\Program Files\\OpenVPN\\server-keys\\dh1024.pem"
ifconfig-pool-persist ipp.txt
push "route 192.168.20.0 255.255.255.0"
push "DISABLE-NBT"
push "DOMAIN xxx"
push "dhcp-option DNS 192.168.20.10"
keepalive 15 60
persist-key
persist-tun
log-append openvpn.log
verb 4
mute 15


Server route:

C:\Users\admin>route print -4 |findstr /i /c:"10.8.0"
10.8.0.0 255.255.255.0 10.8.0.2 10.8.0.1 30
10.8.0.0 255.255.255.252 Auf Verbindung 10.8.0.1 286
10.8.0.1 255.255.255.255 Auf Verbindung 10.8.0.1 286
10.8.0.3 255.255.255.255 Auf Verbindung 10.8.0.1 286
224.0.0.0 240.0.0.0 Auf Verbindung 10.8.0.1 286
255.255.255.255 255.255.255.255 Auf Verbindung 10.8.0.1 286


Client Config:

client
port 33333
proto udp
dev tun
remote xxx
ca "C:\\Program Files\\OpenVPN\\config\\ca.crt"
cert "C:\\Program Files\\OpenVPN\\config\\client.crt"
key "C:\\Program Files\\OpenVPN\\config\\client.key"
resolv-retry infinite
nobind
persist-key
persist-tun
mute-replay-warnings
verb 3
mute 20

Client Route:
C:\Users\ich>route print -4 | findstr /i /c:"10.8.0"
10.8.0.1 255.255.255.255 10.8.0.5 10.8.0.6 30
10.8.0.4 255.255.255.252 Auf Verbindung 10.8.0.6 286
10.8.0.6 255.255.255.255 Auf Verbindung 10.8.0.6 286
10.8.0.7 255.255.255.255 Auf Verbindung 10.8.0.6 286
192.168.20.0 255.255.255.0 10.8.0.5 10.8.0.6 30
224.0.0.0 240.0.0.0 Auf Verbindung 10.8.0.6 286
255.255.255.255 255.255.255.255 Auf Verbindung 10.8.0.6 286