スイッチ上で MACアドレスフラッピング(MAC Flapping) が発生すると、通信断・不安定・遅延などの重大な障害につながります。本記事では、実務でよく遭遇する原因と、現場で使える確認手順・対処方法をまとめています。
■ MACアドレスフラッピングとは?
1つのMACアドレスが、短時間に複数ポートで学習され続ける現象です。
例:
MAC 0011.2233.4455 が Gi1/0/1 → Gi1/0/3 → Gi1/0/1 ... と高速に変動
スイッチは「このMACはどのポートなのか」を判断できず、フレーム転送が不安定になり通信トラブルが発生します。
■ よくある原因
1. ループ(STP不整合・不正な接続)
最も多い原因。以下のようなパターンで発生します:
- 誤配線でL2ループが発生
- STPが無効化されているアクセスポートのループ
- ハブ/L2スイッチが誤って二重接続されている
2. ポートチャネル(LACP/EtherChannel)の設定不一致
片側はLACP、片側は静的設定など、チャネル条件が合わないとMACが行き来しフラップします。
3. IP電話や無線APの内部スイッチング
複数端末が接続されている場合、上位SWでMACが揺れることがあります。
4. 仮想基盤(VMware/KVM)での誤設定
vSwitch側の設定ミス(Promiscuous Mode、複数uplink間の誤った構成など)が原因でMACが揺れることがあります。
5. 攻撃(MAC Flooding / MITM)
DoS目的の攻撃によりMACテーブルが揺れるケースも存在します。
■ 障害が起きた時の症状
- 特定端末だけ通信が不安定になる
- ARP解決が失敗したり不安定
- スイッチログに Flapping のエラーが大量に出る
- 音声(IP電話)が途切れる
- L2機器でCPU負荷が高騰する
■ まず確認すべきログ(Cisco例)
フラッピングが発生すると、以下のようなログが出ます:
%SW_MATM-4-MACFLAP_NOTIF: Host 0011.2233.4455 in vlan 10 is flapping between port Gi1/0/1 and port Gi1/0/3
このログだけで「どのMACが」「どのポート間で揺れているか」がわかります。
■ 現場で使う確認コマンド(Cisco)
1. MACアドレステーブルの確認
show mac address-table dynamic | include 0011.2233.4455
MACが数秒単位で別ポートに表示されればフラップ確定です。
2. インターフェースのエラー状況
show interface counters errors
片側だけ異常な増加 → ケーブル不良やループの兆候です。
3. STP の状態確認
show spanning-tree vlan 10
同一VLANで複数のポートが Forwarding になっていないか確認します。
4. ポートチャネルの確認
show etherchannel summary
「(P)付きで並んでいるか」「不一致で (I) になっていないか」を確認します。
■ 典型的な原因別の対処方法
▼ ケース1:物理ループ
■ 対処
- STPの有効化(特にアクセスポート)
- BPDU Guard の設定
- 誤配線の調査(実ケーブルのトレース)
■ 設定例(BPDU Guard)
interface range Gi1/0/1 - 24
spanning-tree portfast
spanning-tree bpduguard enable
▼ ケース2:LACP/EtherChannelの設定不一致
- 両端の設定モードが一致しているか確認
- 速度/duplex/VLANの不一致を確認
■ 正常例
show etherchannel summary
Group Port-channel Protocol Ports
------+-------------+----------+-----------------------
1 Po1(SU) LACP Gi1/0/1(P) Gi1/0/2(P)
(P) が揃っていれば正常。
▼ ケース3:無線AP / IP電話の背後に複数端末がいる場合
- AP内部スイッチのループを解消
- 電話機のPCポート利用状況を確認
▼ ケース4:仮想基盤(VMware)
次の設定をチェックします:
- 透過モード(Promiscuous Mode)
- 複数Uplinkのロードバランス設定
- vSwitchと物理SWでのチーミングの一致
▼ ケース5:攻撃(MAC Flooding)
異常なMAC数が急増していないか確認:
show mac address-table count
ポートセキュリティで制限可能:
interface Gi1/0/10
switchport port-security
switchport port-security maximum 3
switchport port-security violation restrict
■ 現場で使える「MACフラップ調査の流れ」
- ログでどのMACが揺れているか確認
- MACテーブルで変動を確認
- 揺れている2ポートの先の機器を実地確認
- STP状態を確認(Forwarding の異常有無)
- ポートチャネル構成を確認
- 背後機器(AP/IP電話/vSwitch)の構成確認
- 必要に応じてポートセキュリティを適用
この手順で 95% のMACフラップは確実に原因特定できます。
■ まとめ(最重要ポイント)
- MACフラップは多くが L2ループ or チャネル不一致 が原因
- ログ → MACテーブル → STP → チャネル の順に調査すると早い
- BPDU Guard / PortFast / Port-Security の設定は有効
- 仮想基盤の設定ミスもよくある原因
現場では「まず原因地点を高速で切り分ける」ことが重要です。本記事の手順をそのまま使えば、迅速に問題点に到達できます。



