
私は最近、ドイツからアクセスできないサイトなどを使用できるようにするためにプロキシとして使用したい VPS を「購入」しました。
Squid と OpenVPN (現在必要だと考えている) を設定するのがまだ面倒なので、ssh トンネリングを使用しています。
数週間経った今、私は自分自身に、SSH トンネリングは問題ないのではないか、それとも、私が心に留めておく必要のある注意点や反対意見、欠点があるのではないか、と問いかけました。
答え1
答え2
すぐに思いつくのはパフォーマンスです。しかし、それは実際にはトンネルを掘る対象の種類によって異なります。
答え3
通常、SSH トンネリングではレイテンシは増加しますが、スループットは正常 (通常の 90%) です。切断をServerAliveInterval
防止するように設定し、失敗した場合にトンネルを再起動し続けるようにスクリプトにラップしてください。
主な欠点は、SOCKS を使用しない限り、TCP ポートごとのトンネルであることです。SOCKS は問題ありませんが、それを使用すると遅延がさらに増加するようです。もちろん、すべてのクライアントが SOCKS をサポートしているわけではありません。
他のユーザーがトンネル経由で接続できるようにするには、クライアントまたは SSH サーバー上で実行する必要がある場合がありますGatewayPorts
。サーバー上では、sshd_config へのルート アクセスが必要です。
主なパフォーマンス上の注意点は (他の人も指摘しているように)、TCP のアルゴリズムがカプセル化下ではうまく反応しないため、信頼性の低い接続ではこのアプローチがうまく機能しない可能性が高いということです。
そうは言っても、SSH はほとんどの場合「正しいことを行う」ようです。
答え4
SSH トンネリングでは TCP-over-TCP の問題は発生しないはずです。
sshはTCPをカプセル化解除して再カプセル化するため、TCP-over-TCPの典型的な問題は発生しません。
参照: