Como visualizar os usuários conectados para abrir o servidor vpn?

50

Estou desenvolvendo um site para gerenciar usuários do OpenVPN com o framework Django. Mas eu preciso saber se existe alguma maneira de extrair usuários ativos do OpenVPN? Meu servidor está executando o Ubuntu 12.04.

    
por Hamid FzM 02.02.2014 / 01:30

5 respostas

71

Deve haver um registro de status para você mostrar, o meu é, por exemplo:

cat /etc/openvpn/openvpn-status.log

EDITAR:

Como alternativa, adicione o sinalizador --management IP port [pw-file] ou adicione a mesma diretiva ao seu server.conf , por exemplo:

management localhost 7505

Isso permitiria que você fizesse telnet para essa porta e oferecesse uma lista de comandos para executar:

telnet localhost 7505

help

    
por 02.02.2014 / 04:05
14

Para concluir a @sekrett resposta:

killall -USR2 openvpn ; tail -f /var/log/syslog

Ele continuará em execução, não é um kill "regular", apenas um pedido para imprimir algumas estatísticas.

As estatísticas exibidas são muito legíveis. Exemplo de saída:

Oct 14 07:34:14 vpn2 openvpn[20959]: Updated,Fri Oct 14 07:34:14 2016
Oct 14 07:34:14 vpn2 openvpn[20959]: Common Name,Real Address,Bytes Received,Bytes Sent,Connected Since
Oct 14 07:26:26 vpn2 openvpn[20959]:
10.8.0.132,hostname1,213.219.XXX.XXX:63765,Fri Oct 14 07:25:01 2016
Oct 14 07:26:26 vpn2 openvpn[20959]:
10.8.0.242,hostname2,213.219.XXX.XXX:62416,Sun Sep 25 03:49:19 2016
    
por 14.10.2016 / 07:33
7

Eu mesmo tenho a mesma necessidade e a solução mais fácil que descobri foi usar o telnet mencionado para conectar-me à interface de gerenciamento (você terá que adicionar: gerenciamento localhost 6666 , no arquivo de configuração do servidor) .

Para obter o número exato de clientes, você pode fazer:

  • telnet localhost 6666
  • status

Em seguida, você receberá muitos registros:

10.9.10.11,test-docker,52.58.48.98:56859,Wed May  4 09:37:34 2016
10.9.7.45,test-docker,52.58.156.80:38774,Wed May  4 09:36:59 2016
10.9.1.103,test-docker,52.58.161.230:52201,Wed May  4 09:35:47 2016
GLOBAL STATS
Max bcast/mcast queue length,0
END
>CLIENT:ESTABLISHED,19845
>CLIENT:ENV,n_clients=19361
>CLIENT:ENV,time_unix=1462357164
  • procure por > > CLIENTE: ENV, n_clientes = 19361

No meu caso, desde que eu tenha um número muito grande de clientes, usar o arquivo de log definitivamente não é muito prático.

    
por 04.05.2016 / 12:24
2

Você também pode enviar o sinal usr2 ao processo openvpn para fazer com que ele grave informações estatísticas no syslog. Isso é seguro, você não precisa reiniciar caso não tenha ativado a interface de gerenciamento antes.

    
por 06.07.2016 / 17:13
1

Use apenas sacli com o seguinte comando. Isso listará os clientes VPN conectados.

/usr/local/openvpn_as/scripts/sacli VPNSummary
{
"n_clients": 15
}

Para ver todos os IPs, use esta opção. ./sacli VPNStatus

    
por 17.08.2018 / 17:11