Estou desenvolvendo um site para gerenciar usuários OpenVPN com o framework Django. Mas preciso saber se existe alguma maneira de extrair usuários ativos do OpenVPN? Meu servidor está executando o Ubuntu 12.04.
59
Deve haver um log de status que você possa ver para mostrar, por exemplo:
cat /etc/openvpn/openvpn-status.log
EDITAR:
Como alternativa, adicionar o sinalizador --management IP port [pw-file]
ou a mesma diretiva ao seu server.conf
, por exemplo:
management localhost 7505
Isso permitiria telnet para essa porta e ofereceria uma lista de comandos para executar:
telnet localhost 7505
help
/etc/openvpn/openvpn-status.log
não funcionou para mim no Debian, nunca mudou; em vez disso/var/run/openvpn/server.status
, funcionou perfeitamente.Para completar a resposta @sekrett :
Ele continuará funcionando, não é uma matança "regular", apenas uma solicitação para imprimir algumas estatísticas.
As estatísticas exibidas são muito legíveis. Saída de amostra:
fonte
Eu mesmo tenho a mesma necessidade e a solução mais fácil que descobri foi usar o telnet mencionado para conectar-se à interface de gerenciamento (você precisará adicionar: management localhost 6666 , no arquivo de configuração do servidor).
Para obter o número exato de cliente, você pode:
Então você terá muitos logs:
No meu caso, como tenho um número muito grande de clientes, o uso do arquivo de log definitivamente não é muito prático.
fonte
Você também pode enviar o sinal usr2 para o 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.
fonte
killall -USR2 openvpn
. Então assista os logs. Pode ser/var/log/syslog
ou/var/log/messages
dependendo da distribuição.kill
comando pode enviar sinais diferentes, USR2 não mata, é apenas um sinal. Você pode ver uma lista aqui: linux.org/threads/kill-signals-and-commands-revised.11625 ou executandokill -l
.Eu gerencio os servidores OpenVPN de nossas empresas e a maneira como vejo as conexões ativas é assim,
adicione ao /etc/openvpn/server.conf
reinicie o servidor openvpn
adicione um pacote Python do OpenVPN Monitor - ele será executado através de um servidor da web Gunicorn e mostrará conexões ativas,
criar um ambiente virtual (não é necessário, mas é uma boa prática com pacotes py)
instalar pacotes necessários
adicionar um arquivo de configuração do monitor
inicie o servidor web que mostrará conexões ativas,
Para parar o monitor
para ver as conexões ativas, acesse o IP público do seu servidor VPN
certifique-se de configurar o firewall adequado para a porta 80, lista de permissões apenas IPs de entrada confiáveis
fonte
Basta usar sacli com o seguinte comando. Isso listará os clientes VPN conectados.
Para ver todos os IPs, use esta opção. ./sacli VPNStatus
fonte