web-dev-qa-db-ja.com

1つのethポートに接続された複数のブリッジを作成する

Ubuntu16.04のKVMに6つのVMを作成したい。しかし、これらのVMに外部から直接アクセスできるようにしたい。さらに説明すると、最初のPCに接続されている別のPCがあり、指定されたIPを持つすべてのVMにpingを実行できるようにします。

だから私は ここ に従ってそれらを橋渡しする必要があります。問題は、イーサネットポートが1つしかないことと、私が知る限り、VMの1つだけに使用できることです。

VM用に6つのブリッジを作成する方法はありますか?

ありがとう

1

ここでは、ネットワークの用語を少し誤解しているようです。 Linux上のブリッジは、NATまたはルーティングとは何の関係もありません。文字通り、完全にソフトウェアに実装されたイーサネットスイッチです。

あなたの場合、すべてのVMがそのブリッジに接続されている1つのブリッジで、希望どおりの結果を達成できるはずです。そこから、2つのオプションがあります。

  1. 通常のイーサネットインターフェイスの1つをブリッジに接続して、ホストシステムをVMの実際のブリッジとして使用します。これはルーティングもNATも行いません。各VMは、メインネットワークで実行されているDHCPサーバーからIPとネットワーク情報を取得し、割り当てられたIPアドレスを使用して個別にアクセスできます。これが私が推奨するアプローチです。 本当にホストシステムがファイアウォールとして機能する必要がある場合、プライマリネットワークがイーサネットでない場合、またはNetworkManagerがアドレスの取得を開始する前に、システムの起動時にブリッジを設定できない場合を除いて、を使用します。利点ここに単純さがあります。

  2. ホストシステムをルーターとして使用します。これには、ブリッジを物理インターフェイスに接続する必要がなく、ルーティングを正しく行うためにiptablesまたはnftablesルールを手動で設定する必要があります。このアプローチには、最初のアプローチに比べて3つの利点があります。ホストをファイアウォールとして使用でき、メインネットワークリンクをイーサネットである必要はなく、ホストシステムのネットワークアドレスを取得した後で簡単にセットアップできます。この方法でNATを実行できますが、必須ではありません(ただし、他のルーティングスキームよりもセットアップがはるかに簡単です)。1を含む他のさまざまなアドレスマッピングを実行することもできます。あなたが望むもののように聞こえる1つのマッピング。

いずれの場合も、これを設定する必要がありますoutside NetworkManager(実際、これらをサーバーで実行している場合は、NetworkManagerを削除するだけです。定期的に行わない限り、プロセッササイクルの無駄です。ネットワーク構成を切り替える必要があります)、2番目のセットアップを強制しようとするため、邪魔になります。

2