CumulusLinux
ホワイトボックススイッチ

Cumulus Linuxを使ったネットワーク構築(L2セットアップ編)

More than 1 year has passed since last update.


はじめに

この記事は、Cumulus Linuxを使ったネットワーク構築(導入編)の続きです。

今回は初期セットアップが終わってswitchdが起動している状態から、

フロントポートの設定を行いL2で通信できるようにします。


完成予定図

spine-leaf.jpg


  • Spine-Leaf間は、10Gを4本束ねて40Gbpsで接続

  • Spine-Leaf間は、eBGP(unnumberd)で設定

  • メンテナンス性を考慮しLeaf01,02とLeaf03,04でセットとし、サーバのNICをbondingする


フロントポートの設定


  • Cumulus Linuxをインストールすると、フロントのポートはswpXXというポート名で認識されます

  • インストール直後は/etc/network/interfacesには、
    フロントのswpポートの設定は記述されていません
    このファイルを設定することで、フロントポートの設定を行うことができます


/etc/network/interfacesの書き方

このファイルの書き方は、debian系の書き方と基本的に同じです。


設定ファイル記述例

下記のように設定ファイルを書きます。


/etc/network/interfacesの記述例

# Management interface

auto eth0
iface eth0
address 10.0.0.10/24
gateway 10.0.0.1

# Front Port(swpXX)
auto swp1
iface swp1

auto swp2
iface swp2


インストール直後は、Front Portはファイルに記述されていません。

使用するポートについて都度記述する必要があります。

この設定などは、ansibleなどの構成管理ツールで管理すると便利です。


ブリッジインタフェースの作成

上記の例では、起動時にポートがUpします。

ただし、この状態では2つのポート間はL2で通信できません。

ポート間の通信を可能にするには、スイッチ上にブリッジを作成して

通信させるポートを指定する必要があります。


/etc/network/interfacesブリッジ例

〜上記例に追記〜

# bridgeインタフェースの作成
auto bridge
iface bridge
bridge-ports swp1 swp2
bridge-pvid 1
bridge-vids 1-100
bridge-vlan-aware yes
bridge-stp on

bridge.jpg

このように設定することで、swp1とswp2はbridgeインタフェースを介して

通信できるようになります。


 ブリッジ設定の詳細

設定しているブリッジインターフェースについて掘り下げてみたいと思います。


  • bridge-ports

bridge-ports swp1 swp2

このブリッジに接続するポートを指定しています。


  • bridge-pvid

bridge-pvid 1

ブリッジのデフォルトVLAN IDを指定します。


  • bridge-vids

bridge-vids 1-100

ブリッジで通信を許可するVLAN IDを指定します。

ここで指定しているVLAN ID以外のvlanの通信は行なえません。


  • bridge-vlan-aware

bridge-vlan-aware yes

この設定で、ブリッジインタフェースが”Trunk”として動作するようにしています。


  • bridge-stp

bridge-stp on

ブリッジでSTPを動作させます。

これ以外にも、bridgeに関する設定項目がありますがここでは割愛します。


VLANの設定


untagged portの設定

portをuntagged で設定するには、以下のように記述します

auto swp1

iface swp1
bridge-access 10

bridge-accessでVLAN IDを指定することにより、

swp1のポートはVLAN ID 10のuntagged portとして設定されます。


tagged port の設定

tagged portとして、ポートにVLAN IDを割り当てる場合は、

以下のように設定します。

auto swp1

iface swp1
bridge-vids 10

bridge-vidsでVLAN IDを指定することにより、

swp1のポートはVLAN ID 10のtagged portとして設定されます。

これによりこのポートはVLAN ID 10の設定をしている機器としか通信できません。


Trunk portについて

bridgeインタフェースを設定する際に、

bridge-vlan-awareで”yes”と設定し、

bridge-portsで指定した物理ポート(swpXX)は、

インタフェースの設定時にbrige-accessの設定を行わない限り

Trunk Portとして動作します。


今回のまとめ

今回は、/etc/network/interfacesファイルの記述方法を通して、

L2の設定方法について書いてみました。

通常のスイッチの場合、VLAN IDを共通にしたポート間はそのままで通信できます。

しかしCumulus Linuxの場合ブリッジインタフェースを作成し、

ポートを指定する必要があるなど、

設定の考え方が若干異なるので、注意が必要でした。

ちなみに、interfacesファイルの記述については、

ansibleなどの構成管理ツールで一元管理すると便利です。

mako scriptなどで記述を省略することも可能なので、

その点については次回書いていきたいと思います。