Verifique o cliente openVPN conectado Debian

7

Como posso verificar se meu cliente Debian OpenVPN está conectado? Existe um comando específico que tenho que executar? Ou posso lê-lo a partir do arquivo de log?

Obrigado.

Editar: As respostas abaixo fornecem grande valor na depuração. Eu usei as mesmas credenciais vpn abertas em dois sistemas diferentes, causando problemas.

    
por Hendrik 18.03.2013 / 16:57

4 respostas

9

Não está claro para mim se você está perguntando pela perspectiva de um cliente ou servidor. Em qualquer caso, uma coisa que você deve considerar é ativar a interface de gerenciamento no seu daemon OpenVPN com esta opção de configuração.

management 127.0.0.1 6001

Com a interface de gerenciamento ativada, você pode se conectar a qualquer porta que você tenha configurado para essa finalidade usando o netcat / telnet. Em seguida, você pode emitir o comando status ou muitos outros comandos para determinar exatamente o que está acontecendo na perspectiva dos daemons.

    
por 18.03.2013 / 19:57
3

Existem alguns métodos, dependendo do que exatamente você está tentando alcançar. Se você quiser verificar se o cliente está rodando e você está usando o script do Debian, você pode usar o comando service :

% sudo service openvpn status mammon; echo $?
 * VPN 'mammon' is running
0

Se você quiser verificar se o cliente acha que está conectado ao servidor, pode verificar a tabela de roteamento da existência da sub-rede VPN ou da interface local:

% ip route | grep -q 10.8.0.1; echo $?
0
% ip link show dev tun0 > /dev/null; echo $?
0

Se você quiser verificar se o cliente está conectado e o servidor está contactável, execute um ping no servidor:

% ping -c1 -w5 -q 10.8.0.1 > /dev/null; echo $?
0
    
por 18.03.2013 / 18:10
2

Embora eu ache que @mgorven tenha uma boa resposta, eu gostaria de propor outra que coloque o problema em uma perspectiva diferente.

Se alguém estiver usando /etc/network/interfaces para configurar a rede, é possível usá-lo para controlar túneis OpenVPN do cliente. É assim:

  1. Use o nome personalizado do dispositivo de túnel para a opção dev do OpenVPN, por exemplo, tenha

    dev mytun
    

    no arquivo de configuração do OpenVPN.

    Digamos que o arquivo de configuração seja

    /etc/openvpn/client.conf
    
  2. Configure uma entrada para esse dispositivo no arquivo /etc/network/interfaces , desta forma:

    iface mytun inet manual
        pre-up   /etc/init.d/openvpn start client
        pre-down /etc/init.d/openvpn stop  client
    

Depois de configurar as coisas desta maneira, agora você pode fazer

# /sbin/ifup mytun
# /sbin/ifdown mytun

Agora, voltando à pergunta original - iface seções no arquivo de configuração de rede também suportam as diretivas post-up que poderiam ser usadas para script os eventos "túnel está pronto".

No entanto, outra abordagem, para uma máquina de desktop, pode estar usando uma ferramenta visual como TunTun para gerenciar túneis OpenVPN.

    
por 18.03.2013 / 18:46
1

No Ubuntu há um arquivo contendo o status atual do OpenVPN em /var/run/openvpn.openvpn.status

Parece ser o mesmo que a saída do comando status da interface de gerenciamento, mas você não precisa ativá-lo no OpenVPN.

Você pode fazer algum processamento dele em scripts, ou seja, verificar se os contadores aumentam com o tempo.

    
por 05.12.2013 / 17:44