저는 최근에 독일에서 접근 할 수없는 일부 사이트와 사이트를 사용할 수 있도록 프록시로 사용하려는 VPS를 "구입"했습니다.
Squid와 OpenVPN (현재 필요하다고 생각)을 설정하기에는 아직 게으 르기 때문에 ssh-tunneling을 사용합니다.
몇 주 후에 나는 ssh-tunneling이 잘되지 않았는지 나에게 물어 보았습니다. 그리고 내 질문입니다-명심해야 할주의 사항 / 대조 / 단점이 있습니까?
저는 최근에 독일에서 접근 할 수없는 일부 사이트와 사이트를 사용할 수 있도록 프록시로 사용하려는 VPS를 "구입"했습니다.
Squid와 OpenVPN (현재 필요하다고 생각)을 설정하기에는 아직 게으 르기 때문에 ssh-tunneling을 사용합니다.
몇 주 후에 나는 ssh-tunneling이 잘되지 않았는지 나에게 물어 보았습니다. 그리고 내 질문입니다-명심해야 할주의 사항 / 대조 / 단점이 있습니까?
답변:
당신이 적응 수정 (느린 시작, 혼잡 회피, 빠른 restransmit를 참조하고 두 개의 층이 있기 때문에 당신은 TCP를 통해 터널링 TCP 때 성능 문제가 발생 RFC2001을 ).
당신이 외부 연결을 잃어버린 경우 그들은 서로를 인식하지 못하고 큰 어려움을 겪을 것입니다.
이 페이지 에서는 현상에 대해 자세히 설명합니다.
편집하다:
TCP over TCP 문제를 고수하는 대신 sshuttle 을 살펴보면 문제 를 예방할 수 있습니다. 이 상황에 대한 자세한 내용은 " 작동 이론
"섹션을 참조하십시오.
tun/tap
tcp-over-tcp를 발생 시키는 터널링을 참조했습니다 . SOCKSv5는 동일한 문제가 발생하지 않지만 모든 응용 프로그램에서 투명하게 작동하지는 않습니다 (tun / tap은 다른 네트워크 인터페이스 일뿐 아니라 투명하게 처리 할 수 있음).
내가 생각할 수없는 한 가지는 성능입니다. 그러나 그것은 실제로 어떤 종류의 물건을 터널링하고 있는지에 달려 있습니다.
일반적으로 SSH 터널링을 사용하면 대기 시간이 증가하지만 처리량이 정상 (90 %) 인 것으로 나타났습니다. ServerAliveInterval
연결이 끊어지지 않도록 설정 하고 실패시 터널을 다시 시작하도록 스크립트로 래핑하십시오.
주된 단점은 SOCKS를 사용하지 않는 한 TCP 별 포트 터널이라는 것입니다. SOCKS는 양호하지만 지연 시간이 더 길어질 것으로 보이며 물론 모든 클라이언트가 SOCKS를 지원하는 것은 아닙니다.
GatewayPorts
다른 사람이 터널을 통해 연결할 수 있도록 클라이언트 또는 SSH 서버 에서 실행해야 할 수도 있습니다 . 서버에서는 sshd_config에 대한 루트 액세스 권한이 필요합니다.
TCP의 알고리즘이 캡슐화에서 잘 반응하지 않기 때문에 신뢰할 수없는 연결은이 접근법과 잘 어울리지 않을 것입니다.
즉, SSH는 대부분 "올바른 일"을하는 것 같습니다.