Você não precisa fazer isso, mas ainda pode fazê-lo por meio da verificação de seu endereço IP externo aparente: o seguinte comando
wget 216.146.38.70:80
consultas checkip.dyndns.org para o seu IP externo. Você deve ser capaz de reconhecer o status atual de sua conexão dessa maneira.
Como alternativa, você pode verificar sua tabela de roteamento:
$ ip route show
0.0.0.0/1 via 10.8.0.17 dev tun0
default via 192.168.73.1 dev eth0 proto static
10.8.0.0/24 via 10.8.0.17 dev tun0
10.8.0.17 dev tun0 proto kernel scope link src 10.8.0.18
128.0.0.0/1 via 10.8.0.17 dev tun0
192.168.73.0/24 dev eth0 proto kernel scope link src 192.168.73.74 metric 1
IP.Address.Of.Your.OpenVPN.server via 192.168.73.1 dev eth0
(isso é para um OpenVPN roteado, mas isso não importa). A linha importante é a última: se você tiver algo assim, seus pacotes serão roteados pelo OpenVPN.
Você também pode usar um instrumento como mtr
que pings
e traceroutes
simultaneamente (e continuamente !!) um determinado endereço IP, por exemplo:
mtr www.debian.org
Se o OpenVPN estiver ativo, você verá os pacotes roteados pelo túnel ( tun0
ou tap0
), não pelo seu gateway normal.
Como eu disse no começo, você não precisa fazer isso: o OpenVPN fornece um mecanismo para verificar continuamente o status da conexão e para reiniciá-la, se necessário:
--keepalive n m
A helper directive designed to simplify the expression of --ping and --ping-restart in server mode configurations. For example, --keepalive 10 60 expands as follows:
if mode server:
ping 10
ping-restart 120
push "ping 10"
push "ping-restart 60"
else
ping 10
ping-restart 60
Você pode usar keepalive
ou qualquer combinação adequada de ping
, ping-restart
, ping-exit
para controlar automaticamente o status da conexão.