Una red privada virtual (VPN) es una forma de enmascarar su identidad y ubicación a través de Internet. Además, si está tratando de conectarse a su lugar de trabajo o dispositivo de inicio de forma remota, una VPN es útil para enrutar su tráfico. Tiene la opción de comprar VPN de fuentes de confianza o incluso crear la suya sobre SSH.
La subcontratación de VPN plantea diferentes riesgos de seguridad. Sin embargo, puede crear una conexión VPN desde una máquina host y conectarse a un dispositivo remoto a través de SSH con el comando sshuttle linux. Debe tener a Python instalado en la máquina host y estar conectado como root para que esto funcione. En cuanto a la máquina remota, no necesita ser root. Siempre que tenga su contraseña, SSHuttle funcionará bien.
Además, una vez que se establece la conexión, Sshuttle cargará el código fuente de Python a la máquina remota, eliminando la molestia de que tenga que instalar Python en él.
Cómo instalar sshuttle
Instalar sshuttle es sencillo. Si está en Debian o Ubuntu, use el siguiente comando para instalarlo desde el Administrador de paquetes:
1 | $ sudo apt-get install sshuttle |
Use el siguiente comando si usa Fedora, Rhel o Centos. Alternativamente, puede clonar su repositorio Git y ejecutar el archivo de configuración.
1 2 3 4 5 | $ sudo dnf instalación sshuttle |
Usar sshuttle para configurar una VPN
Primero, debe instalar sshuttle en la máquina host para crear una conexión VPN. Además, necesita el nombre de host y la dirección IP del dispositivo remoto.
Hay diferentes formas de usar sshuttle.
Proxying todas las conexiones locales
La mejor manera de probar sshuttle es proxyendo todas las conexiones locales sin involucrar a SSH. El comando para esto es:
1 | $ sshuttle -v 0/0 |
Prueba de conexión al servidor remoto
Es posible probar su conexión con la máquina remota usando sshuttle. Usamos el "-NORTE" opción para permitir que el servidor decida la ruta y "-H" para auto-anfitriones. Nuestro comando será:
1 | $ sshuttle -vnhr [email protected] |
La IP es la máquina remota que estamos probando.
Túnelando todo el tráfico
Puede usar sshuttle para túnel todo el tráfico a un servidor SSH remoto. Tenga en cuenta que SSHuttle solo reenvía las solicitudes DNS y el tráfico TCP al servidor remoto. Otros protocolos, como UDP, no son compatibles.
1 | $ sshuttle --dns -vr [email protected] 0/0 |
El 0/0 es una taquigrafía para el servidor DNS 0.0.0.0, "Kyle" es el nombre de usuario del servidor remoto y 192.168.88.217 es su IP. Además, la conexión debe indicar que es "conectado" Para mostrar que la VPN creada está funcionando.
Excluyendo el tráfico específico
El "-X" La opción excluye cierto tráfico cuando se usa sshuttle. Especificar la dirección IP que se excluirá en el túnel. Por ejemplo, para excluir "192.168.88. 21 ", El comando será como se muestra a continuación:
1 | $ sshuttle --dns -vr [email protected] -x 192.168.88.21 |
Túneles subredes específicas
Similar a excluir el tráfico específico, puede elegir qué subredes enrutar a través de la VPN creada. Puede especificar la dirección IP o los rangos para las subredes. Por ejemplo, para especificar una IP dada y un rango de subred, el comando será:
1 | $ sudo sshuttle -r user@remoto_host 192.168.88.24/24 192.168.0.16/01 |
El único tráfico que se túnel es para las subredes IP especificadas, Clase B y C. La especificación de las subredes al túnel funciona mejor cuando se trata de muchos hosts en una red extensa, ya que no todas las conexiones requieren la VPN. También puedes agregar el "-Dns" opción para reenviar consultas DNS al servidor.
Conclusión
Existe un riesgo en la compra o el uso de VPN disponibles públicamente para túnel sus conexiones. Cuando trabaje con servidores y máquinas remotas, es posible que deba enrutar su tráfico y mantenerlo seguro con una VPN. Esta guía cubrió cómo instalar la herramienta Sshuttle Linux, que le permite crear una VPN a través de una conexión SSH. Con sshuttle, ya no debes preocuparte por VPN. Le dará la protección que necesita para su tráfico cuando use sistemas Linux.