はじめに
この記事は、Cumulus Linuxを使ったネットワーク構築(導入編)の続きです。
今回は初期セットアップが終わってswitchdが起動している状態から、
フロントポートの設定を行いL2で通信できるようにします。
完成予定図
- 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系の書き方と基本的に同じです。
設定ファイル記述例
下記のように設定ファイルを書きます。
# 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で通信できません。
ポート間の通信を可能にするには、スイッチ上にブリッジを作成して
通信させるポートを指定する必要があります。
〜上記例に追記〜
# bridgeインタフェースの作成
auto bridge
iface bridge
bridge-ports swp1 swp2
bridge-pvid 1
bridge-vids 1-100
bridge-vlan-aware yes
bridge-stp on
このように設定することで、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などで記述を省略することも可能なので、
その点については次回書いていきたいと思います。