MACアドレスフラッピング発生時の原因と対処【現場向け完全ガイド】

  • URLをコピーしました!

スイッチ上で 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フラップ調査の流れ」

  1. ログでどのMACが揺れているか確認
  2. MACテーブルで変動を確認
  3. 揺れている2ポートの先の機器を実地確認
  4. STP状態を確認(Forwarding の異常有無)
  5. ポートチャネル構成を確認
  6. 背後機器(AP/IP電話/vSwitch)の構成確認
  7. 必要に応じてポートセキュリティを適用

この手順で 95% のMACフラップは確実に原因特定できます。

■ まとめ(最重要ポイント)

  • MACフラップは多くが L2ループ or チャネル不一致 が原因
  • ログ → MACテーブル → STP → チャネル の順に調査すると早い
  • BPDU Guard / PortFast / Port-Security の設定は有効
  • 仮想基盤の設定ミスもよくある原因

現場では「まず原因地点を高速で切り分ける」ことが重要です。本記事の手順をそのまま使えば、迅速に問題点に到達できます。

目次