Listar quais clientes VPN estão conectados

5

Situação: Eu tenho um servidor VPN privado em casa que está aberto à Internet para que um determinado grupo de pessoas possa se conectar a ele (somente a autenticação de par de chaves é permitida).

Como posso ver quais clientes estão atualmente conectados ao meu servidor VPN?

Eu já tentei pingar os hosts, mas parece que alguns (na verdade, a maioria deles) bloqueiam solicitações ICMP, então isso falha sempre. É claro que eu poderia examinar /etc/openvpn/openvpn.log a cada vez, mas isso não é muito conveniente e definitivamente não é adequado para um relatório de status enviado por e-mail para mim.

Observação: estou usando OpenVPN 2.2.1 x86_64-linux-gnu .

    
por MrD 02.10.2014 / 10:38

2 respostas

3

Você pode fazer isso com um pequeno script de expectativa:

#!/usr/bin/expect
spawn telnet localhost 7505
set timeout 10
expect "OpenVPN Management Interface"
send "status 3\r"
expect "END"
send "exit\r"

E execute-o com (por exemplo)
while true; do ./openVPNUserlist.sh |grep -e ^CLIENT_LIST; sleep 1; done

Além disso, no seu arquivo server.conf - adicione a linha
management localhost 7505

Pacotes que você precisa instalar:
telnet expect

Curiosamente, o status só é atualizado depois de um tempo (quando um cliente se desconecta, ele continua sendo exibido no status por um bom tempo ... Não encontrou uma maneira de contornar isso ainda: (
Altere o tempo limite em seu server.conf para os valores que você precisa:
keepalive 10 60
= ping cliente a cada 10 segundos e considere desconectado após 1 minuto.     
por 02.10.2014 / 13:44
0

Eu localizei extensos logs vpn nesta pasta:

ls /var/log/openvpn/

Para mim, havia dois arquivos, chamados assim:

Arbitary-Name-VPN.log
status-Arbitary-Name-VPN.log

O primeiro arquivo mostrou um log de todas as conexões vpn que aconteceram ao longo do tempo, e o segundo (status -...) mostrou quem está conectado no momento.

    
por 09.08.2017 / 23:43

Tags