CumulusでVLAN間の通信!
1 VLAN間通信(Routing)
VLANを複数作成して、VLAN間で通信(Routing)をしてみよう!
Labに以下の構成を作成しました。
スイッチの中に3つのVLANを作成して、VLAN同士で通信できるようにします。弊社の取り扱っているストレージエミュレータであるSANBLazeVirtualUNシステムをiSCSIのターゲットにして、2台のWindownサーバの1台(HP)からボリュームをマウントして共有します。もう1台のWindowsサーバ(FJ)からその共有したボリュームをマウントして、IO(Read/Write)を実行しました。3台の装置はおのおのVLAN10、20、100(別セグメント)に所属しております。上記のように通信できることでVLAN間でRoutingして通信ができていることになります。
※ついでに、帯域を確保するため、Windowsサーバからは2本をTeamingしました。
では、まずWindowsから接続されているTeamingのポートをLAG設定します。
一般的なスイッチではLAG(Link Aggregation Group)といいますが、CumulusではBondingと呼ぶんですよ!(Linuxやん!)
WindowsではTeaming、LinuxではBonding、一般的なスイッチではLAG・・・ややこしい!
Cumulus がサポートするLACPのモードは、 IEEE 802.3ad — LACP — Linux Mode 4とBalance-XOR — Static Bonding — Linux Mode 2になります。今回は、Mode4でいきます!
1.1 LAGの設定
/etc/networki/interfacesにBondingの設定を追記します。
auto Cumulus
iface BOND0
bond-slaves swp16 swp17
bridge-vids 20 ←VLAN20に設定
bond-mode 802.3ad
bond-lacp-rate fast
bond-lacp-bypass-allow yes
bond-xmit-hash-policy layer3+4
auto Cumulus2
iface BOND0
bond-slaves swp1 swp2
bridge-vids 10 ←VLAN10に設定
bond-mode 802.3ad
bond-lacp-rate fast
bond-lacp-bypass-allow yes
bond-xmit-hash-policy layer3+4
ついでに、iSCSIターゲット(SANBLaze)のポートも設定!
auto swp7
iface swp7
link-speed 25000
bridge-vids 100 ←VLAN100に設定
1.2 BridgeへBondGroup(LAG)の追加
前回説明したようにCumulusではBodingの設定を記載しただけでは、通信はできません。作ったBondGroupをBrigdeへ登録する必要があります。
/etc/networki/interfacesのBridge部分に追記します
auto bridge
iface bridge
bridge-ports Cumulus Cumulus2 swp7 ←SANBLazeのポートもお忘れなく!
bridge-pvid 10
bridge-vids 10 20 100
bridge-vlan-aware yes
bridge-stp on
1.3 VLANへIPアドレスを設定
各VLANにIPアドレスを設定して接続している機器のデフォルトゲートウェイにしました。
auto vlan10
iface vlan10
address 192.168.110.1/24
vlan-id 10
vlan-raw-device bridge
auto vlan20
iface vlan20
address 192.168.120.1/24
vlan-id 20
vlan-raw-device bridge
auto vlan100
iface vlan100
address 192.168.100.1/24
vlan-id 100
vlan-raw-device bridge
設定が終了したら
#ifreload -a で設定反映
確認は、
#net show int bonds
#net show int bondmems
#net show int
スイッチポート(swp)やBondGroupがアップになっていなかったら以下のコマンド!
#ifup swp1
#ifup Cumulus
#ifreload -a
で起動する。
これで以下のように各機器の通信ができます(icmp)で確認
VLAN間のRoutingは、VLAN-Tagを付加させて(PortはTrunk)同じBridgeに複数のVLANを設定して各VLANにIPアドレスを設定する。
より高度なL3ルーティングをする場合には、オープンソースである“FRR”を使う必要があります。
使用できるダイナミックルーティングプロトコルは、
BGP、OSPFになります。
FRRのVersion確認
#dpkg -l frr
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-=======================-================-================-===================================================
ii frr 4.0+cl3u16 amd64 BGP/OSPF/RIP/RIPng/ISIS/PIM/LDP routing daemon fork
FRRの有効化
/etc/frr/daemons を編集する
#/etc/frr# vi daemons
zebra=no → yes へ変更
bgpd=no BGPを使う場合 yes
ospfd=no OSPFを使う場合 yes
ospf6d=no
ripd=no
ripngd=no
isisd=no
pimd=no
ldpd=no
nhrpd=no
eigrpd=no
babeld=no
sharpd=no
pbrd=no
vrrpd=no
#systemctl restart frr.service ルーティングサービスの再起動
#systemctl reload frr.service /etc/frr/frr.confの変更等の適用
これでFrr(Routing機能)が有効になります。
高度なRoutingに関しては今後の検証しましたら記事にできればと思います。次回は、スイッチの冗長化(MLAG)について説明します。