1

Я запускаю OpenVPN в Win7 в качестве службы в фоновом режиме. В течение многих лет это работало нормально, соединение всегда автоматически восстанавливалось, и так и должно быть.

Однако вдруг это уже не работает! Когда соединение обрывается (например, ноутбук переходит в режим ожидания), мне всегда нужно останавливать и перезапускать службу, чтобы восстановить соединение.

Соединение устанавливается успешно:

Wed Jun 24 10:26:58 2015 OpenVPN 2.3.7 x86_64-w64-mingw32 [SSL (OpenSSL)] [LZO] [PKCS11] [IPv6] built on Jun  8 2015
Wed Jun 24 10:26:58 2015 library versions: OpenSSL 1.0.1m 19 Mar 2015, LZO 2.08
Wed Jun 24 10:26:58 2015 UDPv4 link local (bound): [undef]
Wed Jun 24 10:26:58 2015 UDPv4 link remote: [AF_INET]53.33.202.70:500
Wed Jun 24 10:26:58 2015 VERIFY OK: depth=1, C=US, ST=CA, L=SF, emailAddress=admin@localhost
Wed Jun 24 10:26:58 2015 VERIFY OK: nsCertType=SERVER
Wed Jun 24 10:26:58 2015 VERIFY OK: depth=0, C=US, ST=CA, L=SF, emailAddress=admin@localhost
Wed Jun 24 10:26:59 2015 Data Channel Encrypt: Cipher 'BF-CBC' initialized with 128 bit key
Wed Jun 24 10:26:59 2015 Data Channel Encrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Wed Jun 24 10:26:59 2015 NOTE: --mute triggered...
Wed Jun 24 10:26:59 2015 3 variation(s) on previous 5 message(s) suppressed by --mute
Wed Jun 24 10:26:59 2015 [server] Peer Connection Initiated with [AF_INET]53.33.202.70:500
Wed Jun 24 10:27:01 2015 open_tun, tt->ipv6=0
Wed Jun 24 10:27:01 2015 TAP-WIN32 device [OpenVPN] opened: \\.\Global\{6C3D3D35-743E-4239-BFD8-143837009EBE}.tap
Wed Jun 24 10:27:01 2015 Sleeping for 3 seconds...
Wed Jun 24 10:27:04 2015 Successful ARP Flush on interface [28] {6C3D3D35-743E-4239-BFD8-143837009EBE}
Wed Jun 24 10:27:09 2015 Initialization Sequence Completed

Затем, когда соединение обрывается, а не переподключается, в журналах появляется следующее:

Wed Jun 24 11:14:40 2015 TUN/TAP I/O operation aborted, exiting
Wed Jun 24 11:14:40 2015 Exiting due to fatal error
Wed Jun 24 11:14:40 2015 Warning: route gateway is not reachable on any active network adapters: 192.168.200.120
Wed Jun 24 11:14:40 2015 env_block: add PATH=C:\Windows\System32;C:\WINDOWS;C:\WINDOWS\System32\Wbem
Wed Jun 24 11:14:40 2015 Warning: route gateway is not reachable on any active network adapters: 192.168.200.120
Wed Jun 24 11:14:40 2015 env_block: add PATH=C:\Windows\System32;C:\WINDOWS;C:\WINDOWS\System32\Wbem
Wed Jun 24 11:14:40 2015 Warning: route gateway is not reachable on any active network adapters: 192.168.200.120
Wed Jun 24 11:14:40 2015 env_block: add PATH=C:\Windows\System32;C:\WINDOWS;C:\WINDOWS\System32\Wbem
Wed Jun 24 11:14:40 2015 Warning: route gateway is not reachable on any active network adapters: 192.168.200.120
Wed Jun 24 11:14:40 2015 env_block: add PATH=C:\Windows\System32;C:\WINDOWS;C:\WINDOWS\System32\Wbem
Wed Jun 24 11:14:40 2015 Warning: route gateway is not reachable on any active network adapters: 192.168.200.120
Wed Jun 24 11:14:40 2015 env_block: add PATH=C:\Windows\System32;C:\WINDOWS;C:\WINDOWS\System32\Wbem
Wed Jun 24 11:14:40 2015 Warning: route gateway is not reachable on any active network adapters: 192.168.200.120
Wed Jun 24 11:14:40 2015 env_block: add PATH=C:\Windows\System32;C:\WINDOWS;C:\WINDOWS\System32\Wbem
Wed Jun 24 11:14:40 2015 Warning: route gateway is not reachable on any active network adapters: 192.168.200.120
Wed Jun 24 11:14:40 2015 env_block: add PATH=C:\Windows\System32;C:\WINDOWS;C:\WINDOWS\System32\Wbem
Wed Jun 24 11:14:40 2015 Warning: route gateway is not reachable on any active network adapters: 192.168.200.120
Wed Jun 24 11:14:40 2015 env_block: add PATH=C:\Windows\System32;C:\WINDOWS;C:\WINDOWS\System32\Wbem
Wed Jun 24 11:14:40 2015 Closing TUN/TAP interface

Как это исправить?

1 ответ1

2

Есть некоторые известные проблемы с клиентом Open VPN, когда Windows переходит в спящий режим или режим гибернации. Служба openvpn убита сетью, которая отключается в спящем режиме и не перезапускается. Увидеть :

Решение состоит в том, чтобы использовать другой диспетчер окон службы, который проверяет, действительно ли работает клиентская служба openvpn, и перезапустить его, если это не так. Команда OpenVPN работает над интеграцией NSSM (Non-Sucking Service Manager) в установку клиента OpenVPN для Windows, чтобы обеспечить эффективное управление сервисами, но оно пока не включено (в настоящее время версия 2.8.3).

Как объяснено на следующей странице вики:

Вы должны использовать NSSM для управления сервисом openvpn:

  1. Загрузите двоичный файл NSSM в папку «C:\Program Files\OpenVPN\bin»
  2. Создайте пакетный файл, содержащий:

    set BASEDIR=C:\Program Files\OpenVPN
    set NSSM=%BASEDIR%\bin\nssm.exe
    set CONN=community.ovpn
    "%NSSM%" status %CONN% > NUL 2>&1
    if %ERRORLEVEL% EQU 3 (
        "%NSSM%" install %CONN% "%BASEDIR%\bin\openvpn.exe" > NUL 2>&1
    )
    "%NSSM%" set %CONN% AppDirectory "%BASEDIR%\config" > NUL 2>&1
    "%NSSM%" set %CONN% AppParameters "--config %CONN%" > NUL 2>&1
    "%NSSM%" set %CONN% AppStdin "%BASEDIR%\log\%CONN%.log" > NUL 2>&1
    "%NSSM%" set %CONN% AppStdout "%BASEDIR%\log\%CONN%.log" > NUL 2>&1
    "%NSSM%" set %CONN% AppStderr "%BASEDIR%\log\%CONN%.log" > NUL 2>&1
    "%NSSM%" set %CONN% AppRotateFiles 1 > NUL 2>&1
    "%NSSM%" set %CONN% DependOnService Dhcp tap0901 > NUL 2>&1
    "%NSSM%" start %CONN% > NUL 2>&1 
    
  3. Внимательно проверьте переменную CONN: это должна быть ваша клиентская конфигурация openvpn.

  4. Запустите пакетный файл в терминале командной строки, запущенном от имени администратора.

Это установит сервис nssm, ищущий конфигурацию вашего открытого клиента vpn. Вам нужно запустить этот пакет только один раз.

Если вы по ошибке добавили службу nssm в рабочую конфигурацию vpn, вы можете удалить ее с помощью следующей команды.

nssm remove <connection>

Например :

nssm remove community.ovpn

Проверьте вкладку процесса диспетчера задач, чтобы увидеть, какие процессы nssm запущены.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .