web-dev-qa-db-fra.com

VPN pour SSH, Internet pour tout le reste

Intro: Bonjour, j'ai essayé de faire fonctionner un VPN et une commande ssh. Et j’ai réussi au point où je peux accéder au serveur avec ssh user@hostname. Mais lorsque le VPN est actif, tout mon Internet passe par ce VPN.

Target: J'aimerais utiliser ma propre connexion Internet pour tout ce qui est autre que la connexion SSH.

Option casse SSH> VPN: J'ai remarqué qu'il existe une option "Utiliser cette connexion uniquement pour les ressources de son réseau" dans le " Modification du VPN" - "Paramètres IPv4" onglet - "Itinéraires ..." bouton. Cela semblait être la solution, mais si j'active cette option, je ne peux plus me connecter avec la commande "ssh user @ hostname" , elle reste bloquée Le temps est écoulé.

Pensées: Mes pensées jusqu'à présent sont que cela ne fonctionne pas car le nom d'hôte (de ssh nomutilisateur @ nomhôte) et la passerelle (à partir des paramètres VPN) sont différents. Mais je ne connais pas assez le ssh ou le VPN pour le savoir.

Ideas? Existe-t-il une option dans ssh que je néglige? J'ai essayé ssh -b gatewayFromVPN username@hostname mais cela n'a pas semblé fonctionner (et je doute que ce soit le cas). Ou y a-t-il une option dans les paramètres VPN ou quelque chose qui pourrait résoudre ce problème?

Merci d'avance.

Résumé

  • parcourir etc> connexion internet
  • (simultanément avec)
  • SSH> connexion VPN

"Utiliser cette connexion uniquement pour les ressources de son réseau" rompt SSH> VPN

6
Tjen Wellens

J'ai eu envie de faire quelque chose de similaire dans le passé. J'ai eu deux idées: diviser les choses en fonction du port et diviser les choses en fonction du propriétaire du processus. Le système de réseau de Linux peut, a-t-il été révélé, gérer ces deux scénarios.

J'ai posé deux questions sur Unix.SE. Je n'ai pas fait de suivi particulièrement bien, alors si vous jouez, dites-moi ce qui vous convient.

J'ose dire qu'il y a un certain chevauchement entre les deux techniques et c'est pourquoi je les mentionne toutes les deux ici. J'ai également mis une grosse prime sur la seconde pour quelques exemples concrets. Je pense que la scission des connexions réseau entre les utilisateurs est probablement le scénario le plus utile pour nous deux.

Edit: Je viens de faire un Google pour iptables owner et trouvé ceci . Cela semble suggérer que quelques lignes iptables sales corrigent tout cela. Je suis encore à tester mais ça a l'air très simple ...

Supposons que vous avez eth0 et eth1 connexions et que vous voulez que l'utilisateur bob utilise eth1 et que vous n'utilisiez jamais eth1, et forcez tout le reste sur eth0. Cela devrait le faire ...

iptables -A OUTPUT -o lo -j ACCEPT
iptables -A OUTPUT -o eth0 -m owner --uid-owner bob  -j DROP
iptables -A OUTPUT -o eth1 -m owner --uid-owner bob  -j ACCEPT
iptables -A OUTPUT -o eth1 -j DROP
iptables -A OUTPUT -o eth0 -j ALLOW

Je suppose que vous pouvez simplement échanger notre eth1 pour le nom de votre connexion VPN et bob pour un nouvel utilisateur que vous allez créer pour exécuter votre connexion ssh à partir de: su -c ssh username@Host bob.

3
Oli

J'ai en quelque sorte réalisé ce que je voulais en exécutant Ubuntu virtuellement sous Windows 7 pour le moment. (Actuellement, VMware Player fonctionne avec Ubuntu 12.04). Ainsi, tout mon Internet sous Ubuntu passe par le VPN, mais je peux utiliser mon navigateur, etc. sous Windows 7, ce qui n’a pas ce VPN.

Bien que ce ne soit pas ce que je cherchais, cela devra être fait pour le moment.

Peut-être que je peux utiliser Ubuntu virtuellement dans Ubuntu ou quelque chose comme ça, de sorte que je n'ai plus besoin de Windows à l'avenir ...

1
Tjen Wellens

Le meilleur moyen d'y parvenir est de définir un itinéraire vers votre hôte ssh via une passerelle VPN, un itinéraire par défaut via votre passerelle Internet.

Pour en savoir plus:

route (8)

0
Pasi Suominen