Recentemente, "comprei" um VPS que quero usar como Proxy para poder usar alguns sites e coisas que não consigo acessar da Alemanha.
Como ainda estava com preguiça de configurar o Squid e o OpenVPN (que atualmente acho necessário), uso o ssh-tunneling.
Agora, depois de algumas semanas, perguntei-me se o encapsulamento de ssh não estava bom, ou - e essa é minha pergunta - se há alguma advertência / contras / desvantagem que eu preciso ter em mente?
ssh
proxy
ssh-tunneling
Nils Riedemann
fonte
fonte
Respostas:
O problema de desempenho surge quando você está encapsulando o TCP sobre o TCP, porque você tem duas camadas fazendo correções adaptativas (início lento, prevenção de congestionamentos, re-transmissão rápida, consulte RFC2001 ).
Não tendo conhecimento um do outro, eles enfrentarão grandes dificuldades se houver perda na conexão externa.
Esta página descreve o fenômeno em detalhes.
editar:
Em vez de ficar com o problema de TCP sobre TCP, observe o sshuttle, que o impede.
Veja a seção " Teoria da operação " para obter mais detalhes sobre essa situação.
fonte
tun/tap
tunelamento que resulta em tcp-over-tcp. O SOCKSv5 não apresenta os mesmos problemas, mas não funciona de forma transparente com todos os aplicativos (enquanto o tun / tap é apenas outra interface de rede para que possa ser manuseado de forma transparente).Uma coisa que consigo pensar na cabeça é o desempenho. Mas isso realmente depende do tipo de coisa que você está encapsulando.
fonte
Normalmente, descobri que a latência aumenta, mas a taxa de transferência é boa (90%) do normal com o tunelamento SSH. Certifique-se de definir
ServerAliveInterval
para evitar desconexões e envolva-o em um script para continuar reiniciando o túnel em caso de falha.A principal desvantagem é que é um túnel de porta por TCP, a menos que você use SOCKS. O SOCKS é bom, mas a latência parece aumentar ainda mais com ele e, é claro, nem todo cliente suporta o SOCKS.
Pode ser necessário executar
GatewayPorts
no cliente ou servidor SSH para permitir que outras pessoas se conectem através do seu túnel. No servidor, isso requer acesso root ao sshd_config.A principal advertência de desempenho (como outros observam) é que as conexões não confiáveis provavelmente não se saem bem com essa abordagem, pois os algoritmos do TCP não reagem bem sob o encapsulamento.
Dito isto, o SSH parece "fazer a coisa certa" na maioria das vezes.
fonte