web-dev-qa-db-fra.com

Est-il possible de vérifier si je suis connecté via un VPN via une ligne de commande?

J'utilise OpenVPN et je pose cette question parce que chaque fois que je suis connecté via le VPN, j'essaie de faire un simple: traceroute google.com et il ne rebondit pas sur le serveur OpenVPN. Il passe simplement par le même itinéraire qu’il le fait sans VPN.

J'ai essayé d'acheminer le trafic http via le VPN

Push "redirect-gateway def1"

Push "dhcp-option DNS 8.8.8.8"

et cela a fonctionné. Ma question ici est d'éviter d'utiliser cette méthode chaque fois que je crée une nouvelle clé pour un client afin de m'assurer qu'il est connecté via le VPN.

J'ai lu que vous pouvez faire un simple ifconfig -a. Si vous avez une sorte d'interface tunnel, vous êtes connecté, mais comment pouvez-vous être sûr que votre trafic passe par le VPN?

Résumé:

Je suis le client d'un OpenVPN. Y a-t-il un moyen de vérifier si je suis connecté via le VPN via une ligne de commande? Quelque chose comme traceroute.

3
The dude

J'ai googlé beaucoup plus que je ne souhaite l'admettre à ce sujet. Voici les problèmes:

  • Un VPN est un "tunnel" direct vers votre serveur VPN. Si vous essayez d'utiliser un traceroute, il ne rebondira pas sur le serveur car il s'agit d'un tunnel. Il ne doit pas rebondir au "bout du tunnel".
  • traceroute est un utilitaire de couche 3 et VPN est un protocole de couche 2. D'après ce que j'ai lu, aucun utilitaire ne fonctionne sur la couche 2.

La seule façon de savoir si vous êtes connecté via le VPN consiste à effectuer un tcpdump sur le serveur et à vérifier si du trafic circule sur le serveur ou si vous utilisez le ifconfig -aet vérifiez s'il y a un tun0 comme interface.

1
The dude