L2-only virtual-network

Tungsten の仮想ネットワークは、通常、L3の動作を含んだものとなる。
例えば、vrouter が提供するgwのipに対しては、仮想ネットワーク内のvmからは、常にping が飛ぶ状態となっている。

ただし、Tungsten の仮想ネットワーク定義は、これ以外に、L2だけを提供するための設定も存在する。
https://bugs.launchpad.net/juniperopenstack/+bug/1471637

※ 設定方法としては以下の通り、仮想ネットワークの定義から、Advanced Options > Forwarding Mode > L2 Only を選択する
f:id:aaabbb_200904:20180512004258p:plain

このモードの仮想ネットワークでは、vrouter はルーターとしての機能を提供しなくなり、L2 ブリッジと同様に振る舞う。
※ このため、gw ip へのping や、dhcpでのip付与、compute からの 169.254.0.x への ssh 等は使用できなくなる。

この場合も、手動で各 vm に ip を割り振れば、vm 間の疎通は、通常通り可能となる。

※ 以下では、以前構築したkolla openstack (compute は2台に増やしている)
http://aaabbb-200904.hatenablog.jp/entry/2018/04/28/215922
の仮想ネットワークをL2 Onlyに変更し、2台立ち上げたvyos で、お互いにping が飛ぶことを確認している。

(vyos1) set interface ethernet eth1 address 192.168.100.5/24
(vyos2) set interface ethernet eth1 address 192.168.100.6/24

f:id:aaabbb_200904:20180512004404p:plain
f:id:aaabbb_200904:20180512004420p:plain
f:id:aaabbb_200904:20180512004433p:plain

また、この場合のvlan タグの動作だが、片方のVNFから出てきた際についたタグは、(compute をまたいだ場合も) そのまま伝搬され、仮想ネットワーク内の別vmに到達可能、という結果となった。
※ 2台のvyos に同じvlan インターフェースをつけてping を実行することで確認

(vyos1) set interfaces ethernet eth1 vif 101 address 192.168.101.11/24
(vyos2) set interfaces ethernet eth1 vif 101 address 192.168.101.12/24

f:id:aaabbb_200904:20180512004510p:plain

また、compute上でパケットキャプチャを行った場合も、行き、帰りともに vlan タグがついていることを確認できた。

[root@ip-172-31-3-107 ~]# tcpdump -i tap47a437bf-15 -n -e
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on tap47a437bf-15, link-type EN10MB (Ethernet), capture size 262144 bytes
15:05:12.108450 02:47:a4:37:bf:15 > 02:b6:3c:4f:35:fa, ethertype 802.1Q (0x8100), length 102: vlan 101, p 0, ethertype IPv4, 192.168.101.11 > 192.168.101.12: ICMP echo request, id 3878, seq 1, length 64
15:05:12.109455 02:b6:3c:4f:35:fa > 02:47:a4:37:bf:15, ethertype 802.1Q (0x8100), length 102: vlan 101, p 0, ethertype IPv4, 192.168.101.12 > 192.168.101.11: ICMP echo reply, id 3878, seq 1, length 64
15:05:13.110547 02:47:a4:37:bf:15 > 02:b6:3c:4f:35:fa, ethertype 802.1Q (0x8100), length 102: vlan 101, p 0, ethertype IPv4, 192.168.101.11 > 192.168.101.12: ICMP echo request, id 3878, seq 2, length 64
15:05:13.111306 02:b6:3c:4f:35:fa > 02:47:a4:37:bf:15, ethertype 802.1Q (0x8100), length 102: vlan 101, p 0, ethertype IPv4, 192.168.101.12 > 192.168.101.11: ICMP echo reply, id 3878, seq 2, length 64
^C
4 packets captured
4 packets received by filter
0 packets dropped by kernel
[root@ip-172-31-3-107 ~]#