
大家好,
我在使用 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
幾次谷歌搜尋顯示我需要以管理員權限運行該應用程式。我正在這樣做,我甚至嘗試在 Windows Vista 相容模式下運行該應用程式。由於某些奇怪的原因,Windows XP 不是我可以選擇的選項。我有什麼遺漏的嗎?我的配置 - 沒有我之前告訴過你的兩行 - 在 Windows XP 中運作得很好。另外,如果我使用 OpenVPN 用戶端(而不是 OpenVPN GUI),它在 Windows 7 電腦上運作良好。
我希望有人以前遇到過這個問題並可以提供一些幫助。謝謝。
答案1
跟權限有關係。以管理員身份運行並停用 UAC,它將起作用。您必須停用 UAC。
或者您可以將 VPN 作為服務運行,它將正確連接並添加路由。
相容模式
這些不會有什麼不同。
答案2
大家好,
我衷心感謝 Zoredache 和 David Mackintosh 的幫助。你們都提出了建議,為我指明了正確的方向。
完全禁用 UAC 對我來說確實有效,並且修改 openvpn-gui 二進位檔案以始終以管理員身份為所有用戶運行。但不幸的是,我不太願意讓我的用戶永久停用 UAC,或者每次啟用或停用 UAC 時都必須強制重新啟動。這意味著每次使用 VPN 並斷開連線時都要重新啟動。
因此,我尋找其他解決方案,並發現了一些建議僅對管理員停用 UAC 的解決方案。由於我的大多數需要 VPN 的用戶通常是其筆記型電腦上的本機管理員,因此我認為此解決方案可行。所以我測試了它,它確實有效。這是我的最終解決方案。
我建立了兩個單獨的 .reg 檔案來修改系統登錄,如下所示:
註冊表檔案#1:停用UACforAdmin
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System]
"ConsentPromptBehaviorAdmin"=dword:00000000
註冊表檔案#2:EnableUACforAdmin
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System]
"ConsentPromptBehaviorAdmin"=dword:00000002
為了讓它工作,我必須以管理員身份運行 OpenVPN GUI。感謝 David Mackintosh 的建議,我修改了 exe 文件,使其始終以管理員身份為所有用戶運行。現在,時機是關鍵 - 我需要確保在 VPN 連線啟動之前停用 UAC。幸運的是,OpenVPN GUI 支援建立預先連線腳本,只需建立一個與設定檔同名的批次文件,後綴為_pre。
所以我創建了預連接腳本來呼叫我的禁用管理員UAC腳本如下:
regedit.exe /s DisableUACforAdmin.reg
最後,我建立了一個 down 腳本,用於在 VPN 隧道中斷開連接時重新啟用 UAC,從而將使用者的電腦恢復到原始狀態。
這就是我所做的:
regedit.exe /s EnableUACforAdmin.reg
這樣,OpenVPN GUI 就可以正常運行,路由從伺服器推送並在 Windows 7 用戶端上正確設定。我已經在多台 Windows 7 機器上對此進行了測試並且一切正常。透過這種方式,我可以避免因停用 UAC 而強制重新啟動。再次感謝您的所有幫助,我希望這能讓那些與我遇到相同問題的人受益。
最後說明: 我意識到 OpenVPN GUI 提供於http://openvpn.se不喜歡設定檔中的某些指令(例如腳本安全或者關鍵方向)並且除非您將它們註解掉,否則不會啟動。這可能不適用於所有人,但我必須使用附帶的 OpenVPN GUIOpenVPN 2.3.2 版本
答案3
為了讓它為我工作,我進入 openvpn-gui 二進位文件,選擇特性, 選擇更改所有使用者的設定,然後按一下以管理員身份執行程式在那扇窗戶裡。停止並重新啟動 Openvpn-gui。
答案4
可能適用也可能不適用於相關版本:OpenVPN w/Sophos SSL VPN 也遇到了「OpenVPN 互動式服務」服務在啟動時無法成功啟動的問題。客戶端電腦是 Lenovo Thinkpad T530,預先安裝了 Lenovo 的服務,導致了這個問題。
相關服務:Fastboot HyperW7
運行 Lenovo 和 Intel 更新後,該問題不太明顯,但啟動電腦時「OpenVPN Interactive Service」仍然偶爾會逾時。
如果停用上述兩項 Lenovo 服務,則「OpenVPN Interactive Service」能夠啟動。聯想程式設計師似乎在擺弄允許啟動的內容和啟動時可以暫停的內容,這與 OpenVPN 的配合不太好。
一旦允許「OpenVPN 互動式服務」在啟動時正確運行,即使標準使用者登錄,它也能夠允許 OpenVPN 提交路由。
無需「以管理員身分執行」或提升使用者帳戶的權限。