オープンvSwitchのいかなるカーネルのサポートはありません

パフォーマンスの損失の条件の下で、オープンvSwitchがカーネルモジュールの助けを借りずに、ユーザ空間で完全に実行することができます。この資料では、このモードでオープンvSwitchの作業をインストールする方法について説明します。

このバージョンでは、手動でオープンvSwitchを使用しなければならないconfiguremakeコンパイル。この機能もサポートされていますが、オープンvSwitchを使用していないときに、最近テストされているが、オープンvSwitchのDebianパッケージは、この機能のすべては、Debianパッケージのインストールによって推奨されていません。

警告
DPDKのサポート、ユーザー空間モードなしでvSwitchを開きが自然の中で実現されると考えられる、それは徹底的にテストされていません。

コンパイルとインストール

文書とそのインストールおよび構成要件オープンvSwitchをコンパイルするステップgeneral記載したのと同じ。ここでは、省略設定カーネルモジュールおよび関連する要件をコンパイルしてインストールすることができます。

Linuxでは、ユーザは、さらに、空間スイッチコアTUN / TAPドライバがいずれかのコアに組み込まれ、利用可能であるか、またはモジュールとしてロードすることができる必要があります。あなたがわからない場合は、名前のチェック/sys/class/misc/tunディレクトリを。ない場合は、使用してみてくださいmodprobe tunロードモジュールを。

tunデバイスはまた、次のディレクトリに存在している必要があります/dev/net/tunそうでない場合、コマンドを使用してmkdir /dev/net作成する/dev/net(必要な場合)ディレクトリを、次にコマンドを使用mknod/dev/net/tun c 10 200作成する/dev/net/tunデバイスノード。

FreeBSDとNetBSDの上で、ユーザーは、空間スイッチコアタップ(4)運転者がいずれかのカーネルに組み込まれ、またはモジュールとしてロードされ、利用可能である必要があります。

OVS-vswitchdユーザー空間のデータ・パスを使用します

ブリッジを作成OVS-vswitchdユーザ空間モードで使用するために、コンフィギュレーションデータベースのパラメータdatapath_type=netdev、例えば:

$ ovs-vsctl add-br br0
$ ovs-vsctl set bridge br0 datapath_type=netdev
$ ovs-vsctl add-port br0 eth0
$ ovs-vsctl add-port br0 eth1
$ ovs-vsctl add-port br0 eth2

OVS-vswitchd TAPはブリッジとしてローカルインタフェースデバイス、同じ名前のブリッジ、および各インタフェース名の内部構成を作成します。

OVS-vswitchdブリッジのローカルブリッジと同じ名前のインターフェイス、および各設定されている内部インターフェイス用としてTAPデバイスを作成します。

現在、FreeBSD上で、サポートバンド内の所望の制御機能を実現しませんでした。関連のエラーを回避するには、次のコマンドを使用して、インバンドのサポートを無効にすることができます。

$ ovs-vsctl set bridge br0 other_config:disable-in-band=true

ファイアウォールのルール

Linuxでは、ユーザーは物理的なインタフェースを使用した空間データパスは、まだカーネルのTCP / IPスタックに渡されるインターフェイス上のデータパケットを受け取りました。これは、事故や間違った行動につながることができます。あなたが使用することができiptables、この動作を回避するためのコマンドを、受信したパケットを破棄するために使用されます。例えば、受信パケットはeth0を廃棄します。

$ iptables -A INPUT -i eth0 -j DROP
$ iptables -A FORWARD -i eth0 -j DROP

その他の設定

NetBSDのでは、ネットワークトポロジやアプリケーションに応じて、以下の設定が役に立つかもしれません。sysctl(7)を参照してください。

$ sysctl -w net.inet.ip.checkinterface=1

おすすめ

転載: blog.csdn.net/sinat_20184565/article/details/94482314