読者です 読者をやめる 読者になる 読者になる

猫型エンジニアのブログ

プログラム/ネットワーク系の技術関連をまとめたページです 

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にNICのeth0を登録

ovs-vsctl add-port br100 eth0

ポートの削除

ブリッジbr100からNICのeth0を削除

# ovs-vsctl del-port br100 eth0

ポート登録の確認

ブリッジ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