Recientemente "compré" un VPS que quiero usar como Proxy para poder usar algunos sitios y cosas a las que no puedo acceder desde Alemania.
Como todavía era demasiado vago para configurar Squid y OpenVPN (que actualmente creo que es necesario), uso el ssh-tunneling.
Ahora, después de un par de semanas, me pregunté si la tunelización ssh no estaba bien, o, y esa es mi pregunta, si hay algunas advertencias / contras / inconvenientes que debo tener en cuenta.
ssh
proxy
ssh-tunneling
Nils Riedemann
fuente
fuente
Respuestas:
El problema de rendimiento surge cuando está haciendo un túnel TCP sobre TCP porque tiene dos capas que realizan correcciones adaptativas (inicio lento, evitación de congestión, retransmisión rápida, ver RFC2001 ).
Si no se conocen entre sí, experimentarán grandes dificultades si tiene una pérdida en la conexión externa.
Esta página describe el fenómeno en detalle.
editar:
En lugar de quedarse con el problema TCP sobre TCP, eche un vistazo a sshuttle que lo impide.
Eche un vistazo a la sección llamada " Teoría de la operación " para obtener aún más detalles sobre esta situación.
fuente
tun/tap
túnel que da como resultado tcp-over-tcp. SOCKSv5 no sufre los mismos problemas, pero no funciona de forma transparente con todas las aplicaciones (mientras que tun / tap es solo otra interfaz de red, por lo que se puede manejar de forma transparente).Una cosa que puedo pensar fuera de mi mente es el rendimiento. Pero eso realmente depende de qué tipo de cosas estás haciendo túneles.
fuente
Normalmente he descubierto que la latencia aumenta, pero el rendimiento es bueno (90%) de lo normal con el túnel SSH. Asegúrese de configurar
ServerAliveInterval
para evitar desconexiones y envuélvala en un script para continuar reiniciando el túnel en caso de falla.El principal inconveniente es que es un túnel de puerto por TCP, a menos que use SOCKS. SOCKS está bien, pero la latencia parece aumentar aún más con él y, por supuesto, no todos los clientes admiten SOCKS.
Es posible que deba ejecutar
GatewayPorts
en el cliente o servidor SSH para permitir que otros se conecten a través de su túnel. En el servidor esto requiere acceso de root a sshd_config.La principal advertencia de rendimiento (como otros señalan) es que las conexiones poco confiables probablemente no funcionen bien con este enfoque, ya que los algoritmos de TCP no reaccionan bien bajo la encapsulación.
Dicho esto, SSH parece "hacer lo correcto" la mayor parte del tiempo.
fuente