OpenVPN não reconecta automaticamente

1

Eu executo o OpenVPN no Win7 como um serviço em segundo plano. Durante anos isso funcionou bem, a conexão foi sempre automaticamente restabelecida e é assim que deve ser.

No entanto, de repente, isso não funciona mais! Quando a conexão cai (por exemplo, o laptop fica em espera), eu sempre preciso parar e reiniciar o serviço para restabelecer a conexão.

A conexão é estabelecida com sucesso:

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

Em seguida, quando a conexão cai, em vez de se reconectar, aparece o seguinte nos registros:

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

Como consertar isso?

    
por divB 25.06.2015 / 14:25

1 resposta

2

Existem alguns problemas conhecidos com o cliente Open VPN quando o Windows adormece ou no modo de hibernação. O serviço openvpn é morto pela rede sendo desligado no modo de suspensão e não é reiniciado. Veja:

A solução é usar um outro gerenciador de janelas de serviço que verifique o serviço de cliente openvpn de fato em execução e reinicie-o se não estiver. A equipe do OpenVPN está trabalhando na integração do NSSM (o Gerenciador de serviços não-sugadores) na instalação do cliente OpenVPN para Windows para fornecer um gerenciamento de serviços eficiente, mas ainda não incluído (atualmente versão 2.8.3).

Como explicado na seguinte página da wiki:

Você precisa usar o NSSM para gerenciar o serviço openvpn:

  1. Faça o download do binário do NSSM na pasta "C: \ Arquivos de programas \ OpenVPN \ bin"
  2. Crie um arquivo de lote contendo:

    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. Verifique cuidadosamente a variável CONN: ela deve ser a configuração do cliente openvpn.

  4. Execute o arquivo em lote em um terminal de linha de comando iniciado como administrador.

Isso instalará um serviço nssm procurando sua configuração de cliente vpn aberta. Você só precisa executar esse lote uma vez.

Se você adicionou por engano um serviço nssm na configuração vpn work, você pode removê-lo com o seguinte comando.

nssm remove <connection>

Por exemplo:

nssm remove community.ovpn

Verifique a guia do processo do gerenciador de tarefas para ver quais processos nssm estão sendo executados.

    
por 17.09.2015 / 11:02