パフォーマンスの損失の条件の下で、オープンvSwitchがカーネルモジュールの助けを借りずに、ユーザ空間で完全に実行することができます。この資料では、このモードでオープンvSwitchの作業をインストールする方法について説明します。
このバージョンでは、手動でオープンvSwitchを使用しなければならないconfigure
とmake
コンパイル。この機能もサポートされていますが、オープン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