PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : OpenVPN Clients das VMware Hostonly-Netz verfügbar machen



ZoolWay
22.01.08, 13:29
Hallo,

bisher muss ich sagen hab ich keine Probleme mit OpenVPN, es funktioniert eigentlich wunderbar. Die Clients mussten bisher aber auch nur auf den Server selbst zugreifen.
Jetzt aber ist es notwendig auf ein anderes Netz am Ende des VPN-Tunnels zuzugreifen. Ich dachte ein simples

push "route 172.16.198.0 255.255.255.0"
in der Server-Konfig würde reichen. Dieses andere Netz ist übrigens ein VMware-Guest-Host-Only-Netzwerk.
Leider funktioniert das nicht. Der Server kann die VM anpingen, aber kein OpenVPN-Client.

Der Router ist von außen über DynDns erreichbar und schickt die Pakete von einem speziellen Port an den Server im LAN weiter (Netz 192.168.90.0/24). Die VPN-Verbindung nutzt das Netz 10.8.0.0/24. Die VMware Hostonly virtuelle Netzwerkkarte auf dem Server hat das Netz 172.16.198.0/24.
Der OpenVPN-Client kann den Server anpingen über 10.8.0.1, 192.168.90.5 und auch über 172.16.198.1. Nur an den VMware-Guest geht es nicht.
Vom Server selbst aus kann ich alle beteiligten, VPN-Clients wie VMware-Guests und sonstige LAN-Geräte anpingen.
Der VMware-Guest kann sogar den VPN-Client anpingen!
Im übrigen hab ich das ganze auch ohne Erfolg mit VWware-Bridged-Netzwerk und VMware-NAT-Netzwerk probiert, momentan sogar alles drei aktiv (jeweils mit eigenem push route).

Die Server-Config:


local 192.168.90.5
port 1194
proto udp

dev tap

ca XX
cert XX
key XX
dh XX

server 10.8.0.0 255.255.255.0

ifconfig-pool-persist ipp.txt

push "route 172.16.198.0 255.255.255.0"

keepalive 10 120

comp-lzo

max-clients 20

user nobody
group nobody

persist-key
persist-tun
status /var/log/openvpn/openvpn-status.log
log /var/log/openvpn/openvpn.log
verb 3


Die Client-Konfig:


client
dev tap
dev-node OpenVPN
proto udp
remote hostnamedyndns.org portnumber
resolv-retry infinite
nobind
persist-key
persist-tun
ca xx
cert xx
key xx
comp-lzo
verb 3
keepalive 10 120
cipher BF-CBC


Weiß jemand Rat was ich übersehe?

Danke und Gruß,
- ZoolWay

heatwalker
22.01.08, 21:06
Wenn ich mich nicht sehr irre, solltest du zu deinem routeneintrag


push "route 172.16.198.0 255.255.255.0"

auch noch das gateway setzen.

Was sagt denn ein traceroute zur vmguest?

ZoolWay
22.01.08, 21:22
Der Befehl ist ja OpenVPN spezifisch, dass das Gateway die VPN-Netzwerkkarte ist weiß er und setzt damit auch ein Gateway ein.
So auch in der Routing Tabelle zu sehen:


Aktive Routen:
Netzwerkziel Netzwerkmaske Gateway Schnittstelle Anzahl
0.0.0.0 0.0.0.0 192.168.178.1 192.168.178.100 10
10.8.0.0 255.255.255.0 10.8.0.6 10.8.0.6 30
10.8.0.6 255.255.255.255 127.0.0.1 127.0.0.1 30
10.255.255.255 255.255.255.255 10.8.0.6 10.8.0.6 30
127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1
172.16.21.0 255.255.255.0 10.8.0.1 10.8.0.6 1
172.16.198.0 255.255.255.0 10.8.0.1 10.8.0.6 1
192.168.90.0 255.255.255.0 10.8.0.1 10.8.0.6 1
192.168.178.0 255.255.255.0 192.168.178.100 192.168.178.100 10
192.168.178.100 255.255.255.255 127.0.0.1 127.0.0.1 10
192.168.178.255 255.255.255.255 192.168.178.100 192.168.178.100 10
224.0.0.0 240.0.0.0 10.8.0.6 10.8.0.6 30
224.0.0.0 240.0.0.0 192.168.178.100 192.168.178.100 10
255.255.255.255 255.255.255.255 10.8.0.6 10.8.0.6 1
255.255.255.255 255.255.255.255 192.168.178.100 192.168.178.100 1
Standardgateway: 192.168.178.1


Tracert kommt auch nur bis zum VPN-Server.

C:\>tracert 192.168.90.222

Routenverfolgung zu 192.168.90.222 über maximal 30 Abschnitte

1 218 ms 108 ms 107 ms 10.8.0.1
2 * * * Zeitüberschreitung der Anforderung.
3 * * ^C
C:\>tracert 172.16.198.129

Routenverfolgung zu 172.16.198.129 über maximal 30 Abschnitte

1 107 ms 108 ms 108 ms 10.8.0.1
2 * * * Zeitüberschreitung der Anforderung.
3 * ^C
C:\>tracert 172.16.21.128

Routenverfolgung zu 172.16.21.128 über maximal 30 Abschnitte

1 108 ms 108 ms 109 ms 10.8.0.1
2 * * * Zeitüberschreitung der Anforderung.
3 * * ^C

Tracert vom VmWare-Guest zum VPN-Client im übrigen wie folgt:

1 <1 ms <1 ms <1 ms 172.16.21.2
2 240 ms 401 ms 181 ms 10.8.0.6

Ablaufverfolgung beendet.

/Das ist jetzt relativ viel, weil ich gleichzeitig VmWare-Bridge-Netzwerk, VmWare-Hostonly-Netzwerk und VmWare-NAT-Netzwerk aktiviert habe um auszuschließen, das es mit der Natur eines dieser Typen zu tun hat.

heatwalker
22.01.08, 21:44
Es wäre sehr hilfreich, wenn du mal deine Netzwerkkonfiguration tabellarisch
aufbauen würdest.

Von wo wird die VPN Verbindung aufgebaut. (IP Adressen)
Welche Zwischenstationen gibt es (IP Adressen/Netzwerkkarten)
Adresse(n) bzw. Netzwerkkarten des VMware Servers
Adresse des Gast

Es hilft auch nicht viel wenn du alles auf einmal auf deiner VM aktivierst.
Beschränke dich auf eine Möglichkeit.
Ich würde erst einmal Bridged empfehlen.

ZoolWay
22.01.08, 22:09
Danke das du dich mit meinem Problem beschäftigst. Ich hab den VmWare-Guest jetz erstmal wieder auf nur eine Netzwerkkarte, Bridged, zurückgestutzt.

Zur Übersicht: (die LAN-IP des VPN-Client sollte hierbei total egal sein)


VPN Client------- Internet Server--------------------------------
VmWare-Host------- VmWare-Guest------
LAN: 192.168.178.100/24 192.168. 90. 5/24 192.168. 90.222/24
OpenVPN-TAP: 10. 8. 0. 6/24 <--------> 10. 8. 0. 1/24


Der VmWare-Guest kann 192.168.90.5 anpingen, aber nicht 10.8.0.6 (was mit VmWare-NAT-Interface ging) und auch nicht 10.8.0.1.
Der VmWare-Host kann 10.8.0.6 anpingen wie auch 192.168.90.222.
Der VPN-Client kann 10.8.0.1 wie auch 192.168.90.5 anpingen, aber nicht 192.168.90.222.

/Hinzugefügt:
Der VmWare-Guest kann 10.8.0.1 und 10.8.0.6 anpingen nachdem er die Route 10.8.0.0/24 über 192.168.90.5 erhalten hat.

/Hinzugefügt2:
Verdammt, mit der Route kann sogar der VPN-Client den VmWare-Guest anpingen, was ja das eigentlich Problem war.... Jetz bin ich nur noch verwirrt ob ich es dabei belassen soll. Denn theoretisch können die OpenVPN-Clients dann ja jeden Rechner im LAN des Servers erreichen und das wollte ich eigentlich nicht.

heatwalker
22.01.08, 22:47
Wenn ich das also richtig verstehe, ist der Endpunkt deines VPN der VMware Server.

Entweder musst du deinem VPN ein ganzes Netzwerk freigeben, oder (wenn das geht) eine Range.

Ansonsten endet dein Tunnel auf dem VMware Server.

Kannst du auf dem Gast nicht den VPN Endpunkt setzen?
Er scheint doch in dem gleichen Netz wie der VMware server zu sein.

ZoolWay
22.01.08, 22:54
VmWare Server und OpenVPN Server (damit VPN-Endpunkt) sind ein und derselbe Rechner, richtig. Ich kann den OpenVPN Server aber leider nicht im Gast laufen lassen, da noch andere Dienste von dem Server benötigt werden, die nicht im VmWare Guest laufen.

Ich hab mir aber überlegt, selbst wenn ein OpenVPN Client jetzt auf ein anderes LAN-Gerät wie 192.168.90.230 zugreift, kann er ja nie eine Antwort bekommen, weil das Gerät keine Rück-Route hat (im Gegensatz zum VmWare-Guest). Oder seh ich das wieder falsch?

Ansonsten bliebe halt der Versuch (Versuch weils ja oben am Anfang nicht geklappt hat), auf dem VmWare-Guest ein VmWare-HostOnly-Netzwerk einzubinden und die VPN-Clients in dieses einzulassen.

/Hinzugefügt:
Ich werd mal versuchen, dass die VPN-Clients über das HostOnly-Network zugreifen, damit sie vom Rest des Netzwerkes isoliert bleiben. Dabei werd ich die Bridge aber erhalten, damit der Guest leicht ins Internet kommt...


VPN Client------- Internet Server-----------------------------------------
VmWare-Host------- VmWare-Guest------
LAN: 192.168.178.100/24 192.168. 90. 5/24<-bridged->192.168. 90. 6/24
OpenVPN-TAP: 10. 8. 0. 6/24 <--------> 10. 8. 0. 1/24
VmWare-HostOnly-Network: 172. 16.198. 1/24<--------->172. 16.198. 6/24

meinereinerseiner
23.01.08, 09:16
die sache mit der rückroute ist aus meiner sicht ein guter ansatz. du kannst nur systeme erreichen, die wissen wohin sie anfragen aus dem vpn-client netz hinrouten müssen.


der tom

heatwalker
23.01.08, 09:31
Wenn du ein host-only Netzwerk machst, brauch der Guest auf jeden fall
zwei Netzwerkkarten.

die 1. muss das als Gateway zum Lan (brigded) eingestellt sein und die
2. (hostonly) für das extra Netz.

Für den VPN client muss die Route auf VMware server zeigen und auf dem Guest
muss die 1. Karte als router für die 2. Karte eingestellt sein.

Pingu
23.01.08, 09:45
Hast Du auch die iroutes für die Clients angelegt?
Siehe hier: http://openvpn.net/howto.html#scope

Da bin ich damals darüber gestolpert.