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


12

私は最近、ドイツから到達できないいくつかのサイトやものを使用できるようにするために、プロキシとして使用したいVPSを「購入」しました。

私はまだSquidとOpenVPN(現在必要だと思う)をセットアップするのが面倒なので、ssh-tunnelingを使用します。

さて、数週間後、sshトンネリングがうまくいかなかったか、そして-そしてそれが私の質問です-心に留めておく必要のある警告/コントラスト/欠点があるかどうかを自問しましたか?


1
LinuxからLinuxに移行する場合、OpenVPNは静的キーを使用して非常に簡単に設定できます。マシンの1つがWindowsである場合は少し注意が必要ですが、実行可能です。bit.ly/ujkD2
トランジスタ1

回答:


11

パフォーマンスの問題は、TCP上のTCPをトンネリングしているときに、適応修正やって二つの層があるので(スロースタート、輻輳回避を速くrestransmit参照、発生するRFC2001を)。

biengはお互いを認識していないため、外部接続が失われると大きな問題が発生します。

このページでは、現象について詳しく説明します。

編集:

TCP over TCPの問題に固執するのではなく、それを防ぐsshuttleを確認してください。この状況の詳細については、「動作理論
」というセクションをご覧ください。


内部層は、ループバックインターフェイスと通信していることを認識していませんか?
Random832 2012年

あなたの質問についての問題は、内部ストリームとして何とか「その位置を認識している」としても、TCPは何もできないため、それらの「最適化」の無効化をサポートしていないことです。ここでの問題は、外側の適応動作が内側の動作を破壊することです。たとえば、外側のTCPストリームがすでに適応している場合でも、再送を遅くすることで適応しようとします。
Shadok 2012年

「TCP over IP over PPP over TCP」ではなく、通常のトンネルTCP接続の場合を考えていました。その場合、実際には2番目のTCPプロトコルスタックはありません。sshはバイトストリームを転送しているだけです。また、「内部ストリームとしての位置を認識している」という意味ではなく、この状況で宛先としてループバックインターフェイス(ローカルポートsshがリッスンしている)をどのように持つかを意味しました。
Random832 2012年

OPは「一部のサイト」について話しました。つまり、彼はSSHを介してSocksV5経由でHTTPを実行していたと想定しています。
Shadok 2012年

1
@Shadok私はあなたの結論が真実ではないと確信しています。apenwarrはtun/tap、tcp-over-tcpをもたらすトンネリングを参照していました。SOCKSv5は同じ問題に悩まされることはありませんが、すべてのアプリケーションで透過的に機能しません(tun / tapは透過的に処理できる別のネットワークインターフェイスです)。
jpc

3

頭の中で思いつくのがパフォーマンスです。しかし、それは本当にあなたがトンネルしているものの種類に依存します。


どんなパフォーマンス?帯域幅?私は現在、huluおよびブロックされている一部のyoutubeビデオにアクセスするために使用しています。
Nils Riedemann

CPUオーバーヘッド(暗号化)とレイテンシ(おそらく)。
XTL

1

通常、レイテンシは増加しますが、SSHトンネリングを使用すると、スループットは通常の90%に達します。ServerAliveInterval切断を防止するように設定し、スクリプトでラップして、障害時にトンネルを再起動し続けるようにしてください。

主な欠点は、SOCKSを使用しない限り、TCPポートごとのトンネルであることです。SOCKSは問題ありませんが、これによりレイテンシはさらに増加するようです。もちろん、すべてのクライアントがSOCKSをサポートしているわけではありません。

GatewayPorts他のユーザーがトンネルを介して接続できるようにするには、クライアントまたはSSHサーバーで実行する必要がある場合があります。サーバーでは、これにはsshd_configへのrootアクセスが必要です。

TCPのアルゴリズムはカプセル化の下では適切に反応しないため、主なパフォーマンスの警告(他の人が指摘しているように)は、信頼性の低い接続がこのアプローチではうまく機能しない可能性があることです。

そうは言っても、SSHはほとんどの場合「正しいことをする」ようです。


1
観察する信頼性の低い接続の問題は、接続が切断されたときに繰り返す必要のある遅延とハンドシェイクの増加に関連している可能性があります。SSHポート転送は、tcp-over-tcpカプセル化を行いません。
jpc
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.