私は最近、ドイツから到達できないいくつかのサイトやものを使用できるようにするために、プロキシとして使用したいVPSを「購入」しました。
私はまだSquidとOpenVPN(現在必要だと思う)をセットアップするのが面倒なので、ssh-tunnelingを使用します。
さて、数週間後、sshトンネリングがうまくいかなかったか、そして-そしてそれが私の質問です-心に留めておく必要のある警告/コントラスト/欠点があるかどうかを自問しましたか?
私は最近、ドイツから到達できないいくつかのサイトやものを使用できるようにするために、プロキシとして使用したいVPSを「購入」しました。
私はまだSquidとOpenVPN(現在必要だと思う)をセットアップするのが面倒なので、ssh-tunnelingを使用します。
さて、数週間後、sshトンネリングがうまくいかなかったか、そして-そしてそれが私の質問です-心に留めておく必要のある警告/コントラスト/欠点があるかどうかを自問しましたか?
回答:
パフォーマンスの問題は、TCP上のTCPをトンネリングしているときに、適応修正やって二つの層があるので(スロースタート、輻輳回避を速くrestransmit参照、発生するRFC2001を)。
biengはお互いを認識していないため、外部接続が失われると大きな問題が発生します。
このページでは、現象について詳しく説明します。
編集:
TCP over TCPの問題に固執するのではなく、それを防ぐsshuttleを確認してください。この状況の詳細については、「動作理論
」というセクションをご覧ください。
tun/tap
、tcp-over-tcpをもたらすトンネリングを参照していました。SOCKSv5は同じ問題に悩まされることはありませんが、すべてのアプリケーションで透過的に機能しません(tun / tapは透過的に処理できる別のネットワークインターフェイスです)。
頭の中で思いつくのがパフォーマンスです。しかし、それは本当にあなたがトンネルしているものの種類に依存します。
通常、レイテンシは増加しますが、SSHトンネリングを使用すると、スループットは通常の90%に達します。ServerAliveInterval
切断を防止するように設定し、スクリプトでラップして、障害時にトンネルを再起動し続けるようにしてください。
主な欠点は、SOCKSを使用しない限り、TCPポートごとのトンネルであることです。SOCKSは問題ありませんが、これによりレイテンシはさらに増加するようです。もちろん、すべてのクライアントがSOCKSをサポートしているわけではありません。
GatewayPorts
他のユーザーがトンネルを介して接続できるようにするには、クライアントまたはSSHサーバーで実行する必要がある場合があります。サーバーでは、これにはsshd_configへのrootアクセスが必要です。
TCPのアルゴリズムはカプセル化の下では適切に反応しないため、主なパフォーマンスの警告(他の人が指摘しているように)は、信頼性の低い接続がこのアプローチではうまく機能しない可能性があることです。
そうは言っても、SSHはほとんどの場合「正しいことをする」ようです。