OpenVSwitchの基本設定
OpenVSwitchを用いて基本的な設定をするまでの流れをまとめました。リピータハブもしくはL2スイッチとして動作させるのが目的です。
1.「ブリッジを作成」
2.「作成したブリッジにポートを追加」
3.「アクションの設定(リピータハブ or L2スイッチ)」
の順で設定します。
ブリッジの設定
まず最初に行うのがブリッジの作成です。OpenVSwitchではブリッジを単位としてポートの登録やOpenFlowコントローラとの接続を行えます。ブリッジは複数個作成することも可能です。
ブリッジの作成
ブリッジbr100の作成コマンド
# ovs-vsctl add-br br100
ブリッジの削除
ブリッジbr100の削除コマンド
# ovs-vsctl del-br br100
ブリッジの確認
作成したブリッジの一覧表示
# ovs-vsctl list-br
以下のようにブリッジが表示されます。
br100
ポートの設定
作成したブリッジに対してポートを設定することができます。ポートにはVMの仮想NIC(TAPデバイス)や物理NICを登録することができ、同一ブリッジに接続したポート間は通常のスイッチと同様に扱うこともできます。
ポート登録の確認
ブリッジbr100に登録したポート番号の一覧を表示
# ovs-vsctl list-ifaces br100
以下のようにブリッジに対して登録したポートが表示されます。
eth1 eth2 gre0
ポート番号の確認
ブリッジbr100に登録されているNICのポート番号を表示
# ovs-ofctl show br100
実行結果は下の通りです。NICの左の数字がOVSが認識しているポート番号です。eth1なら1番、eth2なら2番、gre0なら3番になります。
OFPT_FEATURES_REPLY (xid=0x2): dpid:0000000000000001 n_tables:254, n_buffers:256 capabilities: FLOW_STATS TABLE_STATS PORT_STATS QUEUE_STATS ARP_MATCH_IP actions: OUTPUT SET_VLAN_VID SET_VLAN_PCP STRIP_VLAN SET_DL_SRC SET_DL_DST SET_NW_SRC SET_NW_DST SET_NW_TOS SET_TP_SRC SET_TP_DST ENQUEUE 1(eth1): addr:d8:9d:67:1d:29:21 config: 0 state: 0 current: 1GB-FD COPPER AUTO_NEG advertised: 10MB-HD 10MB-FD 100MB-HD 100MB-FD 1GB-HD 1GB-FD COPPER AUTO_NEG AUTO_PAUSE supported: 10MB-HD 10MB-FD 100MB-HD 100MB-FD 1GB-HD 1GB-FD COPPER AUTO_NEG speed: 1000 Mbps now, 1000 Mbps max 2(eth2): addr:d8:9d:67:1d:29:22 config: 0 state: 0 current: 1GB-FD COPPER AUTO_NEG advertised: 10MB-HD 10MB-FD 100MB-HD 100MB-FD 1GB-HD 1GB-FD COPPER AUTO_NEG AUTO_PAUSE supported: 10MB-HD 10MB-FD 100MB-HD 100MB-FD 1GB-HD 1GB-FD COPPER AUTO_NEG speed: 1000 Mbps now, 1000 Mbps max 3(gre0): addr:92:01:40:db:4b:a9 config: 0 state: 0 speed: 0 Mbps now, 0 Mbps max LOCAL(br100): addr:d8:9d:67:1d:29:21 config: 0 state: 0 speed: 0 Mbps now, 0 Mbps max OFPT_GET_CONFIG_REPLY (xid=0x4): frags=normal miss_send_len=0
アクションの設定
以下のように設定することで、登録したポート間のパケット転送が可能になります。
リピータハブとして設定する場合
# ovs-ofctl del-flows br100 # ovs-ofctl add-flow br100 actions=all
L2スイッチとして設定する場合
# ovs-ofctl del-flows br100 # ovs-ofctl add-flow br100 actions=normal