Como fazer ping no servidor OpenVpn para ver se está funcionando?

1

Eu só quero verificar se meu servidor openVpn remoto está em execução. Isso é Como eu posso fazer isso? Será mais seguro usar "top" ou "ps aux", mas talvez eu possa pingar de alguma forma, ou seja, sem ter que se conectar / autenticar via ssh primeiro?

    
por Jodari 18.07.2017 / 03:33

1 resposta

5

Se você quer saber que o host está ativo, você pode apenas ping do seu IP ou hostname. Certifique-se de que o firewall esteja aberto para pacotes ICMP echo de onde você tentar fazer o ping.

No entanto, se você quiser saber que openvpn está em execução, será necessário conectar-se ao host. O OpenVPN usa o UDP na porta 1194 por padrão, então você precisa enviar um pacote UDP para essa porta.

Se openvpn estiver em execução, ele aceitará esse pacote e o descartará (porque não é um handshake válido do OpenVPN). Você pode testá-lo com netcat , por exemplo, e também verificar o código de retorno ( $? - 0 = sucesso, 1 = erro):

~ $ echo "abcd" | netcat -u -v -w2 192.168.130.1 1194
Connection to 192.168.130.1 1194 port [udp/openvpn] succeeded!
~ $ echo $?
0
~ $

Por outro lado, se openvpn service não estiver rodando, o host deve enviar de volta um pacote ICMP udp port 1194 inacessível , o que fará netcat sair imediatamente:

~ $ echo "abcd" | netcat -u -v 192.168.130.54 1194
~ $ echo $?
1
~ $ 

Esteja ciente de que netcat reportará sucesso mesmo se o host estiver baixo porque com o UDP não é possível distinguir entre host down e openvpn recebendo e descartando o pacote. Em nenhum dos casos, receberá qualquer resposta. Somente se o host estiver ativo e o openvpn estiver desativado, ele receberá a resposta inacessível da porta ICMP e sairá com 1. Isso significa que você precisa executar ping -n -c2 ... fist para verificar se o host está realmente ativo.

Espero que ajude:)

    
por 18.07.2017 / 04:08