私は最近、ドイツから到達できないいくつかのサイトやものを使用できるようにするために、プロキシとして使用したいVPSを「購入」しました。
私はまだSquidとOpenVPN(私は現在必要だと思います)をセットアップするのが面倒なので、ssh-tunnelingを使用します。
さて、数週間後、sshトンネリングがうまくいかなかったか、そして-そしてそれが私の質問です-私が心に留めておく必要のある警告/コントラスト/欠点があるかどうかを自問しましたか?
頭の中で思いつくのがパフォーマンスです。しかし、それはあなたがトンネルしているものの種類に本当に依存します。
通常、レイテンシは増加しますが、SSHトンネリングを使用すると、スループットは通常の90%に達します。切断を防ぐために必ずServerAliveInterval
を設定し、スクリプトでそれをラップして、障害時にトンネルを再起動し続けるようにしてください。
主な欠点は、SOCKSを使用しない限り、TCPポートごとのトンネルであることです。 SOCKSは問題ありませんが、これによりレイテンシはさらに増加するようです。もちろん、すべてのクライアントがSOCKSをサポートしているわけではありません。
他のユーザーがトンネルを介して接続できるようにするには、クライアントまたはSSHサーバーでGatewayPorts
を実行する必要がある場合があります。サーバーでは、これにはsshd_configへのrootアクセスが必要です。
TCPのアルゴリズムはカプセル化のもとでは適切に反応しないため、主なパフォーマンスの警告(他の人が指摘しているように)は、信頼性の低い接続ではこのアプローチがうまく機能しない可能性があります。
そうは言っても、SSHはほとんどの場合「正しいことをする」ようです。