異なるベンダーのL2スイッチの接続時に発生した問題

異なるベンダーのL2スイッチの接続時に発生した問題

先日仕事中に遭遇した事象があり、備忘録代わりにここにも書いておこうかなと思います。
けっこう同様の事象が発生しがちなようなので、、、

なにがおきたかと言うと、某メーカーのL2スイッチと異なるメーカーのL2スイッチに同一VLANを設定しました。
【PC】ー【L2スイッチ①】ー【L2スイッチ②】
このように接続し【PC】ー【L2スイッチ①】は管理コントロールポートにコンソールケーブルで接続し
【L2スイッチ①】ー【L2スイッチ②】間は同一VLANの設定をしたポートをLANケーブルで接続しています。

●L2スイッチの状況
L2スイッチ①-192.168.55.aa/24(対象のポートとVLANはupしていることを確認済み)
L2スイッチ②-192.168.55.bb/24(対象のポートとVLANはupしていることを確認済み)
それぞれ上記のようなIP設定をvlan55とし各スイッチの対象のポートに振りました。

この設定のAccessポート同士を接続するとコンソール接続画面に以下のエラーが表示されました。
『%SPANTREE-2-RECV_1Q_NON_TRUNK: Received IEEE 802.1Q BPDU on non trunk FastEthernet** on vlan *.』
VLANポートのBDPUの不一致が検出されたことによるエラーのようです。

試しにpingを打ってみても自身のVLANはリンクアップしているので応答があるのですが対向のIPへのpingはタイムアウトになっていしまってます、、

さてここで問題なのがAccessポート(VLANを一つしか割り当てていない)同士を接続しているのに不一致がなぜ起こってしまうのかというとL2スイッチ①の方がベンダーの使用の都合で他社製品と接続する際に『PVST』がAccessポートをtrunkポートとして認識してしまう仕様のようでした、、
※PVSTとは簡単に言うとVLAN単位でのスパニングツリーを構成する機能とのこと。ネットワークの冗長化、ループ防止を考慮する上で重要な機能です。
今回の動きで他社のスイッチからくるタグ無しのパケットを、タグ付きと誤解しBlockする機能が働いているようです。

この問題を解決するにあたり策としては大きく分けると2通りがあげられます。
・L2スイッチ①の設定のでSTPをVLAN指定で無効にする。
・L2スイッチ②の設定VLANInterfaceごとに出力使用を明示的に設定する。

L2スイッチ①の側の設定を変える方が手間は少ないのですがSTPを無効にのでループが発生しうる構成では行えない方法になりますね。
今回はループが発生しない構成だったのでSTPを無効にすることで無事すべての機器でpingが通り接続されていることが確認できました!

調べてみると対処法は簡単なものでしたがはじめは何度設定を見直しても接続できるはずの構成なので首をかしげていました、、
他社製品が絡むような状況でのみ発生するようですが出来るだけこういった仕様は規格として統一されていると利用側としては嬉しいな、いったお話でした。

同様の事象にあたたった方の助けに少しでもなれればよいなと思います。。