Edited at

Open vSwicthでVLAN構築

More than 3 years have passed since last update.

Open vSwitchを用いたVLANを構築してみた.

CentOS7はデフォルトでifconfigコマンドが存在しないため,インターフェースへのipアドレスの付与はipコマンドで行う.


環境

OS: CentOS7.0 minimal

switch: Open vSwitch 2.0.0


構成図

 |A|                 |C|

   \               /
|ovs-br0|-------|ovs-br1|
   /               \
|B|                 |D|

ホスト|A|,|C|はVLAN10, ホスト|B|,|D|はVLAN20に所属させる.


netnsの作成

ip netns add A

ip netns add B
ip netns add C
ip netns add D


netns - スイッチ間のリンクの作成

ip link add a0 type veth peer name ovs0-0

ip link add b0 type veth peer name ovs0-1
ip link add c0 type veth peer name ovs1-0
ip link add d0 type veth peer name ovs1-1


netnsへのインターフェースの追加

ip link set a0 netns A up

ip link set b0 netns B up
ip link set c0 netns C up
ip link set d0 netns D up


IPアドレスの付与

ip netns exec A ip addr add 1.0.0.1/24 dev a0

ip netns exec B ip addr add 1.0.0.2/24 dev b0
ip netns exec C ip addr add 1.0.0.3/24 dev c0
ip netns exec D ip addr add 1.0.0.4/24 dev d0


スイッチの作成

ovs-vsctl add-br ovs-br0

ovs-vsctl add-br ovs-br1


アクセスポートの設定

ovs-vsctl add-port ovs-br0 ovs0-0 tag=10

ovs-vsctl add-port ovs-br0 ovs0-1 tag=20
ovs-vsctl add-port ovs-br1 ovs1-0 tag=10
ovs-vsctl add-port ovs-br1 ovs1-1 tag=20


トランク用のリンクの作成

ip link add t0 type veth peer name t1


トランクポートの設定

ovs-vsctl add-port ovs-br0 t0 trunk=10,20

ovs-vsctl add-port ovs-br1 t1 trunk=10,20


疎通確認


通る場合

ip netns exec A ping 1.0.0.3

ip netns exec B ping 1.0.0.4


通らない場合

ip netns exec A ping 1.0.0.4

ip netns exec B ping 1.0.0.3