web-dev-qa-db-ja.com

ovsブリッジでVxLANトンネルを構成する方法は?

2つの異なるマシンにあるVMをovsブリッジとVxLANトンネルで接続したいのですが、トポロジが図のようになっていると仮定します topology このように、ホストAでの構成(ホストBでの構成はほとんど同じです) remote_ipをホストA'eth0)のアドレスに変更します。

ovs-vsctl add-br ovs-br0
ovs-vsctl add-port ovs-br0 vtep -- set interface vtep type=vxlan options:remote_ip=172.168.1.200 options:key=5000

qemuでVMを起動しているときに、tap0が作成され、ブリッジovs-br0に自動的に追加されますが、VM1からVM2にpingできません。

私はまた、このようないくつかのリンクをグーグルで検索しました: http://networkstatic.net/configuring-vxlan-and-gre-tunnels-on-openvswitch/ 、残念ながら、2つのovs-bridgeを作成する必要があると言っています、これら2つのブリッジをリンクする必要があるかどうか(およびその方法)はわかりません。

Ovs-br0とeth0がどのように通信するのか、カーネルTCP/IPスタックがこのジョブの実行に役立つのか、または別のovs-bridgeを作成して、これら2つのブリッジをパッチポートに接続する必要があるのか​​混乱していますか?

ですから、私のトポロジーや構成が正しくない場合は訂正してください。よろしくお願いします。

2
sujz

私はこの問題を解決しました。

Ovsブリッジを使用したvxlanトンネルの構成は正しいです。VM1からVM2にpingできない理由は、ovsをインストールする際の間違った手順です。ビルドされた.koファイルをカーネルlibパスにインストールするためのmakemodules_installを忘れました。

1つのovsブリッジでovsvxlanトンネルを構築できます。VMからのパケットはvtepポートで外部ヘッダーでカプセル化され、ルーティングテーブルに従ってルーティングされ、物理ポートeth0に転送されます。物理ポートを明示的に接続する必要はありません。OSカーネルがそれを支援してくれます。

1
sujz