大家好,
我无法让 OpenVPN GUI 应用程序向 Windows 7 客户端添加路由。我使用的配置文件与我在 Windows XP 客户端上使用的配置文件相同,只是添加了以下两行:
route-method exe
route-delay 2
我可以建立连接,并且从 10.8.0.0 池中为我分配了一个 IP 地址 - 这让我觉得隧道已启动。但是查看下面的日志,似乎没有在 Windows 7 机器上添加路由。
Fri Sep 13 16:02:44 2013 OpenVPN 2.3.2 x86_64-w64-mingw32 [SSL (OpenSSL)] [LZO] [PKCS11] [eurephia] [IPv6] built on Aug 22 2013
Fri Sep 13 16:02:44 2013 MANAGEMENT: TCP Socket listening on [AF_INET]127.0.0.1:25340
Fri Sep 13 16:02:44 2013 Need hold release from management interface, waiting...
Fri Sep 13 16:02:45 2013 MANAGEMENT: Client connected from [AF_INET]127.0.0.1:25340
Fri Sep 13 16:02:45 2013 MANAGEMENT: CMD 'state on'
Fri Sep 13 16:02:45 2013 MANAGEMENT: CMD 'log all on'
Fri Sep 13 16:02:45 2013 MANAGEMENT: CMD 'hold off'
Fri Sep 13 16:02:45 2013 MANAGEMENT: CMD 'hold release'
Fri Sep 13 16:02:48 2013 MANAGEMENT: CMD 'username "Auth" "username"'
Fri Sep 13 16:02:48 2013 MANAGEMENT: CMD 'password [...]'
Fri Sep 13 16:02:49 2013 Control Channel Authentication: using 'ta.key' as a OpenVPN static key file
Fri Sep 13 16:02:49 2013 Outgoing Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication
Fri Sep 13 16:02:49 2013 Incoming Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication
Fri Sep 13 16:02:49 2013 Socket Buffers: R=[8192->8192] S=[261360->261360]
Fri Sep 13 16:02:49 2013 UDPv4 link local: [undef]
Fri Sep 13 16:02:49 2013 UDPv4 link remote: [AF_INET]501.2.984.233:1194
Fri Sep 13 16:02:49 2013 MANAGEMENT: >STATE:1379102569,WAIT,,,
Fri Sep 13 16:02:49 2013 MANAGEMENT: >STATE:1379102569,AUTH,,,
Fri Sep 13 16:02:49 2013 TLS: Initial packet from [AF_INET]501.2.984.233:1194, sid=82453eea 30481972
Fri Sep 13 16:02:49 2013 WARNING: this configuration may cache passwords in memory -- use the auth-nocache option to prevent this
Fri Sep 13 16:02:49 2013 VERIFY OK: depth=1, O=Central Truck Center, Inc., OU=IT/Systems Department, [email protected], L=Landover, ST=MD, C=US, CN=ca.centraltruck.net
Fri Sep 13 16:02:49 2013 VERIFY OK: nsCertType=SERVER
Fri Sep 13 16:02:49 2013 VERIFY OK: depth=0, C=US, ST=MD, O=Central Truck Center, Inc., OU=IT/Systems Department, L=Landover, CN=centraltruck.net, [email protected]
Fri Sep 13 16:02:49 2013 Data Channel Encrypt: Cipher 'BF-CBC' initialized with 128 bit key
Fri Sep 13 16:02:49 2013 Data Channel Encrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Fri Sep 13 16:02:49 2013 Data Channel Decrypt: Cipher 'BF-CBC' initialized with 128 bit key
Fri Sep 13 16:02:49 2013 Data Channel Decrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Fri Sep 13 16:02:49 2013 Control Channel: TLSv1, cipher TLSv1/SSLv3 DHE-RSA-AES256-SHA, 2048 bit RSA
Fri Sep 13 16:02:49 2013 [centraltruck.net] Peer Connection Initiated with [AF_INET]50.242.184.133:1194
Fri Sep 13 16:02:50 2013 MANAGEMENT: >STATE:1379102570,GET_CONFIG,,,
Fri Sep 13 16:02:51 2013 SENT CONTROL [centraltruck.net]: 'PUSH_REQUEST' (status=1)
Fri Sep 13 16:02:51 2013 PUSH: Received control message: 'PUSH_REPLY,dhcp-option DNS 172.23.6.127,dhcp-option WINS 172.23.6.127,dhcp-option DOMAIN centraltruck.net,ip-win32 dynamic,route 172.23.6.0 255.255.255.0,route 172.23.7.0 255.255.255.0,route 208.197.153.0 255.255.255.0,route 10.8.0.0 255.255.255.0,topology net30,ping 10,ping-restart 120,ifconfig 10.8.0.6 10.8.0.5'
Fri Sep 13 16:02:51 2013 OPTIONS IMPORT: timers and/or timeouts modified
Fri Sep 13 16:02:51 2013 OPTIONS IMPORT: --ifconfig/up options modified
Fri Sep 13 16:02:51 2013 OPTIONS IMPORT: route options modified
Fri Sep 13 16:02:51 2013 OPTIONS IMPORT: --ip-win32 and/or --dhcp-option options modified
Fri Sep 13 16:02:52 2013 do_ifconfig, tt->ipv6=0, tt->did_ifconfig_ipv6_setup=0
Fri Sep 13 16:02:52 2013 MANAGEMENT: >STATE:1379102572,ASSIGN_IP,,10.8.0.6,
Fri Sep 13 16:02:52 2013 open_tun, tt->ipv6=0
Fri Sep 13 16:02:52 2013 TAP-WIN32 device [Local Area Connection 3] opened: \\.\Global\{19F13E2F-B3F0-4E85-A8A2-E3C86ADD1987}.tap
Fri Sep 13 16:02:52 2013 TAP-Windows Driver Version 9.9
Fri Sep 13 16:02:52 2013 Notified TAP-Windows driver to set a DHCP IP/netmask of 10.8.0.6/255.255.255.252 on interface {19F13E2F-B3F0-4E85-A8A2-E3C86ADD1987} [DHCP-serv: 10.8.0.5, lease-time: 31536000]
Fri Sep 13 16:02:52 2013 Successful ARP Flush on interface [41] {19F13E2F-B3F0-4E85-A8A2-E3C86ADD1987}
Fri Sep 13 16:02:54 2013 TEST ROUTES: 0/0 succeeded len=4 ret=0 a=0 u/d=down
Fri Sep 13 16:02:54 2013 Route: Waiting for TUN/TAP interface to come up...
上面的最后两行将重复大约 30 次,然后会出现一条通知,显示 VPN 已与 IP 10.8.0.6 连接。然而,日志的最后一行显示了这一点:
Fri Sep 13 16:03:24 2013 Initialization Sequence Completed With Errors ( see http://openvpn.net/faq.html#dhcpclientserv )
Fri Sep 13 16:03:24 2013 MANAGEMENT: >STATE:1379102604,CONNECTED,ERROR,10.8.0.6,50.242.184.133
多项 Google 搜索显示我需要以管理员权限运行该应用程序。我正在这样做,我什至尝试在 Windows Vista 兼容模式下运行该应用程序。出于某种奇怪的原因,Windows XP 不是我可以选择的选项。有什么我想念的吗?我的配置 - 没有我之前告诉过你的两行 - 在 Windows XP 中运行良好。此外,如果我使用 OpenVPN 客户端(而不是 OpenVPN GUI),它在 Windows 7 机器上也能正常工作。
我希望有人以前遇到过这个问题并可以提供一些帮助。谢谢。
它与权限有关。以禁用 UAC 的管理员身份运行,它将工作。您必须禁用 UAC。
或者您可以将 VPN 作为服务运行,它会正确连接和添加路由。
那些不会有什么不同。
大家好,
我非常感谢 Zoredache 和 David Mackintosh 的帮助。你们俩都提出了一些建议,为我指明了正确的方向。
完全禁用 UAC 确实对我有用,以及修改 openvpn-gui 二进制文件以始终以管理员身份为所有用户运行。然而不幸的是,我对让我的用户永久禁用 UAC 或者每次启用或禁用 UAC 时都必须执行的强制重启感到不舒服。这意味着每次他们使用 VPN 并断开连接时都会重新启动。
因此,我寻找其他解决方案,并遇到了一些建议仅对管理员禁用 UAC 的解决方案。由于我的大多数需要 VPN 的用户通常是他们笔记本电脑上的本地管理员,我认为这个解决方案可以工作。所以我测试了它,它确实有效。这是我的最终解决方案。
我创建了两个单独的 .reg 文件来修改系统注册表,如下所示:
注册表文件#1:禁用UACforAdmin
注册表文件 #2:EnableUACforAdmin
为了让它工作,我必须以管理员身份运行 OpenVPN GUI。感谢 David Mackintosh 的建议,我将 exe 文件修改为始终以所有用户的管理员身份运行。现在,时机很关键——我需要确保在 VPN 连接启动之前禁用 UAC。幸运的是,OpenVPN GUI 支持创建预连接脚本,只需创建一个与配置文件同名且后缀为_pre的批处理文件。
所以我创建了我的预连接脚本来调用我的DisableUACforAdmin脚本,如下所示:
最后,我创建了一个向下脚本以在 VPN 隧道断开连接时重新启用 UAC - 因此,将用户的机器恢复到原始状态。
这是我所做的:
有了这个,OpenVPN GUI 运行没有任何抱怨,路由从服务器推送并在 Windows 7 客户端上正确设置。我已经在多台 Windows 7 机器上对此进行了测试,并且一切正常。通过这样做,我避免了禁用 UAC 带来的强制重启。再次感谢所有的帮助,我希望这会让那些遇到同样问题的人受益。
最后说明: 我意识到http://openvpn.se提供的 OpenVPN GUI不喜欢配置文件中的某些指令(例如script-security或key-direction),除非您将它们注释掉,否则不会启动. 这可能并不适用于所有人,但我必须使用 OpenVPN 2.3.2 版附带的 OpenVPN GUI
为了让它为我工作,我转到 openvpn-gui 二进制文件,选择Properties,选择Change Settings For All users ,然后在该窗口中单击Run this program as an administrator 。停止并重新启动 Openvpn-gui。
上面所有的答案都集中在“官方”openvpn 客户端——Securepoint 客户端http://sourceforge.net/projects/securepoint/没有这个问题,而且也是开源的。
可能适用于有问题的版本,也可能不适用:带有 Sophos SSL VPN 的 OpenVPN 也遇到了一个问题,即“OpenVPN Interactive Service”服务在启动时没有成功启动。客户端机器是联想 Thinkpad T530,并附带了来自联想的预安装服务,这些服务导致了该问题。
有问题的服务:Fastboot HyperW7
运行 Lenovo 和 Intel 更新后问题不太明显,但在启动计算机时仍然偶尔会出现“OpenVPN 交互服务”超时。
如果您禁用上述两项 Lenovo 服务,则“OpenVPN 交互服务”能够启动。似乎联想程序员摆弄什么可以启动以及可以在启动时暂停什么并不能很好地与 OpenVPN 配合使用。
一旦允许“OpenVPN 交互式服务”在启动时正确运行,即使标准用户登录,它也可以允许 OpenVPN 提交路由。
无需“以管理员身份运行”或提升用户帐户的权限。
尝试重新启动 DHCP 客户端服务(如该线程https://forums.openvpn.net/topic13043.html#p41604中所建议的那样)。它在我的情况下有效。