Linux/Unix vérifier si la connexion VPN est Active/Jusqu'

J'ai un code qui détecte si OpenVPN connexion est en haut ou en bas:

if echo 'ifconfig tun0' | grep -q "00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00"
then
echo "VPN up"
else
echo "VPN down"
fi
exit 0

maintenant, je suis en train de ré-écrire le code pour travailler avec PPTP ou IPSEC connexion. J'ai essayé de faire:

if echo 'ifconfig ppp0' | grep -q "00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00"

ou même avec ipsec, mais ne fonctionne pas. Est-il un autre moyen de détecter PPTP ou IPSEC connexion?

Que echo utilisation est étrange. Faut-il backticks?
Il n'est pas étrange d'un code complet est ici: if echo 'ifconfig tun0' | grep -q "00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00" then echo "VPN up" else echo 1 > /usr/syno/etc/synovpnclient/vpnc_connecting synovpnc reconnect --protocol=openvpn --name=XXXXXX fi exit 0
donc en gros, j'ai besoin de reconnexion VPN une fois...la re-connexion script fonctionne bien mais j'ai du mal avec le "si"
Pour quelqu'un qui ne voit jamais cette question, if echo 'ifconfig tun0' | grep -q "00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00" signifie: vérifier si la chaîne de caractères "ifconfig tun0" contient la chaîne "00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00". Un bon exemple serait if ifconfig tun0 | grep -q "00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00" (pas d'écho, pas de guillemets simples), ce qui signifie: exécuter ifconfig tun0 puis vérifier pour la chaîne depuis sa sortie.

OriginalL'auteur Spyder | 2015-05-05