このプロジェクトについて
NebulaはSlack Technologiesで作られたオープンソースのオーバーレイネットワークツールです。Noise Protocol Framework上に相互認証されたピアツーピアのソフトウェア定義ネットワークを構築し、場所やクラウドプロバイダーに関係なくコンピューター同士を直接接続します。
READMEに記載されている主な機能は次のとおりです。
- スケーラビリティ: 数台から数万台のホストまで接続できるように設計されています。
- 移植性: Linux(64/32ビット、ARMなど)、Windows、macOS、FreeBSD、iOS、Androidで動作します。Arch、Fedora、Debian、Alpine、Homebrew、Docker向けの配布パッケージがあります。
- セキュリティモデル: 証明書はノードのIPアドレス、名前、ユーザー定義グループへの所属を証明します。デフォルトの暗号化はECDH鍵交換とAES-256-GCMを使用し、Curve25519がデフォルトの曲線です。オプションでNIST P256およびFIPS 140-3ビルドモードもあります。
- ディスカバリ: ルーティング可能なIPを持つ軽量な「lighthouse」ノードがピア同士を見つけられるようにし、オプションでUDPホールパンチングを使用してNATやファイアウォールを通過します。
- トラフィック制御: ユーザー定義グループにより、クラウドセキュリティグループと同様のスタイルでプロバイダーに依存しないファイアウォールルールを実現します。
はじめに: nebula-certで認証局(CA)を生成し、IPとグループを指定してホスト証明書に署名し、ホストごとの設定ファイルを作成して、nebulaバイナリを実行します。READMEでは、CAの秘密鍵が最も機密性の高いファイルであり、個々のノードにコピーしてはならないと警告しています。また、CAはデフォルトで1年後に失効することにも注意しています。
NebulaはGoを使用してソースからビルドでき、makeターゲットで全プラットフォームまたは特定のプラットフォーム向けにビルドできます。このプロジェクトはSlackがメンテナンスしており、独自のPKIやlighthouseを運用したくないユーザー向けに、Defined Networkingを通じたマネージドオプションも提供されています。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.