これが私があなたがする必要があると思う全体的なことです。
2 つの VM があり、それらを A と B と呼びましょう。両方で、タップ インターフェイスと、いくつかのミニネット トポが実行されている必要があります。mininet topo は、tap インターフェイスに接続する必要があります。次に、タップを一緒に接続する必要があります (トンネリング)。これにより、2 つのミニネット トポスも接続されます。
トリッキーな部分は、ミニネットをタップ インターフェイスに接続する方法だと思います。私がPythonコードでそれを行う方法を見てください。コードの重要なこのセクションはその仕事をします:
# This would connect switch s1 tap interface named tap1
self.addIntf(s1,'tap0')
また、コントローラーを追加するときは、各 VM に独自のローカル ホストがあるため、同じ localhost ip と同じポート番号を使用しても問題ないと思います。しかし、よくわからないので、念のため、いずれかのポート番号を変更してください。
# So this is ip address and port number of controller.
# both mininet codes should have this line, although with different port number
c = RemoteController('c','0.0.0.0',6633)
詳細:
- 両方の VM でタップ インターフェイスを作成し、それらを起動します。
- それらを接続します (トンネリング)。
- 両方の VM で実行
sudo mn -c
して、ミニネット環境をクリーンアップします。
- 両方の VM でコントローラーを実行します。ポートが異なることを確認してください。
- それぞれでミニネット トポを実行します。
Tap インターフェイスを作成するために使用する名前は、ミニネット トポのコードで使用する名前と同じである必要があることに注意してください。
それが役に立てば幸い。何かわからないことがあれば教えてください。