GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo puedo canalizar todo el tráfico de mi red a través de SSH?

Para hacer lo que quieras, te recomiendo sshuttle.

Lo usas así:

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

Hará un túnel todo su tráfico TCP automáticamente para usted. Puedes agregar el --dns argumento para hacer que tunelice su tráfico DNS también. El servidor remoto solo necesita tener Python instalado.

Si solo desea tunelizar programas específicos, le recomendaría cadenas proxy.

Una vez que esté instalado, inicie su proxy ssh socks de esta manera:

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

Esto iniciará un proxy "SOCKS" escuchando en .

Luego edite /etc/proxychains.conf para que apunte al mismo puerto que :

socks5 127.0.0.1 <localport>

Por último, inicie el programa que desea utilizar como proxy:

proxychains <program name>

Debería funcionar. Sin embargo, algunos programas tendrán problemas para trabajar con Proxy Chains. También tenga en cuenta que con Firefox, debe cambiar elementos adicionales en about:config para obligarlo a realizar búsquedas de DNS a través del proxy en lugar de omitirlo.

Como nota adicional, en los navegadores web. Si son compatibles con los servidores proxy SOCKS, no necesita hacer nada adicional para que usen el túnel ssh mencionado anteriormente, solo ingrese 127.0.0.1 para el servidor proxy SOCKS y el para el puerto proxy.

EDITAR 29/3/16

Dado que esta publicación todavía recibe algunos votos a favor, pensé en actualizarla. Proxychains todavía está en la mayoría de los repositorios de Linux y todavía funciona en Linux. Sin embargo, el proyecto se abandona efectivamente y no funciona en OSX. Para Linux u OSX, recomiendo actualizar a una bifurcación aún mantenida:proxychains-ng:https://github.com/rofl0r/proxychains-ng

Además de funcionar tanto en Linux como en OSX, es fácil de compilar y también tiene mucho mejor soporte para túneles DNS.

También debo mencionar otra opción, que son los calcetines rojos. Funciona de manera similar a proxychains (-ng) y también es probable que esté en su repositorio dist:https://github.com/darkk/redsocks

EDITAR 27/11/19 Si sigue la ruta de las cadenas de proxy, use proxychains-ng. Hay algunas correcciones de errores graves sobre la versión heredada, como:https://github.com/rofl0r/proxychains-ng/issues/292


man ssh da un ejemplo de exactamente esto. Una vpn basada en 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

~~ recorte ~~

     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 vez que tenga esa nueva interfaz, solo tendrá que convertirla en la ruta predeterminada, que es una pregunta diferente.


Busque la opción "Túnel" en ssh. Esto crea un dispositivo de túnel al que puede asignar una dirección IP y luego cambia la ruta predeterminada para usar ese túnel.


Linux
  1. Ssh:¿cómo conectarse a una PC a través de otra PC usando Ssh?

  2. Cómo configurar el túnel SSH inverso en Linux

  3. ¿Cómo puedo enumerar todas las IP en la red conectada, preferiblemente a través de la Terminal?

  4. Alimente todo el tráfico a través de OpenVPN solo para un espacio de nombres de red específico

  5. ¿Cómo configurar el túnel ssh para reenviar ssh?

¿Cómo funciona SSH?

Ssh:¿cómo funciona el túnel Ssh inverso?

¿Cómo puedo hacer ping a otros contenedores en una red docker a través de su nombre de host?

¿Cómo puedo usar SSH con un proxy SOCKS 5?

¿Cómo puedo encontrar las interfaces de red disponibles?

Conexión SSH a través de un túnel SSH inverso (remoto)