Почему OpenVPN GUI не может добавлять маршруты в Windows 7?

Почему OpenVPN GUI не может добавлять маршруты в Windows 7?

Добрый день всем!

У меня возникли проблемы с добавлением маршрутов в приложение OpenVPN GUI для клиента Windows 7. Я использую тот же файл конфигурации, что и для клиента Windows XP, за исключением того, что я добавил следующие две строки:

route-method exe
route-delay 2

Я могу установить соединение, и мне назначается IP-адрес из пула 10.8.0.0, что заставляет меня думать, что туннель работает. Но, глядя на журнал ниже, кажется, что маршруты не добавляются на машине с 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. Кроме того, она отлично работает на машине с Windows 7, если я использую OpenVPN Client (а не OpenVPN GUI).

Надеюсь, кто-то уже сталкивался с этой проблемой и сможет оказать помощь. Спасибо.

решение1

Это связано с разрешениями. Запустите как администратор с отключенным UAC, и это сработает. Вам нужно отключить UAC.

Или вы можете запустить VPN как службу, и она будет подключаться и добавлять маршруты правильно.

режим совместимости

Это ничего не изменит.

решение2

Всем здравствуйте,

Я действительно благодарен за помощь от Zoredache и David Mackintosh. Вы оба дали мне предложения, которые указали мне правильное направление.

Мне помогло полное отключение UAC, а также изменение бинарного файла openvpn-gui для постоянного запуска от имени администратора для всех пользователей. К сожалению, однако, мне было некомфортно, когда мои пользователи отключали UAC навсегда, или когда требовалась обязательная перезагрузка каждый раз при включении или отключении UAC. Это означало перезагрузку каждый раз, когда они использовали VPN и отключались от него.

Поэтому я искал дополнительные решения и наткнулся на несколько, которые предлагали отключить UAC только для администраторов. Поскольку большинство моих пользователей, которым нужен VPN, обычно являются локальными администраторами на своих ноутбуках, я решил, что это решение сработает. Поэтому я протестировал его, и оно сработало. Вот мое окончательное решение.

Я создал два отдельных .reg-файла для изменения системного реестра следующим образом:

ФАЙЛ РЕЕСТРА №1: DisableUACforAdmin

[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 от имени администратора. Благодаря предложению Дэвида Макинтоша я изменил exe-файл, чтобы он всегда запускался от имени администратора для всех пользователей. Теперь ключевым моментом был момент — мне нужно было убедиться, что UAC отключен до того, как VPN-подключение будет инициировано. К счастью, OpenVPN GUI поддерживает создание скрипта предварительного подключения, просто создавая пакетный файл с тем же именем, что и у файла конфигурации, но с суффиксом_пре.

Поэтому я создал свой скрипт предварительного подключения, чтобы вызвать мойОтключить UAC для администратораскрипт выглядит следующим образом:

regedit.exe /s DisableUACforAdmin.reg

Наконец, я создал скрипт отключения для повторного включения UAC при отключении VPN-туннеля, тем самым возвращая машину пользователя в исходное состояние.

Вот что я сделал:

regedit.exe /s EnableUACforAdmin.reg

При этом OpenVPN GUI работает без каких-либо нареканий, маршруты отправляются с сервера и правильно устанавливаются на клиенте Windows 7. Я проверил это на нескольких машинах с Windows 7, и все работает. Делая это таким образом, я избегаю обязательной перезагрузки, которая происходит при отключении UAC. Еще раз спасибо за всю помощь, надеюсь, это поможет кому-нибудь с той же проблемой, с которой я столкнулся.

ЗАКЛЮЧИТЕЛЬНОЕ ПРИМЕЧАНИЕ: Я понял, что графический интерфейс OpenVPN, представленный наhttp://openvpn.seне нравятся некоторые директивы в файле конфигурации (например,скрипт-безопасностьилиключевое направление) и не запустится, пока вы их не закомментируете. Это может быть не для всех, но мне пришлось использовать OpenVPN GUI, который идет срелиз 2.3.2 OpenVPN

решение3

Чтобы это заработало, я захожу в исполняемый файл openvpn-gui, выбираюХарактеристики, выбиратьИзменить настройки для всех пользователейи нажмитеЗапустите эту программу от имени администратора.в этом окне. Остановите и перезапустите Openvpn-gui.

решение4

Может или не может относиться к рассматриваемой версии: OpenVPN с Sophos SSL VPN также столкнулся с проблемой, когда служба "OpenVPN Interactive Service" не запускалась успешно при загрузке. Клиентской машиной был Lenovo Thinkpad T530, на нем были предустановлены службы от Lenovo, которые и вызывали проблему.

Рассматриваемые службы: Fastboot HyperW7

Проблема стала менее выраженной после установки обновлений Lenovo и Intel, но время от времени «OpenVPN Interactive Service» зависала при загрузке компьютера.

Если отключить обе службы Lenovo выше, то "OpenVPN Interactive Service" сможет запуститься. Похоже, программисты Lenovo возятся с тем, что разрешено запускать, а что можно приостанавливать при загрузке, что не очень хорошо сочетается с OpenVPN.

Как только «Интерактивной службе OpenVPN» будет разрешено правильно работать при запуске, она сможет разрешить OpenVPN фиксировать маршруты даже при входе в систему стандартного пользователя.

Нет необходимости в «Запуске от имени администратора» или повышении привилегий учетной записи пользователя.

Связанный контент