web-dev-qa-db-fra.com

Comment acheminer mon internet à travers un tunnel SSH?

Ancien Q Comment configurer un serveur OpenVPN sans privilèges root?

Est-il possible d'installer un serveur OpenVPN sans privilèges root? Par exemple. avec les fichiers de configuration dans mon répertoire personnel? Si oui, comment puis-je le configurer?

J'essaie d'intégrer un système SSH à un système et de configurer un serveur OpenVPN pour son usage personnel.

EDIT

Comme il est évident qu'OpenVPN a besoin de privilèges root, je change de question pour acheminer mon Internet à l'aide de SSH, ce que je peux facilement configurer.

23
Oxwivi

sshuttle est un serveur proxy transparent qui transfère via une connexion SSH et configure un proxy en exécutant des scripts Python sur le serveur distant. . sshuttle peut être exécuté dans les conditions suivantes:

  • la machine cliente ou le routeur est basé sur Linux, FreeBSD ou Mac OS
  • privilèges administratifs sur le client
  • accès au réseau distant via SSH
  • no privilèges d'administrateur sur le réseau distant
  • disponibilité de Python sur un serveur distant

Installer sshuttle enter image description here depuis le centre logiciel ou le terminal:

Sudo apt-get install sshuttle

La commande de base pour exécuter sshuttle avec l’acheminement de tout le trafic est la suivante:

sshuttle -r username@sshserver:port 0/0

Lors de l'exécution de la commande, une invite Sudo password apparaîtra puis le mot de passe du compte SSH. Aucun autre détail n'apparaîtra, à l'exception d'un court message et retournera à Shell en cas d'échec. Pour plus de messages d'état, exécutez sshuttle en mode commenté avec l'indicateur -v.

Dans cet exemple, tout le trafic Internet, à l'exception de DNS, est routé via le VPN. -r flag indique le nom d'hôte distant et le nom d'utilisateur et le port facultatifs qui suivent dans l'exemple ci-dessus. 0/0 est l'abréviation de 0.0.0.0/0 qui représente les sous-réseaux à router sur le VPN. L'utilisation de 0/0 achemine tout le trafic, à l'exception des demandes DNS, vers le serveur distant. La configuration DNS est possible avec l'utilisation de l'indicateur -H.

Veuillez lire la page de manuel (man sshuttle) pour obtenir des détails sur les options et les modes sous lesquels sshuttle peut s’exécuter. Pour plus d'informations sur le concept et d'autres exemples, reportez-vous à la page du projet .

31
André Paramés

Vous ne pouvez pas configurer OpenVPN sans privilèges root car certaines opérations le requièrent.

  • Prérequis: vous devez activer le transfert de paquets dans votre pare-feu (iptables?)
  • Ajout de périphériques en fonctionnement: un périphérique virtuel spécial doit être ajouté avec ifconfig. Sinon, aucune communication n'est possible entre le serveur et le client

Selon vos besoins, d'autres solutions sont disponibles. Pour naviguer sur votre serveur, vous pouvez configurer un serveur SOCKS.

Proxy SOCKS

La mise en place d'un proxy SOCKS n'est pas difficile: elle est intégrée à OpenSSH. Pour activer le serveur SOCKS, exécutez la commande suivante dans n terminal :

ssh user@Host -D1234

Remplacez 1234 par votre port préféré. Dans votre navigateur, vous pouvez entrer localhost en tant qu'hôte et 1234 en tant que port sur le serveur SOCKS4/5.

Voici un exemple dans le navigateur Firefox:

  1. Aller à Éditer -> Préférences
  2. Ouvrez la section Advanced
  3. Allez à l'onglet Réseau
  4. Appuyez sur Paramètres .
  5. Sélectionnez Configuration manuelle du proxy
  6. Entrez localhost en tant que hôte SOCKS
  7. Entrez 1234 en tant que port (le même port que celui spécifié dans la commande SSH)
  8. Appuyez sur OK et sur Fermer pour fermer les boîtes de dialogue des préférences.

FIrefox setup example

17
Lekensteyn