OpenVPN mit Windows 7 (Server) und Linux (Client)
Hallo Gemeinde,
bevor ich völlig bekloppt werde, frage ich hier mal um Rat - vorab: Bin alles andere als ein Netzwerkexperte...
Also: Für einen Freund habe ich schon vor längerer Zeit OpenVPN 2.2.2 auf dessen Desktop (Server) und Notebook (Client) installiert - läuft alles bestens, bislang aber alles unter Windows XP. Ich selbst bin fast nur mit Linux unterwegs, kann damit aber ebenfalls problemlos auf den Server zugreifen.
Nun wurde ein neuer Desktop-Rechner mit Windows 7 angeschafft, auf dem ich nun das aktuelle OpenVPN 2.3.2 installiert habe. Die server.ovpn habe ich "im Wesentlichen" von dem alten Rechner übernommen...
..., ist also nichts besonderes und entspricht der mitgelieferten Server-Beispiel-Konfiguration.
Der Server kann problemlos gestartet werden und liefert die folgende Ausgabe:
Habe ein paar Sachen ausge-X-t, wahrscheinlich Schwachsinn, aber egal - sieht für mich jedenfalls normal aus.
Konnte mich von Linux aus (ab jetzt alles "von Linux aus") erst gar nicht verbinden, nach etwas Schrauben an der Windows-7-Firewall klappt es aber scheinbar und es erscheint folgendes im Logfile des Servers:
Sieht für mich "normal" aus (auch, weil sehr ähnlich der Ausgabe unter OpenVPN 2.2.2 auf dem Windows-XP-Rechner) und Linux signalisiert auch, dass die VPN-Verbindung steht (benutzt dafür eine GUI (Netzwerk-Manager-Applet), sehe darum auch keine Logfiles, oder so).
Und nun kommt's: Zu dem alten XP-Server kann ich nun problemlos eine RDP-Verbindung herstellen, auch ein ping auf den Windows-VPN-Server klappt.
Unter Windows-7 aber: Tote Hose! Obwohl mir "route" unter Linux genau den gleichen Senf ausgibt.
Sehe ich mir diesen TAP-Netzwerkadapter unter Windows-7 an, kommen da auch Daten rein, es geht aber nix raus, 0 Bytes!
Remotezugriff meine ich auf dem Windows-Rechner korrekt konfiguriert zu haben, inkl. Freigabe in der Firewall, etc. - RDP-Zugriff von dem alten Windows-XP-Server (allerdings im gleichen lokalen Netz) funktioniert auch - aber es kommt ja auch (von extern) nicht mal ein ping durch.
Habe jetzt schon etliches ausprobiert, ist schon der zweite Abend, den ich mir hier um die Ohren schlage, habe endlos gegoogled, etc. und versuche es nun hier mal, bevor ich gleich ins Bett falle. Bin also für jeden Rat dankbar und liefere auch gerne noch weitere Infos nach.
Gute Nacht!
erwin65
bevor ich völlig bekloppt werde, frage ich hier mal um Rat - vorab: Bin alles andere als ein Netzwerkexperte...
Also: Für einen Freund habe ich schon vor längerer Zeit OpenVPN 2.2.2 auf dessen Desktop (Server) und Notebook (Client) installiert - läuft alles bestens, bislang aber alles unter Windows XP. Ich selbst bin fast nur mit Linux unterwegs, kann damit aber ebenfalls problemlos auf den Server zugreifen.
Nun wurde ein neuer Desktop-Rechner mit Windows 7 angeschafft, auf dem ich nun das aktuelle OpenVPN 2.3.2 installiert habe. Die server.ovpn habe ich "im Wesentlichen" von dem alten Rechner übernommen...
port 1196
proto udp
dev tun
ca "C:\\Programme\\OpenVPN\\config\\keys\\ca.crt"
cert "C:\\Programme\\OpenVPN\\config\\keys\\server.crt"
key "C:\\Programme\\OpenVPN\\config\\keys\\server.key" # This file should be kept secret
dh "C:\\Programme\\OpenVPN\\config\\keys\\dh1024.pem"
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
# push "route 192.168.1.0 255.255.255.0"
keepalive 10 120
comp-lzo
persist-key
persist-tun
status openvpn-status.log
verb 3
Der Server kann problemlos gestartet werden und liefert die folgende Ausgabe:
Fri Nov 15 00:16:38 2013 OpenVPN 2.3.2 x86_64-w64-mingw32 [SSL (OpenSSL)] [LZO] [PKCS11] [eurephia] [IPv6] built on Aug 22 2013
Enter Management Password:
Fri Nov 15 00:16:38 2013 MANAGEMENT: TCP Socket listening on [AF_INET]127.0.0.1:25340
Fri Nov 15 00:16:38 2013 Need hold release from management interface, waiting...
Fri Nov 15 00:16:39 2013 MANAGEMENT: Client connected from [AF_INET]127.0.0.1:25340
Fri Nov 15 00:16:39 2013 MANAGEMENT: CMD 'state on'
Fri Nov 15 00:16:39 2013 MANAGEMENT: CMD 'log all on'
Fri Nov 15 00:16:39 2013 MANAGEMENT: CMD 'hold off'
Fri Nov 15 00:16:39 2013 MANAGEMENT: CMD 'hold release'
Fri Nov 15 00:16:39 2013 NOTE: your local LAN uses the extremely common subnet address 192.168.0.x or 192.168.1.x. Be aware that this might create routing conflicts if you connect to the VPN server from public locations such as internet cafes that use the same subnet.
Fri Nov 15 00:16:39 2013 Diffie-Hellman initialized with 1024 bit key
Fri Nov 15 00:16:39 2013 Socket Buffers: R=[8192->8192] S=[8192->8192]
Fri Nov 15 00:16:39 2013 do_ifconfig, tt->ipv6=0, tt->did_ifconfig_ipv6_setup=0
Fri Nov 15 00:16:39 2013 MANAGEMENT: >STATE:1384470999,ASSIGN_IP,,10.8.0.1,
Fri Nov 15 00:16:39 2013 open_tun, tt->ipv6=0
Fri Nov 15 00:16:39 2013 TAP-WIN32 device [LAN-Verbindung 2] opened: \\.\Global\{XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX}.tap
Fri Nov 15 00:16:39 2013 TAP-Windows Driver Version 9.9
Fri Nov 15 00:16:39 2013 Notified TAP-Windows driver to set a DHCP IP/netmask of 10.8.0.1/255.255.255.252 on interface {XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX} [DHCP-serv: 10.8.0.2, lease-time: 31536000]
Fri Nov 15 00:16:39 2013 Sleeping for 10 seconds...
Fri Nov 15 00:16:49 2013 Successful ARP Flush on interface [22] {XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX}
Fri Nov 15 00:16:49 2013 MANAGEMENT: >STATE:1384471009,ADD_ROUTES,,,
Fri Nov 15 00:16:49 2013 C:\Windows\system32\route.exe ADD 10.8.0.0 MASK 255.255.255.0 10.8.0.2
Fri Nov 15 00:16:49 2013 ROUTE: CreateIpForwardEntry succeeded with dwForwardMetric1=30 and dwForwardType=4
Fri Nov 15 00:16:49 2013 Route addition via IPAPI succeeded [adaptive]
Fri Nov 15 00:16:49 2013 UDPv4 link local (bound): [undef]
Fri Nov 15 00:16:49 2013 UDPv4 link remote: [undef]
Fri Nov 15 00:16:49 2013 MULTI: multi_init called, r=256 v=256
Fri Nov 15 00:16:49 2013 IFCONFIG POOL: base=10.8.0.4 size=62, ipv6=0
Fri Nov 15 00:16:49 2013 ifconfig_pool_read(), in='alder,10.8.0.4', TODO: IPv6
Fri Nov 15 00:16:49 2013 succeeded -> ifconfig_pool_set()
Fri Nov 15 00:16:49 2013 ifconfig_pool_read(), in='glenmobil,10.8.0.8', TODO: IPv6
Fri Nov 15 00:16:49 2013 succeeded -> ifconfig_pool_set()
Fri Nov 15 00:16:49 2013 ifconfig_pool_read(), in='revo,10.8.0.12', TODO: IPv6
Fri Nov 15 00:16:49 2013 succeeded -> ifconfig_pool_set()
Fri Nov 15 00:16:49 2013 ifconfig_pool_read(), in='mobil,10.8.0.16', TODO: IPv6
Fri Nov 15 00:16:49 2013 succeeded -> ifconfig_pool_set()
Fri Nov 15 00:16:49 2013 IFCONFIG POOL LIST
Fri Nov 15 00:16:49 2013 alder,10.8.0.4
Fri Nov 15 00:16:49 2013 glenmobil,10.8.0.8
Fri Nov 15 00:16:49 2013 revo,10.8.0.12
Fri Nov 15 00:16:49 2013 mobil,10.8.0.16
Fri Nov 15 00:16:49 2013 Initialization Sequence Completed
Fri Nov 15 00:16:49 2013 MANAGEMENT: >STATE:1384471009,CONNECTED,SUCCESS,10.8.0.1,
Konnte mich von Linux aus (ab jetzt alles "von Linux aus") erst gar nicht verbinden, nach etwas Schrauben an der Windows-7-Firewall klappt es aber scheinbar und es erscheint folgendes im Logfile des Servers:
Fri Nov 15 00:25:35 2013 88.70.94.36:40401 TLS: Initial packet from [AF_INET]88.70.94.36:40401, sid=5b9d7e85 7e9800c8
Fri Nov 15 00:25:36 2013 88.70.94.36:40401 VERIFY OK: depth=1, C=DE, ST=Niedersachsen, [Rest gelöscht]
Fri Nov 15 00:25:36 2013 88.70.94.36:40401 VERIFY OK: depth=0, C=DE, ST=Niedersachsen, [Rest gelöscht]
Fri Nov 15 00:25:36 2013 88.70.94.36:40401 Data Channel Encrypt: Cipher 'BF-CBC' initialized with 128 bit key
Fri Nov 15 00:25:36 2013 88.70.94.36:40401 Data Channel Encrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Fri Nov 15 00:25:36 2013 88.70.94.36:40401 Data Channel Decrypt: Cipher 'BF-CBC' initialized with 128 bit key
Fri Nov 15 00:25:36 2013 88.70.94.36:40401 Data Channel Decrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Fri Nov 15 00:25:36 2013 88.70.94.36:40401 Control Channel: TLSv1, cipher TLSv1/SSLv3 DHE-RSA-AES256-SHA, 1024 bit RSA
Fri Nov 15 00:25:36 2013 88.70.94.36:40401 [mobil] Peer Connection Initiated with [AF_INET]88.70.94.36:40401
Fri Nov 15 00:25:36 2013 mobil/88.70.94.36:40401 MULTI_sva: pool returned IPv4=10.8.0.18, IPv6=(Not enabled)
Fri Nov 15 00:25:36 2013 mobil/88.70.94.36:40401 MULTI: Learn: 10.8.0.18 -> mobil/88.70.94.36:40401
Fri Nov 15 00:25:36 2013 mobil/88.70.94.36:40401 MULTI: primary virtual IP for mobil/88.70.94.36:40401: 10.8.0.18
Fri Nov 15 00:25:39 2013 mobil/88.70.94.36:40401 PUSH: Received control message: 'PUSH_REQUEST'
Fri Nov 15 00:25:39 2013 mobil/88.70.94.36:40401 send_push_reply(): safe_cap=940
Fri Nov 15 00:25:39 2013 mobil/88.70.94.36:40401 SENT CONTROL [mobil]: 'PUSH_REPLY,route 10.8.0.1,topology net30,ping 10,ping-restart 120,ifconfig 10.8.0.18 10.8.0.17' (status=1)
Und nun kommt's: Zu dem alten XP-Server kann ich nun problemlos eine RDP-Verbindung herstellen, auch ein ping auf den Windows-VPN-Server klappt.
Unter Windows-7 aber: Tote Hose! Obwohl mir "route" unter Linux genau den gleichen Senf ausgibt.
Sehe ich mir diesen TAP-Netzwerkadapter unter Windows-7 an, kommen da auch Daten rein, es geht aber nix raus, 0 Bytes!
Remotezugriff meine ich auf dem Windows-Rechner korrekt konfiguriert zu haben, inkl. Freigabe in der Firewall, etc. - RDP-Zugriff von dem alten Windows-XP-Server (allerdings im gleichen lokalen Netz) funktioniert auch - aber es kommt ja auch (von extern) nicht mal ein ping durch.
Habe jetzt schon etliches ausprobiert, ist schon der zweite Abend, den ich mir hier um die Ohren schlage, habe endlos gegoogled, etc. und versuche es nun hier mal, bevor ich gleich ins Bett falle. Bin also für jeden Rat dankbar und liefere auch gerne noch weitere Infos nach.
Gute Nacht!
erwin65
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 222014
Url: https://administrator.de/contentid/222014
Ausgedruckt am: 22.11.2024 um 08:11 Uhr
12 Kommentare
Neuester Kommentar
Hallo Erwin,
das Problem wird die Firewall auf dem TAP-Adapter sein, nicht die auf dem physischen. Konfigurieren oder auf dem Adapter ganz ausschalten; ich weiß jetzt nicht auswendig, was Windows in der Hinsicht auf dem Adapter erlaubt (es wird wahrscheinlich erst mal das öffentliche Netzwerkprofil angewandt).
Grüße
Richard
das Problem wird die Firewall auf dem TAP-Adapter sein, nicht die auf dem physischen. Konfigurieren oder auf dem Adapter ganz ausschalten; ich weiß jetzt nicht auswendig, was Windows in der Hinsicht auf dem Adapter erlaubt (es wird wahrscheinlich erst mal das öffentliche Netzwerkprofil angewandt).
Grüße
Richard
Grundlagen der OVPN Konfiguratuon erklärt dieses Tutorial:
OpenVPN Server installieren auf pfSense Firewall, Mikrotik. DD-WRT oder GL.inet Router
Die Hardware spielt dabei keinerlei Rolle, denn die Konfig ist davon unabhängig.
Bei Win 7 ist in der Regel die lokale Firewall am virtuellen TUN Adapter das Problem. Du kannst OVPN nur als Administrator starten oder musst ein paar Klimmzüge machen damit der Daemon richtig startet. Problem bei 7 ist immer die lokale Firewall die man entsprechend customizen muss bei OVPN. Wie das geht erklären zig Tutorials im Web wie z.B. hier:
http://social.technet.microsoft.com/Forums/windows/en-US/6f5eb33b-e048- ...
oder
https://www.vpnreactor.com/w7_openvpn.html
usw.
2 Fragen:
1.) Kannst du bei aktivem Client die interne OVPN Server IP 10.8.0.1 pingen ?
2.) Warum ist das push route Kommando auskommentiert ?? Ohne das funktioniert das VPN niemals, da die IP Route in dieses lokale Netzwerk sonst nicht in die Client Routing Table übernommen wird ! Das kannst du mit "route print" (Winblows) oder "netstat -r" (Linux) checken.
Die generelle Frage die man sich stellen muss warum du als Linux Spezi dann als VPN Server sinnlos einen ganzen Win 7 Rechner verschwendest statt dort einen kleinen Raspberry Pi für 25 Euro hinstellst und den das machen lässt.
Netzwerk Management Server mit Raspberry Pi
Viel sinnvoller, weniger Stromkosten, always on und weniger Stress mit den ganzen Winblows Firewall Gefrickel !
OpenVPN Server installieren auf pfSense Firewall, Mikrotik. DD-WRT oder GL.inet Router
Die Hardware spielt dabei keinerlei Rolle, denn die Konfig ist davon unabhängig.
Bei Win 7 ist in der Regel die lokale Firewall am virtuellen TUN Adapter das Problem. Du kannst OVPN nur als Administrator starten oder musst ein paar Klimmzüge machen damit der Daemon richtig startet. Problem bei 7 ist immer die lokale Firewall die man entsprechend customizen muss bei OVPN. Wie das geht erklären zig Tutorials im Web wie z.B. hier:
http://social.technet.microsoft.com/Forums/windows/en-US/6f5eb33b-e048- ...
oder
https://www.vpnreactor.com/w7_openvpn.html
usw.
2 Fragen:
1.) Kannst du bei aktivem Client die interne OVPN Server IP 10.8.0.1 pingen ?
2.) Warum ist das push route Kommando auskommentiert ?? Ohne das funktioniert das VPN niemals, da die IP Route in dieses lokale Netzwerk sonst nicht in die Client Routing Table übernommen wird ! Das kannst du mit "route print" (Winblows) oder "netstat -r" (Linux) checken.
Die generelle Frage die man sich stellen muss warum du als Linux Spezi dann als VPN Server sinnlos einen ganzen Win 7 Rechner verschwendest statt dort einen kleinen Raspberry Pi für 25 Euro hinstellst und den das machen lässt.
Netzwerk Management Server mit Raspberry Pi
Viel sinnvoller, weniger Stromkosten, always on und weniger Stress mit den ganzen Winblows Firewall Gefrickel !
Hi,
fürs Verständnis die erste Frage: Haben der alte XP- und der neue Win7-Rechner jeweils eine eigene Portweiterleitung und Du änderst beim Wechsel der Verbindung einfach den Zielport?
Und bist Du Dir wirklich sicher, dass die Windows7-Firewall komplett ausgeschaltet ist? Es gibt ja 3 verschiedene Netzwerktypen, für die man die FW separat abschalten kann und manchmal wird nur der private Teil abgeschaltet - aber das OpenVPN-Netz wird, wenn man nichts dran ändert, als öffentliches Netzwerk erkannt!
Achja, und was mir auch noch einfällt, es gibt manchmal Szenarien, in denen Windows die Daten über IPv6 verschicken will, was aber nicht klappt, wenn die Verbindung nicht mit entsprechender, routbarer Adresse ausgestattet ist. Du könntest also testweise mal die IPv6-Unterstützung in den Netzwerkadaptern (sowohl physikalisch als auch TAP) deaktivieren und dann nochmal testen. Vielleicht hilft das.
Grüße und viel Erfolg,
kingkong
fürs Verständnis die erste Frage: Haben der alte XP- und der neue Win7-Rechner jeweils eine eigene Portweiterleitung und Du änderst beim Wechsel der Verbindung einfach den Zielport?
Und bist Du Dir wirklich sicher, dass die Windows7-Firewall komplett ausgeschaltet ist? Es gibt ja 3 verschiedene Netzwerktypen, für die man die FW separat abschalten kann und manchmal wird nur der private Teil abgeschaltet - aber das OpenVPN-Netz wird, wenn man nichts dran ändert, als öffentliches Netzwerk erkannt!
Achja, und was mir auch noch einfällt, es gibt manchmal Szenarien, in denen Windows die Daten über IPv6 verschicken will, was aber nicht klappt, wenn die Verbindung nicht mit entsprechender, routbarer Adresse ausgestattet ist. Du könntest also testweise mal die IPv6-Unterstützung in den Netzwerkadaptern (sowohl physikalisch als auch TAP) deaktivieren und dann nochmal testen. Vielleicht hilft das.
Grüße und viel Erfolg,
kingkong
Hi erwin65,
sorry, war sehr lange weg ... Klappt es jetzt?
Ansonsten hätte ich in meinem Beitrag auch noch mal direkt sicher stellen können, dass Du den VPN-Server auch wirklich mit einem Admin-Konto UND Admin-Rechten startest (unter XP hatte ein Admin-Konto ja immer die entsprechenden Rechte, unter Windows 7 musst Du das normalerweise explizit veranlassen).
Es ist nämlich durchaus denkbar, dass Du den Verbindungsaufbau auf das physische Interface noch durchführen kannst, dann aber das Routing über das virtuelle Interface nicht mehr funktioniert, weil die entsprechenden Routen ohne Adminrechte nicht gesetzt werden können.
Grüße,
kingkong
sorry, war sehr lange weg ... Klappt es jetzt?
Ansonsten hätte ich in meinem Beitrag auch noch mal direkt sicher stellen können, dass Du den VPN-Server auch wirklich mit einem Admin-Konto UND Admin-Rechten startest (unter XP hatte ein Admin-Konto ja immer die entsprechenden Rechte, unter Windows 7 musst Du das normalerweise explizit veranlassen).
Es ist nämlich durchaus denkbar, dass Du den Verbindungsaufbau auf das physische Interface noch durchführen kannst, dann aber das Routing über das virtuelle Interface nicht mehr funktioniert, weil die entsprechenden Routen ohne Adminrechte nicht gesetzt werden können.
Grüße,
kingkong
Im Grunde ist das Setup doch kinderleicht. Wenn du diesem Forumstutorial folgst:
OpenVPN Server installieren auf pfSense Firewall, Mikrotik. DD-WRT oder GL.inet Router
Wird dir das doch Schritt für Schritt erklärt !? Das Setup bei OVPN ist übrigens immer daselbe völlig egal welche Hardware und OS (Winblows, Linux) du verwendest ! Die Schritte sind also völlig identisch.
Zusätzlichen helfen noch diese Tutorials:
OpenVPN - Teil 1 - Installation, Konfiguration und erstellung der Zertifikate
und
OpenVPN - Teil 2 - OpenVPN Konfiguration
Wo ist denn nun noch dein eigentliches Problem ??
OpenVPN Server installieren auf pfSense Firewall, Mikrotik. DD-WRT oder GL.inet Router
Wird dir das doch Schritt für Schritt erklärt !? Das Setup bei OVPN ist übrigens immer daselbe völlig egal welche Hardware und OS (Winblows, Linux) du verwendest ! Die Schritte sind also völlig identisch.
Zusätzlichen helfen noch diese Tutorials:
OpenVPN - Teil 1 - Installation, Konfiguration und erstellung der Zertifikate
und
OpenVPN - Teil 2 - OpenVPN Konfiguration
Wo ist denn nun noch dein eigentliches Problem ??
ich komme aber von extern nicht auf den Win-7-Rechner drauf (vermutlich, weil das Routing auf dem Win-7-Server nicht korrekt ist / korrekt gesetzt werden kann)
Nein, das stimmt generell nicht. Aber die klassischen Fallen die bei Winblows 7 lauert und in die Laien reintappen:1.) OVPN muss mit Administrator Rechten ausgeführt werden, denn sonst kann das tap 32 Interface nicht gesetzt werden und die Routing Tabelle nicht erweitert werden !
2.) Hat man die obigen Hürden aus dem Weg geräumt ist die 2te Falle die lokale Win7 Firewall. Das Tunnel Netz wird als "public" also öffentlich deklariert und damit die Firewall komplett dichtgemacht.
Hier muss man lediglich in das Firewall Profil an diesem Port auf "Privat" setzen bzw. das tap win32 Interface im Öffentlichen Profil rausnehmen und fertig ist der Lack. Dann klappts auch mit Win 7 auf Anhieb.
http://asktheoracle.com/blog/how-to-make-openvpn-work-with-the-windows- ...