Open vSwitch on FreeBSD (jail間通信 port VLAN)

openvswitchはvlanも設定できるみたいですね。
という訳で、port vlanのテスト。

まずは3台目のjail(host03)を10.10.10.3/24で接続して、既存のjailとの通信を確認。
まだVLANは設定していない。

# ifconfig epair2 create
# ifconfig epair2a up
# ovs-vsctl add-port br0 epair2a
# ovs-vsctl show
bed35e5d-cc0a-4594-84e2-d7d1369ccaaf
    Bridge "br0"
        Port "epair1a"
            Interface "epair1a"
        Port "br0"
            Interface "br0"
                type: internal
        Port "epair2a"
            Interface "epair2a"
        Port "epair0a"
            Interface "epair0a"

# ifconfig epair2b vnet host03
# jexec host03 ifconfig epair2b 10.10.10.3 netmask 255.255.255.0
# jexec host03 ping 10.10.10.2
PING 10.10.10.2 (10.10.10.2): 56 data bytes
64 bytes from 10.10.10.2: icmp_seq=0 ttl=64 time=0.428 ms
64 bytes from 10.10.10.2: icmp_seq=1 ttl=64 time=0.178 ms
^C
--- 10.10.10.2 ping statistics ---
2 packets transmitted, 2 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.178/0.303/0.428/0.125 ms

次に、VLANの設定をしてみる。環境は、こんな感じ。
jail-connect3

openvswitch上でport vlanを設定する
epair0aおよびepair1aのportをvlan 60に設定
epair2aのportをvlan 70に設定

# ovs-vsctl del-port br0 epair0a   (一度portを削除) 
# ovs-vsctl add-port br0 epair0a tag=60 (vlan 60にして再度追加)
# ovs-vsctl del-port br0 epair1a
# ovs-vsctl add-port br0 epair1a tag=60
# ovs-vsctl del-port br0 epair2a
# ovs-vsctl add-port br0 epair2a tag=70
# ovs-vsctl show
bed35e5d-cc0a-4594-84e2-d7d1369ccaaf
    Bridge "br0"
        Port "br0"
            Interface "br0"
                type: internal
        Port "epair0a"
            tag: 60
            Interface "epair0a"
        Port "epair2a"
            tag: 70
            Interface "epair2a"
        Port "epair1a"
            tag: 60
            Interface "epair1a"

epair2aはvlan設定していないので、host01およびhost02からhost03への通信はできなくなり、
host01およびhost02では通信可能なはず。
やってみる。

# jexec host01 ping 10.10.10.2
PING 10.10.10.2 (10.10.10.2): 56 data bytes
64 bytes from 10.10.10.2: icmp_seq=0 ttl=64 time=0.597 ms
^C
--- 10.10.10.2 ping statistics ---
1 packets transmitted, 1 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.597/0.597/0.597/0.000 ms
# jexec host01 ping 10.10.10.3
PING 10.10.10.3 (10.10.10.3): 56 data bytes
^C
--- 10.10.10.3 ping statistics ---
2 packets transmitted, 0 packets received, 100.0% packet loss
# jexec host02 ping 10.10.10.1
PING 10.10.10.1 (10.10.10.1): 56 data bytes
64 bytes from 10.10.10.1: icmp_seq=0 ttl=64 time=0.220 ms
64 bytes from 10.10.10.1: icmp_seq=1 ttl=64 time=0.150 ms
^C
--- 10.10.10.1 ping statistics ---
2 packets transmitted, 2 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.150/0.185/0.220/0.035 ms
root@freebsd-ovs:/root # jexec host02 ping 10.10.10.3
PING 10.10.10.3 (10.10.10.3): 56 data bytes
^C
--- 10.10.10.3 ping statistics ---
2 packets transmitted, 0 packets received, 100.0% packet loss

想定どおりになっています。ちゃんと動くんだな。。。

試しにhost01に相当するepair0aをvlan 70に移動させてみます。
host01からhost03へpingが可能になるはず。

# ovs-vsctl del-port br0 epair0a
# ovs-vsctl add-port br0 epair0a tag=70
# jexec host01 ping 10.10.10.3
PING 10.10.10.3 (10.10.10.3): 56 data bytes
64 bytes from 10.10.10.3: icmp_seq=0 ttl=64 time=0.434 ms
64 bytes from 10.10.10.3: icmp_seq=1 ttl=64 time=0.153 ms
^C
--- 10.10.10.3 ping statistics ---
2 packets transmitted, 2 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.153/0.293/0.434/0.141 ms

想定通りの動きですね。

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*