Comment forcer le système à utiliser uniquement une connexion cryptée VPN?

0

J'utilise plusieurs systèmes d'exploitation sur mes clients (Ubuntu, Mint, Alpine, Windows 7-10) et j'aimerais accéder à mon réseau domestique via un réseau privé virtuel (VPN) et, par exemple, dans un hôtel, j'aimerais parcourir Internet via mon réseau domestique. lien.

J'ai lu un article intéressant ici . Il affirme que si la connexion VPN n'est pas établie et que vous disposez d'une connexion réseau (par exemple, le serveur VPN n'est pas en cours d'exécution, le client n'est pas encore connecté, etc.), votre ordinateur client utilisera alors le réseau local sans tunneling au lieu du VPN. Je suppose que la même chose peut se produire si je perds la connexion à mon serveur VPN pour une raison quelconque et que je ne reconnais même pas que j'envoie la moitié des messages non chiffrés. Existe-t-il un moyen d'éviter que cela ne se produise et oblige toutes les applications d'un ordinateur client à utiliser uniquement le tunnel VPN?

J'ai trouvé quelques questions similaires dans le sujet, par exemple spécifiques à Win7. Ce que je recherche, c'est une solution générale. Donc, en théorie, quelle est la recette pour faire cela sur n'importe quel système Windows et Linux (sans détails spécifiques au système), et si ce n'est pas possible, alors pourquoi?

inf3rno
la source

Réponses:

1

Les approches générales sont:

  • Empêchez l'envoi de paquets indésirables à l'aide du pare-feu.
  • Ajustez la table de routage afin que les paquets ne passent jamais par le chemin direct.

La première méthode peut être mise en œuvre en filtrant les paquets sortants en fonction de leur adresse source , car vous aurez des adresses différentes pour le sous-réseau LAN et pour le tunnel VPN. (Bien entendu, vous devez ajouter une exception pour le client VPN lui-même.)

La seconde, en supprimant la route "par défaut" existante (0.0.0.0/0 ou :: / 0) afin que les paquets soient immédiatement renvoyés avec les erreurs "Réseau inaccessible". Encore une fois, vous devez configurer une exception pour le serveur VPN, en ajoutant une route très étroite (éventuellement même / 32 ou / 128).

Certains systèmes d'exploitation prennent en charge également des « domaines de routage », « VRF », ou « namespaces réseau » qui limitent ce réseau interface un programme même voit - vous pouvez donc créer un espace de noms séparé juste pour le client VPN, et affecter l'interface Ethernet physique à elle . (Les programmes restants seront obligés d'utiliser tout ce qui reste, par exemple sous Linux une interface virtuelle "veth" pour la communication entre les espaces de noms.)

Grawity
la source
Je suppose que je dois écrire une application si je veux utiliser le VPN automatiquement par des connexions non fiables et la désactiver lorsque je me connecte au réseau de confiance à domicile. J'espère qu'il y a un moyen d'écouter les événements du système, comme avant: connectez-vous, etc.
inf3rno