データセンターホストを接続するための高スループットメッシュVPN
パブリックデータセンターに多数のホストをレンタルしています。データセンターはプライベートVLANを提供しません。すべてのホストは、1つ(またはそれ以上)のパブリックIPv4 / IPv6アドレスを受け取ります。ホストには最新のCPU(Haswellクアッドコア、3.4GHz)が搭載されており、Gbitアップリンクがあります。データセンターのさまざまな領域(部屋?床?建物?)は、私が知る限りでは、Gbitまたは500Mbitリンクで相互接続されています。ホストはdebian wheezyを実行しています。現在、10台を超えるホストを実行していますが、近い将来の成長が期待されています。 すべてのホストが互いに安全かつ機密に通信できるようにする方法を探しています。レイヤー3は問題ありませんが、レイヤー2は問題ありません(ただし、必須ではありません)。私はVLANにアクセスできないため、何らかのVPNである必要があります。 私にとって重要なこと: 高スループット、理想的にはワイヤスピードに近い 分散型のメッシュアーキテクチャ-これは、中央要素(VPNコンセントレータなど)によってスループットが低下しないようにするためです。 CPUフットプリントは過剰ではありません(AESNIとGCM暗号スイートが与えられた場合、これはばかげた要件ではないことを望みます) 操作の使いやすさ; セットアップするのにそれほど複雑ではありません。ネットワークは確立された接続を失うことなく成長できます 現在、tincを使用しています。[2]と[4]を刻みますが、ワイヤースピード960Mbit / sの約600Mbit / s(シンプレックス)にしか到達せず、1つのコアを完全に失います。また、現在開発中のtinc 1.1はまだマルチスレッド化されていないため、シングルコアのパフォーマンスにこだわっています。 従来のIPSecは、中央要素、またはトンネルのsh * tloadを設定する必要があるため([2]を達成するため)、問題外です。日和見暗号化を使用したIPsecが解決策になりますが、安定した運用コードになったことは確かではありません。 今日、私はtcpcryptを偶然見つけました。欠落している認証を除いて、それは私が望むもののように見えます。ユーザースペースの実装は臭いがしますが、他のすべてのVPNも同様です。そして、彼らはカーネルの実装について話します。まだ試していませんが、[1]と[3]の動作に興味があります。 他にどんなオプションがありますか?AWS ではない人は何をしていますか? 追加情報 GCMに興味があり、CPUのフットプリントを減らすことを期待しています。トピックに関するインテルのペーパーを参照してください。Tinc開発者の1人と話したとき、彼は暗号化にAESNIを使用しても、HMAC(SHA-1など)はGbit速度では依然として非常に高価であると説明しました。 最終更新 トランスポートモードのIPsecは完全に機能し、希望どおりに機能します。多くの評価の後、単にAES-GCMをサポートしているという理由だけで、ipsec-toolsよりOpenswanを選択しました。Haswell CPUでは、約8〜9%のCPU負荷1で、約910〜920Mbit / secのシンプレックススループットを測定しkworkerdます。