Open vSwitch Raspberry Pi Raspbian

Raspberry Pi な Open vSwitch でブリッジ

投稿日:

Raspberry Pi 3 Model B と Raspbian と USB - LAN アダプタで Open vSwitch をつくった手順は下記の通りです.
Raspberry Pi 3 Model B, Raspbian で Open vSwitch (自前ビルド)

それを使用して,まずはブリッジ動作を確認してみます.

Raspberry Pi を起動し,カーネルモジュールを読み込み,ovsdb-server を起動し,ovs-vswitchd を起動します.

sudo modprobe openvswitch
sudo ovsdb-server --remote=punix:/usr/local/var/run/openvswitch/db.sock --remote=db:Open_vSwitch,Open_vSwitch,manager_options --private-key=db:Open_vSwitch,SSL,private_key --certificate=db:Open_vSwitch,SSL,certificate --bootstrap-ca-cert=db:Open_vSwitch,SSL,ca_cert --pidfile --detach
sudo ovs-vswitchd --pidfile --detach

ブリッジを作成してみます.

sudo ovs-vsctl add-br br0

その結果を表示させてみます.

sudo ovs-vsctl show
cfb9ac4d-c42d-4054-8597-89a4f46f56d0
    Bridge "br0"
        Port "br0"
            Interface "br0"
                type: internal
sudo ovs-vsctl list-br
br0

ブリッジにイーサネットインターフェイスを割り当ててみます.

sudo ovs-vsctl add-port br0 eth1
sudo ovs-vsctl add-port br0 eth2
sudo ovs-vsctl add-port br0 eth3
sudo ovs-vsctl add-port br0 eth4

その結果を表示させてみます.

sudo ovs-vsctl show
cfb9ac4d-c42d-4054-8597-89a4f46f56d0
    Bridge "br0"
        Port "eth3"
            Interface "eth3"
        Port "br0"
            Interface "br0"
                type: internal
        Port "eth4"
            Interface "eth4"
        Port "eth2"
            Interface "eth2"
        Port "eth1"
            Interface "eth1"
sudo ovs-vsctl list-ports br0
eth1
eth2
eth3
eth4

その後の ifconfig の結果の抜粋です.

ifconfig
br0       Link encap:Ethernet  HWaddr 00:22:cf:f9:2b:0d  
          inet addr:169.254.116.129  Bcast:169.254.255.255  Mask:255.255.0.0
          inet6 addr: fe80::f8fc:e2d5:84cb:b64/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:41 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:7730 (7.5 KiB)

eth1      Link encap:Ethernet  HWaddr cc:e1:d5:0d:c3:d4  
          inet6 addr: fe80::7b5d:2f4d:1ad3:c759/64 Scope:Link
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

eth2      Link encap:Ethernet  HWaddr 34:95:db:2b:d9:19  
          inet6 addr: fe80::d6b0:b3c9:6b4c:fcec/64 Scope:Link
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

eth3      Link encap:Ethernet  HWaddr 00:e1:02:00:3b:8f  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

eth4      Link encap:Ethernet  HWaddr 00:22:cf:f9:2b:0d  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

ovs-system Link encap:Ethernet  HWaddr 76:4b:77:a0:b5:82  
          inet addr:169.254.179.203  Bcast:169.254.255.255  Mask:255.255.0.0
          inet6 addr: fe80::c709:38af:5d27:32e6/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:39 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:6964 (6.8 KiB)

ブリッジの fail-mode を確認してみます.

sudo ovs-vsctl get-fail-mode br0

コマンド実行後,何も表示されないと,デフォルトの standalone となっています.secure 設定されている場合,secure と表示されます.

secure に設定してみます.

sudo ovs-vsctl set-fail-mode br0 secure
sudo ovs-vsctl get-fail-mode br0
secure

standalone に戻してみます.戻した後は standalone と表示されるようになります.

sudo ovs-vsctl set-fail-mode br0 standalone
sudo ovs-vsctl get-fail-mode br0
standalone

この状態で,同じブリッジに属するポート間で接続が可能になります.

例えば eth0 と eth1 に PC を接続し,同じサブネットに属するように IP アドレスを設定します.その後,双方から ping が通ることを確認します.

なお,ブリッジは削除できます.

sudo ovs-vsctl del-br br0

-Open vSwitch, Raspberry Pi, Raspbian

Copyright© hirooka.pro , 2013-2018 All Rights Reserved.