Desconectando-se do servidor OpenVPN a cada hora

12

Estou tendo um problema bastante estranho com minha OpenVPNconfiguração. Estou conectando do cliente Windows 7mais recente oficial OpenVPNao meu OpenVPNservidor ( OpenVPN 2.1.4 i386-redhat-linux-gnu).

O problema é que estou sendo desconectado do meu OpenVPNservidor exatamente após 1 hora e não consigo entender qual diretiva / opção é responsável por isso. Talvez seja um problema do cliente? Eu tentei diferentes Windowssistemas e Windows VPNclientes. Os Linuxclientes estão trabalhando como esperado, sem desconexões.

Você poderia me ajudar a solucionar esse problema? Eu tentei ler livros e pesquisar no Google e algumas pessoas aconselham a brincar keepalivee as reneg-secdiretrizes. Mas isso não parece ajudar.

Configuração do servidor OpenVPN

port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh1024.pem
server 192.168.2.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "route 10.0.0.0 255.0.0.0"
client-config-dir ccd
route 192.168.51.0 255.255.255.0
keepalive 60 600
reneg-sec 5000
hand-window 15
tls-auth ta.key 0
comp-lzo
max-clients 50
user nobody
group nobody
persist-key
persist-tun
status openvpn-status.log
verb 4
crl-verify crl.pem
management localhost 11111
plugin /usr/share/openvpn/plugin/lib/openvpn-auth-pam.so login
push "dhcp-option DNS 192.168.2.1"
push "dhcp-option DOMAIN example.com"
push "dhcp-option SEARCH example.com"

Log do servidor (o problema não é reinit_src = 1?)

Oct  9 07:23:38 vpn openvpn[19495]: user/192.168.253.20:54568 TLS Error: TLS handshake failed
Oct  9 07:23:38 vpn openvpn[19495]: user/192.168.253.20:54568 TLS: move_session: dest=TM_LAME_DUCK src=TM_ACTIVE reinit_src=1
Oct  9 07:24:53 vpn openvpn[19495]: user/192.168.253.20:54568 TLS Error: TLS handshake failed
Oct  9 07:26:08 vpn openvpn[19495]: user/192.168.253.20:54568 TLS Error: TLS key negotiation failed to occur within 15 seconds (check your network connectivity)
Oct  9 07:26:08 vpn openvpn[19495]: user/192.168.253.20:54568 TLS Error: TLS handshake failed
Oct  9 07:26:39 vpn openvpn[19495]: user/192.168.253.20:54568 [UNDEF] Inactivity timeout (--ping-restart), restarting
Oct  9 07:26:39 vpn openvpn[19495]: user/192.168.253.20:54568 SIGUSR1[soft,ping-restart] received, client-instance restarting

Log do cliente

RwrWRwRwRwRwTue Oct 09 07:26:39 2012 us=796000 TLS: soft reset sec=0 bytes=7405621/0 pkts=9459/0
Tue Oct 09 07:26:39 2012 us=600000 ERROR: could not read Auth username from stdin
Tue Oct 09 07:26:39 2012 us=600000 Exiting
Tue Oct 09 07:26:39 2012 us=600000 C:\WINDOWS\system32\route.exe DELETE 192.168.2.1 MASK 255.255.255.255 192.168.100.150
Tue Oct 09 07:26:39 2012 us=600000 Route deletion via IPAPI succeeded [adaptive]
Tue Oct 09 07:26:39 2012 us=600000 C:\WINDOWS\system32\route.exe DELETE 10.0.0.0 MASK 255.0.0.0 192.168.100.150
Tue Oct 09 07:26:39 2012 us=600000 Route deletion via IPAPI succeeded [adaptive]
Tue Oct 09 07:26:39 2012 us=600000 Closing TUN/TAP interface

Muito obrigado.

Andrew
fonte

Respostas:

11

O culpado parece ser sua configuração de autenticação. Você está usando o plugin /usr/share/openvpn/plugin/lib/openvpn-auth-pam.so loginque exigiria que o cliente forneça uma combinação válida de nome de usuário / senha para se conectar. Aparentemente, isso também é necessário após a nova verificação e seu cliente OpenVPN parece incapaz de solicitar o nome de usuário de stdin( ERROR: could not read Auth username from stdin).

Quanto ao motivo pelo qual o aumento de reneg-sec na configuração do servidor não ajuda, isso ocorre porque o parâmetro deve ser especificado em ambos - a configuração do servidor e do cliente deve ser efetivamente aumentada acima do padrão de 3600 segundos (o que acontece com causar a uma hora - desconecte você está vendo).

Portanto, suas opções seriam

  • use um método de autenticação que não exija entrada do usuário (certificados vêm à mente)
  • Solucionar problemas de por que seu cliente não pode solicitar a combinação de nome de usuário / senha após o estabelecimento da conexão
  • aumente o período de rekeying ou desative totalmente o rekeying (o que enfraquece a segurança da sua conexão, portanto, certamente é apenas uma solução inferior ao seu problema)
o wabbit
fonte
Você está certo, colocando reneg-sec no client.ovpn ajudou a resolver esse problema.
Andrew
7

você pode tentar reneg-sec 0no seu server.conf:

https://duo.com/docs/openvpn

https://tldrify.com/m80

é bem simples mesmo. Como o OpenVPN tenta renegociar uma nova sessão TLS a cada 3600 segundos por padrão, você precisa se autenticar novamente a cada vez, usando um novo OTP. Para evitar esse tipo de comportamento, é apenas uma questão de dizer ao openvpn para nunca renegociar uma sessão TLS e manter a existente existente, se você combinar a keepalivediretiva e reneg-sec 0tiver uma conexão estável, sem renegociação.

Arnaud
fonte
3

Tive um efeito semelhante quando adicionei a opção 'auth-nocache' à configuração do meu cliente. Eu uso certificados E uma combinação de nome de usuário e senha para autenticar.

Algumas vezes eu notei nos logs de conexão que o openvpn relatou o seguinte aviso:

AVISO: essa configuração pode armazenar em cache senhas na memória - use a opção auth-nocache para impedir que isso ocorra.

Então pensei em adicionar essa opção e ver o que acontece. Bem, o aviso acima desaparece, mas depois de uma hora uma caixa de diálogo apareceu, pedindo meu nome de usuário e senha.

Notei que a configuração acima de Andrew não contém essa opção, por isso estou um pouco confuso sobre o motivo pelo qual ela não armazena em cache a senha. Talvez seja porque estou usando uma versão mais recente do openvpn ou talvez ela possa ser definida na configuração do servidor para enviar esta opção ao cliente.

Isso foi visto em: OpenVPN 2.2.1-8 + deb7u2 com OpenVPN GUI v5 para Windows.

CAPTCHA
fonte
Eu tenho que gerar um arquivo usando openvpn e, em seguida, adicione a opção auth-nocache. Agora está funcionando perfeitamente. O arquivo gerado pode ser usado como
crsuarezf
@ingcarlos É ótimo saber que está funcionando para você. Feliz vpn-ing.
Captcha
+1 Absolutley certo, eu enfrentei o mesmo problema depois de adicionar nenhuma diretiva de cache.
Mohammed Noureldin 10/11/2016