GNU/Linux >> Tutoriels Linux >  >> Linux

Comment puis-je tunneliser tout mon trafic réseau via SSH ?

Pour faire ce que vous voulez, je vous recommande sshuttle.

Vous l'utilisez comme ceci :

./sshuttle -r [email protected] 0.0.0.0/0 -vv

Il tunnelisera automatiquement tout votre trafic TCP pour vous. Vous pouvez ajouter le --dns argument pour qu'il tunnelise également votre trafic DNS. Le serveur distant n'a besoin que de Python installé.

Si vous souhaitez uniquement tunneliser des programmes spécifiques, je vous recommande les proxychains.

Une fois installé, démarrez votre proxy ssh socks comme ceci :

ssh -fNTD 127.0.0.1:<local port> [email protected]

Cela démarrera un proxy "SOCKS" écoutant sur .

Modifiez ensuite /etc/proxychains.conf pour qu'il pointe vers le même port que  :

socks5 127.0.0.1 <localport>

Démarrez enfin votre programme que vous souhaitez utiliser comme proxy :

proxychains <program name>

Cela devrait fonctionner. Cependant, quelques programmes auront du mal à fonctionner avec les chaînes proxy. Gardez également à l'esprit qu'avec Firefox, vous devez modifier des éléments supplémentaires sous about:config pour le forcer à effectuer des recherches DNS via le proxy au lieu de le contourner.

Comme note supplémentaire, sur les navigateurs Web. S'ils prennent en charge les proxys chaussettes, vous n'avez rien à faire de plus pour qu'ils utilisent le tunnel ssh mentionné ci-dessus, entrez simplement 127.0.0.1 pour le serveur proxy SOCKS et le pour le port proxy.

MODIFICATION 29/03/16

Étant donné que ce message reçoit encore des votes positifs, j'ai pensé le mettre à jour. Proxychains est toujours dans la plupart des dépôts Linux et fonctionne toujours sous Linux. Cependant, le projet est effectivement abandonné et ne fonctionne pas sur OSX. Pour Linux ou OSX, je recommande fortement la mise à niveau vers un fork toujours maintenu :proxychains-ng :https://github.com/rofl0r/proxychains-ng

En plus de fonctionner à la fois sous Linux et OSX, il est facile à compiler et offre également une bien meilleure prise en charge du tunneling DNS.

Je devrais également mentionner une autre option, qui est les chaussettes rouges. Cela fonctionne de la même manière que proxychains(-ng) et est également probablement dans votre référentiel dist :https://github.com/darkk/redsocks

MODIFIER 27/11/19 Si vous suivez la route proxychains, veuillez utiliser proxychains-ng. Il y a quelques corrections de bogues sérieuses sur la version héritée, comme :https://github.com/rofl0r/proxychains-ng/issues/292


man ssh en donne un exemple précis. Un vpn basé sur ssh :

SSH-BASED VIRTUAL PRIVATE NETWORKS
     ssh contains support for Virtual Private Network (VPN) tunnelling using
     the tun(4) network pseudo-device, allowing two networks to be joined
     securely.  The sshd_config(5) configuration option PermitTunnel controls
     whether the server supports this, and at what level (layer 2 or 3 traf-
     fic).

     The following example would connect client network 10.0.50.0/24 with
     remote network 10.0.99.0/24, provided that the SSH server running on the
     gateway to the remote network, at 192.168.1.15, allows it:

       # ssh -f -w 0:1 192.168.1.15 true
       # ifconfig tun0 10.0.50.1 10.0.99.1 netmask 255.255.255.252

~~ couper ~~

     Since a SSH-based setup entails a fair amount of overhead, it may be more
     suited to temporary setups, such as for wireless VPNs.  More permanent
     VPNs are better provided by tools such as ipsecctl(8) and isakmpd(8).

Une fois que vous avez cette nouvelle interface en place, vous n'avez plus qu'à en faire la route par défaut, ce qui est une autre question.


Recherchez l'option "Tunnel" dans ssh. Cela crée un périphérique de tunnel auquel vous pouvez attribuer une adresse IP, puis vous modifiez la route par défaut pour utiliser ce tunnel.


Linux
  1. Comment router Internet via un tunnel Ssh ?

  2. Comment puis-je utiliser SSH avec un proxy SOCKS 5 ?

  3. Alimentez tout le trafic via OpenVPN pour un espace de noms de réseau spécifique uniquement

  4. Comment configurer le tunnel ssh pour transférer ssh?

  5. comment tunneliser Windows Remote Desktop via ssh à l'aide d'une machine Linux?

Comment fonctionne SSH ?

Ssh – Comment fonctionne le tunneling Ssh inversé ?

Comment puis-je envoyer un ping à d'autres conteneurs dans un réseau Docker via leur nom d'hôte ?

Comment puis-je lister toutes les IP du réseau connecté, via Terminal de préférence ?

Comment puis-je trouver les interfaces réseau disponibles ?

Transférer SSH via un tunnel SSH