Un réseau privé virtuel (VPN) est un moyen de masquer votre identité et votre emplacement sur Internet. De plus, si vous essayez de vous connecter à votre lieu de travail ou à votre appareil à distance, un VPN est utile pour acheminer votre trafic. Vous avez la possibilité d'acheter des VPN à partir de sources de confiance ou même de créer le vôtre sur SSH.
Les VPN d'externalisation présentent différents risques de sécurité. Cependant, vous pouvez créer une connexion VPN à partir d'une machine hôte et vous connecter à un appareil distant via SSH avec la commande sshuttle Linux. Vous devez faire installer Python sur la machine hôte et être connecté en tant que racine pour que cela fonctionne. Quant à la machine distante, il n'a pas besoin d'être root. À condition que vous ayez son mot de passe, Sshuttle fonctionnera bien.
De plus, une fois la connexion établie, Sshuttle téléchargera le code source Python sur la machine distante, éliminant le tracas de vous devoir installer Python dessus.
Comment installer sshuttle
L'installation de sshuttle est simple. Si vous êtes sur Debian ou Ubuntu, utilisez la commande suivante pour l'installer à partir du gestionnaire de packages:
1 | $ sudo apt-get install sshuttle |
Utilisez la commande suivante si vous utilisez Fedora, Rhel ou Centos. Alternativement, vous pouvez cloner son référentiel GIT et exécuter le fichier de configuration.
1 2 3 4 5 | $ sudo dnf installer sshuttle |
Utilisation de Sshuttle pour configurer un VPN
Tout d'abord, vous devez installer SShuttle sur la machine hôte pour créer une connexion VPN. De plus, vous avez besoin du nom d'hôte et de l'adresse IP de l'appareil distant.
Il existe différentes façons d'utiliser SShuttle.
Proxie de toutes les connexions locales
La meilleure façon de tester SShuttle est de proxir toutes les connexions locales sans impliquer SSH. La commande de ceci est:
1 | $ sshuttle -v 0/0 |
Tester la connexion au serveur distant
Il est possible de tester votre connexion à la machine distante à l'aide de SShuttle. Nous utilisons le "-N" option pour permettre au serveur de décider de l'itinéraire et "-H" pour les hôtes automatiques. Notre commande sera:
1 | $ sshuttle -vnhr kyle @ 192.168.88.217 |
L'IP est la machine distante que nous testons.
Tunneler tout le trafic
Vous pouvez utiliser Sshuttle pour tunnel tout le trafic vers un serveur SSH distant. Notez que SShuttle ne transmet que les demandes DNS et le trafic TCP vers le serveur distant. D'autres protocoles, comme UDP, ne sont pas pris en charge.
1 | $ sshuttle --dns -vr kyle @ 192.168.88.217 0/0 |
Le 0/0 est un raccourci pour le serveur DNS 0.0.0.0, "Kyle" est le nom d'utilisateur du serveur distant, et 192.168.88.217 est son IP. De plus, la connexion devrait indiquer qu'il est "connecté" pour montrer que le VPN créé fonctionne.
À l'exclusion du trafic spécifique
Le "-X" L'option exclut certains trafics lors de l'utilisation de sshuttle. Spécifiez l'adresse IP à exclure dans le tunneling. Par exemple, pour exclure «192.168.88. 21 ”, La commande sera comme indiqué ci-dessous:
1 | $ sshuttle --dns -vr kyle @ 192.168.88.217 -x 192.168.88.21 |
Tunneling des sous-réseaux spécifiques
Semblable à l'exclusion du trafic spécifique, vous pouvez choisir les sous-réseaux à acheminer sur le VPN créé. Vous pouvez spécifier l'adresse IP ou les gammes des sous-réseaux. Par exemple, pour spécifier une IP donnée et une plage de sous-réseau, la commande sera:
1 | $ sudo sshuttle -r utilisateur @ rote_host 192.168.88.2/24 192.168.0.0/16 |
Le seul trafic qui sera à tunnel concerne les sous-réseaux IP spécifiés, classe B et C. La spécification des sous-réseaux du tunnel fonctionne mieux lorsque vous traitez avec de nombreux hôtes dans un réseau étendu, car toutes les connexions ne nécessitent pas le VPN. Vous pouvez également ajouter le "-Dns" Option pour transférer les requêtes DNS au serveur.
Conclusion
Il y a un risque à acheter ou à utiliser des VPN accessibles au public pour tunnel vos connexions. Lorsque vous travaillez avec des serveurs et des machines à distance, vous devrez peut-être acheminer votre trafic et le protéger en utilisant un VPN. Ce guide a couvert comment installer l'outil SShuttle Linux, qui vous permet de créer un VPN sur une connexion SSH. Avec Sshuttle, vous n'avez plus besoin de vous inquiéter du VPN. Il vous offrira la protection dont vous avez besoin pour votre trafic lorsque vous utilisez des systèmes Linux.