SSH トンネリングには欠点がありますか?

SSH トンネリングには欠点がありますか?

私は最近、ドイツからアクセスできないサイトなどを使用できるようにするためにプロキシとして使用したい VPS を「購入」しました。

Squid と OpenVPN (現在必要だと考えている) を設定するのがまだ面倒なので、ssh トンネリングを使用しています。

数週間経った今、私は自分自身に、SSH トンネリングは問題ないのではないか、それとも、私が心に留めておく必要のある注意点や反対意見、欠点があるのではないか、と問いかけました。

答え1

TCP over TCPをトンネリングする場合、適応型修正(スロースタート、輻輳回避、高速再送信など)を行う2つのレイヤーがあるため、パフォーマンスの問題が発生します。RFC2001)。

外部接続が失われると、お互いに気づかず、大きな困難を経験することになります。

このページこの現象を詳細に説明します。

TCP over TCPの問題に固執するのではなく、シャトルそれを阻止します。
動作原理この状況に関するさらに詳しい情報については、「」をご覧ください。

答え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の典型的な問題は発生しません。

参照:

https://en.wikipedia.org/wiki/トンネリングプロトコル#cite_note-6

https://marc.info/?l=openssh-unix-dev&m=105554033415532

関連情報