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), utilizo ssh-tunneling.
Ahora, después de un par de semanas, me pregunté si el túnel ssh no estaba bien o, y esa es mi pregunta, ¿hay alguna advertencia, contra o inconveniente que deba tener en cuenta?
Respuesta1
El problema de rendimiento surge cuando se hace un túnel TCP sobre TCP porque hay dos capas que realizan correcciones adaptativas (inicio lento, prevención de congestión, retransmisión rápida).RFC2001).
Al no ser conscientes el uno del otro, experimentarán grandes dificultades si pierden la conexión externa.
Esta páginadescribe detalladamente el fenómeno.
En lugar de seguir con el problema de TCP sobre TCP, eche un vistazo alanzaderalo que lo impide.
Eche un vistazo a la sección denominada "teoría de operación" para obtener aún más detalles sobre esta situación.
Respuesta2
Una cosa en la que puedo pensar es en el rendimiento. Pero eso realmente depende del tipo de cosas que estés excavando.
Respuesta3
Normalmente he descubierto que la latencia aumenta, pero el rendimiento está bien (90%) de lo normal con la tunelización SSH. Asegúrese de configurarlo ServerAliveInterval
para evitar desconexiones y envuélvalo en un script para seguir reiniciando el túnel en caso de falla.
El principal inconveniente es que es un túnel por puerto TCP, a menos que uses 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 ejecutarlo GatewayPorts
en el cliente o en el servidor SSH para permitir que otros se conecten a través de su túnel. En el servidor, esto requiere acceso raíz al archivo sshd_config.
La principal advertencia sobre el rendimiento (como señalan otros) 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.
Respuesta4
No debería haber problemas de TCP sobre TCP para los túneles SSH.
ssh decapsula y vuelve a encapsular TCP, para que no tenga los problemas clásicos de TCP sobre TCP
Referencia:
https://en.wikipedia.org/wiki/Tunneling_protocol#cite_note-6