GNU/Linux >> Linux Esercitazione >  >> Linux

Come posso incanalare tutto il mio traffico di rete attraverso SSH?

Per fare quello che vuoi, ti consiglio sshuttle.

Lo usi così:

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

Tunnelerà automaticamente tutto il tuo traffico TCP per te. Puoi aggiungere il --dns argomento per avere anche il tunnel del tuo traffico DNS. Il server remoto deve solo avere Python installato.

Se vuoi solo eseguire il tunneling di programmi specifici, ti consiglio proxychains.

Una volta installato, avvia il proxy ssh socks in questo modo:

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

Questo avvierà un proxy "SOCKS" in ascolto su .

Quindi modifica /etc/proxychains.conf in modo che punti alla stessa porta di :

socks5 127.0.0.1 <localport>

Infine, avvia il tuo programma che desideri utilizzare come proxy in questo modo:

proxychains <program name>

Dovrebbe funzionare. Tuttavia, alcuni programmi avranno problemi a lavorare con Proxy Chains. Inoltre, tieni presente che con Firefox devi modificare elementi aggiuntivi in ​​about:config per costringerlo a eseguire ricerche DNS tramite il proxy invece di aggirarlo.

Come nota aggiuntiva, sui browser web. Se supportano i proxy socks, non devi fare altro per fargli usare il tunnel ssh sopra menzionato, basta inserire 127.0.0.1 per il server proxy SOCKS e per la porta proxy.

MODIFICA 29/03/16

Dato che questo post riceve ancora alcuni voti positivi, ho pensato di aggiornarlo. Proxychains è ancora nella maggior parte dei repository Linux e funziona ancora su Linux. Tuttavia, il progetto viene effettivamente abbandonato e non funziona su OSX. Per Linux o OSX, consiglio vivamente di eseguire l'aggiornamento a un fork ancora mantenuto:proxychains-ng:https://github.com/rofl0r/proxychains-ng

Oltre a funzionare sia in Linux che in OSX, è facile da compilare e ha anche un supporto molto migliore per il tunneling DNS.

Dovrei anche menzionare un'altra opzione, che sono i calzini rossi. Funziona in modo simile a proxychains(-ng) ed è probabile che si trovi anche nel tuo repository dist:https://github.com/darkk/redsocks

MODIFICA 27/11/19 Se segui il percorso proxychains, utilizza proxychains-ng. Ci sono alcune gravi correzioni di bug rispetto alla versione legacy, come:https://github.com/rofl0r/proxychains-ng/issues/292


man ssh fornisce un esempio esattamente di questo. Una VPN basata su 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

~~ taglia ~~

     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).

Una volta che hai la nuova interfaccia, dovresti solo impostarla come percorso predefinito, che è una domanda diversa.


Cerca l'opzione "Tunnel" in ssh. Questo crea un dispositivo tunnel a cui puoi assegnare un indirizzo IP, quindi modifichi il percorso predefinito per utilizzare quel tunnel.


Linux
  1. Come raggiungere un servizio/server che si trova su una rete inaccessibile (usando i tunnel SSH)

  2. Ssh:come connettersi a un PC tramite un altro PC utilizzando Ssh?

  3. Ssh - Traffico di tunnel attraverso un'altra macchina su Ssh?

  4. Linux:come inoltrare il traffico tra gli spazi dei nomi di rete Linux?

  5. Come posso elencare tutti i vhost in nginx

Come funziona SSH?

Ssh:come funziona il tunneling Ssh inverso?

Come posso trovare le interfacce di rete disponibili?

come eseguire il tunneling di Windows Remote Desktop tramite ssh utilizzando una macchina Linux?

Come posso eliminare tutti i lavori interrotti?

Inoltra SSH attraverso il tunnel SSH