ARPブロードキャストフラッディングネットワークと高いCPU使用率


20

ここで誰かが私たちが直面している問題に対する洞察を持っていることを望んでいます。現在、Cisco TACがケースを調査していますが、根本原因を見つけるのに苦労しています。

タイトルにはARPブロードキャストと高いCPU使用率が記載されていますが、この段階でそれらが関連しているかどうかはわかりません。

元の問題はINEオンラインコミュニティに投稿されました

ネットワークを単一のリンクにまとめ、冗長性のないセットアップを行いました。スタートポロジと考えてください。

事実:

  • 1つのスタックに4つの3750xスイッチを使用します。バージョン15.0(1)SE3。Cisco TACは、この特定のバージョンのCPUまたはARPの高いバグに関する既知の問題がないことを確認しています。
  • ハブ/非管理スイッチが接続されていません
  • リロードされたコアスタック
  • デフォルトルート「Ip route 0.0.0.0 0.0.0.0 f1 / 0」はありません。ルーティングにOSPFを使用します。
  • デスクトップデバイスに使用されるVLAN 1、VLAN 1からの大きなブロードキャストパケットが表示されます。192.168.0.0/20を使用します
  • Cisco TACによると、/ 20を使用しても問題は見られないということです。それ以外の場合、大規模なブロードキャストドメインがあるはずですが、機能するはずです。
  • Wifi、管理、プリンターなどはすべて異なるVLAN上にあります
  • スパニングツリーは、Cisco TACおよびCCNP / CCIEの資格を持つ個人によって検証されています。すべての冗長リンクをシャットダウンします。
  • コアの設定は、Cisco TACで検証済みです。
  • ほとんどのスイッチにはデフォルトのARPタイムアウトがあります。
  • Q&Qは実装していません。
  • 新しいスイッチは追加されていません(少なくとも私たちが知っているものはありません)
  • これらは2950であるため、エッジスイッチで動的arp検査を使用できません
  • show interfacesを使用しました| inc line | broadcastが多数のブロードキャストの発信元を特定しますが、Cisco TACと他の2人のエンジニア(CCNPとCCIE)は、ネットワークで何が起こっているか(多数のmacフラップのように)より大きなブロードキャストを引き起こします)。STPがエッジスイッチで正しく機能していることを確認しました。

ネットワークおよびスイッチの症状:

  • 多数のMACフラップ
  • ARP入力プロセスのCPU使用率が高い
  • 急速に増加し、目に見える膨大な数のARPパケット
  • Wiresharksは、数百台のコンピューターがネットワークにARPブロードキャストを殺到していることを示しています
  • テストの目的で、約80台のデスクトップマシンに異なるVLANを配置しましたが、これをテストし、高CPUまたはARP入力に目に見える違いはありませんでした
  • さまざまなAV /マルウェア/スパイウェアを実行しましたが、ネットワーク上で目に見えるウイルスはありません。
  • sh mac address-table countは、vlan 1で予想される約750の異なるMACアドレスを示します。
#sh processes cpu sorted | exc 0.00%
CPU utilization for five seconds: 99%/12%; one minute: 99%; five minutes: 99%

 PID Runtime(ms)     Invoked      uSecs   5Sec   1Min   5Min TTY Process
  12   111438973    18587995       5995 44.47% 43.88% 43.96%   0 ARP Input
 174    59541847     5198737      11453 22.39% 23.47% 23.62%   0 Hulc LED Process
 221     7253246     6147816       1179  4.95%  4.25%  4.10%   0 IP Input
  86     5459437     1100349       4961  1.59%  1.47%  1.54%   0 RedEarth Tx Mana
  85     3448684     1453278       2373  1.27%  1.04%  1.07%   0 RedEarth I2C dri
  • さまざまなスイッチとコア自体(たとえば、デスクトップによって直接接続されたコア、デスクトップ)でMACアドレステーブルを表示すると、インターフェイスに登録されている複数の異なるMACハードウェアアドレスがインターフェイスに登録されていることがわかりますこれに接続された1台のコンピューターのみ:
 Vlan    Mac Address       Type        Ports
 ----    -----------       --------    -----
    1    001c.c06c.d620    DYNAMIC     Gi1/1/3
    1    001c.c06c.d694    DYNAMIC     Gi1/1/3
    1    001c.c06c.d6ac    DYNAMIC     Gi1/1/3
    1    001c.c06c.d6e3    DYNAMIC     Gi1/1/3
    1    001c.c06c.d78c    DYNAMIC     Gi1/1/3
    1    001c.c06c.d7fc    DYNAMIC     Gi1/1/3
  • プラットフォームtcam使用率を表示
 CAM Utilization for ASIC# 0                      Max            Used
                                              Masks/Values    Masks/values

  Unicast mac addresses:                       6364/6364       1165/1165
  IPv4 IGMP groups + multicast routes:         1120/1120          1/1
  IPv4 unicast directly-connected routes:      6144/6144        524/524
  IPv4 unicast indirectly-connected routes:    2048/2048         77/77
  IPv4 policy based routing aces:               452/452          12/12
  IPv4 qos aces:                                512/512          21/21
  IPv4 security aces:                           964/964          45/45

私たちは現在、この奇妙で奇妙な問題の原因または根本原因を特定するアイデアを他の誰かが持っていない限り、各エリアを一度に隔離するために膨大なダウンタイムを必要とする段階にあります。


更新

詳細な対応については、@ MikePenningtonと@RickyBeamに感謝します。私はできることを試みて答えます。

  • 前述のとおり、192.168.0.0 / 20は継承された混乱です。ただし、今後これを分割する予定ですが、残念ながらこの問題は発生する前に発生しました。私も個人的には多数意見に賛成しています。そのため、ブロードキャストドメインが大きすぎます。
  • Arpwatchを使用することは間違いなく試してみることができますが、いくつかのアクセスポートがこのポートに属していなくてもMACアドレスを登録しているため、arpwatchの結論は役に立たない可能性があります。
  • ネットワーク上のすべての冗長リンクと未知のスイッチを100%確実に見つけられないことに完全に同意しますが、私たちの発見としては、これはさらなる証拠を見つけるまで当てはまります。
  • ポートセキュリティが調査されましたが、残念ながら管理者はさまざまな理由でこれを使用しないことにしました。一般的な理由は、コンピューターを常に移動していることです(大学環境)。
  • すべてのアクセスポート(デスクトップマシン)で、デフォルトでスパニングツリーportfastをスパニングツリーbpduguardと組み合わせて使用​​しました。
  • 現在、アクセスポートではスイッチポート非ネゴシエートを使用していませんが、複数のVLANをまたぐVlanホッピング攻撃はありません。
  • mac-address-table通知を実行し、パターンを見つけることができるかどうかを確認します。

「スイッチポート間で多数のMACフラップが発生するため、攻撃者の場所を見つけるのは困難です(大量のarpを送信する2つまたは3つのMACアドレスを見つけたが、ソースMACアドレスはポート間でフラッピングし続けます)。

  • これを開始し、任意の1つのMACフラップを選択し、すべてのコアスイッチからアクセススイッチへのディストリビューションに進みましたが、アクセスポートインターフェイスが複数のMACアドレスを占有しているため、MACフラップが見つかりました。正方形に戻ります。
  • ストーム制御は私たちが考慮したものですが、正当なパケットの一部がドロップされてさらなる問題を引き起こすことを恐れています。
  • VMHost構成をトリプルチェックします。
  • @ytti説明できないMACアドレスは、個人ではなく多くのアクセスポートの背後にあります。これらのインターフェイスでループが見つかりませんでした。MACアドレスは他のインターフェイスにも存在するため、多数のMACフラップが説明されます。
  • @RickyBeam私は、ホストが非常に多くのARP要求を送信している理由に同意します。これは不可解な問題の1つです。ルージュワイヤレスブリッジは、ワイヤレスが別のVLAN上にあることを認識している限り、私が考えていない興味深いブリッジです。しかし、不正は明らかにVLAN1に存在する可能性があることを意味します。
  • @RickyBeam、これは大量のダウンタイムを引き起こすので、すべてを抜いたくありません。しかし、これはちょうどそれが向かっているところです。Linuxサーバーはありますが、3を超えていません。
  • @ RickyBeam、DHCPサーバーの「使用中」プロービングについて説明できますか?

私たち(Cisco TAC、CCIE、CCNP)は、これがスイッチ構成ではなく、ホスト/デバイスが問題を引き起こしていることに世界的に同意しています。


1
私は注意します:ネットワークにループがない限り、macフラップは発生しません。他の唯一の論理的な理由は、同じMACを使用するVMになります。(または、同じMACを使用するように設定された複数のNICを持つボーンヘッド)

@ColdT、元の応答でいくつかのことを読み間違えたため、答えを更新しました。
マイクペニントン

多くのポートの背後で説明できないMACアドレスが多数発生していますか?ポートがループしていませんか?MACアドレスはそのポートの後ろにとどまりますか、それとも他のポートの後ろにも表示されますか?ARPのPCAPはありますか?多数のMACフラップは確かにまったく正常ではありません。これは、トポロジが変化し続けるか、ネットワークに管理されていないループがあることを意味します。

1
@ColdT、ポートセキュリティに関する管理者と再度関わり合うべきだと思います。具体的には、PCがスイッチポート間を移動できる構成を提供しました。 switchport port-security aging time 5そしてswitchport port-security aging type inactivity、5分間非アクティブになった後、またはポートセキュリティエントリを手動でクリアした場合、ステーションをポート間で移動できることを意味します。ただし、この構成では、ポートが異なるポートから同じmac-addressを任意に送信できないため、スイッチのアクセスポート間でmacフラップが防止されます。
マイクペニントン

また、同じIPアドレスに対して異なるARPが存在しない限り、arpwatchはフリップフロップを登録しないことに注意してください。理由に関係なく、いつそれが起こるかを知る必要があります。単なるMACフラッドでは、arpwatchを混乱させるには不十分です
マイクペニントン

回答:


12

解決しました。

問題は、SCCM 2012 SP1、ConfigMrg Wake-Up Proxyというサービスにあります。「機能」にはSCCM 2012 RTMが存在しません。

ポリシー内でこれをオフにしてから4時間以内に、CPU使用率が着実に低下しました。4時間が経過するまでに、ARPの使用量は1〜2%に過ぎませんでした。

要約すると、このサービスはMACアドレスのスプーフィングを行います!それがどれほどの大混乱を引き起こしたか信じられない。

以下は、Microsoft Technetの全文です。投稿された問題とこれがどのように関係するかを理解することが重要だと感じています。

興味のある方のために、技術的な詳細を以下に示します。

Configuration Managerは、従来のウェイクアップパケットとAMT電源投入コマンドなど、ソフトウェアの更新やアプリケーションなどの必要なソフトウェアをインストールするときにスリープモードでコンピューターをウェイクアップする2つのウェイクオンローカルエリアネットワーク(LAN)テクノロジーをサポートしています。

Configuration Manager SP1以降では、ウェイクアッププロキシクライアント設定を使用して、従来のウェイクアップパケット方式を補完できます。ウェイクアッププロキシは、ピアツーピアプロトコルと選択されたコンピューターを使用して、サブネット上の他のコンピューターが起動しているかどうかを確認し、必要に応じて起動します。サイトがWake On LAN用に構成され、クライアントがウェイクアッププロキシ用に構成されている場合、プロセスは次のように機能します。

  1. Configuration Manager SP1クライアントがインストールされ、サブネット上でスリープしていないコンピューターは、サブネット上の他のコンピューターが起動しているかどうかを確認します。これは、5秒ごとにTCP / IP pingコマンドを相互に送信することで行われます。

  2. 他のコンピューターから応答がない場合、それらはスリープ状態にあると見なされます。起動しているコンピューターは、サブネットのマネージャーコンピューターになります。

  3. スリープ状態以外の理由(たとえば、電源がオフになっている、ネットワークから削除されている、プロキシウェイクアップクライアントの設定が適用されていないなど)のためにコンピューターが応答しない可能性があるため、コンピューターは毎日現地時間の午後2時にウェイクアップパケットを送信しました。応答しないコンピューターは、スリープ状態にあると見なされなくなり、ウェイクアッププロキシによってウェイクアップされなくなります。

ウェイクアッププロキシをサポートするには、サブネットごとに少なくとも3台のコンピューターが起動している必要があります。これを実現するために、3つのコンピューターがサブネットのガーディアンコンピューターとして非決定的に選択されます。これは、一定の非アクティブ期間の後、スリープまたは休止状態に設定された電源ポリシーにもかかわらず、彼らが起きていることを意味します。Guardianコンピューターは、たとえば、保守タスクの結果として、シャットダウンまたは再起動コマンドを受け入れます。この場合、残りのガーディアンコンピューターはサブネット上の別のコンピューターを起動し、サブネットに3つのガーディアンコンピューターが引き続き存在するようにします。

マネージャーコンピューターは、ネットワークスイッチに、スリープ状態のコンピューターのネットワークトラフィックを自分自身にリダイレクトするように要求します。

リダイレクトは、スリープ状態のコンピューターのMACアドレスをソースアドレスとして使用するイーサネットフレームをブロードキャストするマネージャーコンピューターによって実現されます。これにより、ネットワークスイッチは、スリープ状態のコンピューターがマネージャーコンピューターと同じポートに移動したかのように動作します。また、マネージャーコンピューターは、スリープ状態のコンピューターにARPパケットを送信して、ARPキャッシュのエントリを最新の状態に保ちます。マネージャーコンピューターは、スリープしているコンピューターに代わってARP要求に応答し、スリープしているコンピューターのMACアドレスで応答します。

このプロセス中、スリープ状態のコンピューターのIP-to-MACマッピングは同じままです。ウェイクアッププロキシは、別のネットワークアダプターが別のネットワークアダプターによって登録されたポートを使用していることをネットワークスイッチに通知することで機能します。ただし、この動作はMACフラップと呼ばれ、標準のネットワーク操作では珍しいです。一部のネットワーク監視ツールはこの動作を探し、何かが間違っていると想定できます。したがって、これらの監視ツールは、ウェイクアッププロキシを使用するときにアラートを生成したり、ポートをシャットダウンしたりできます。ネットワーク監視ツールおよびサービスでMACフラップが許可されていない場合は、ウェイクアッププロキシを使用しないでください。

  1. マネージャーコンピューターがスリープ状態のコンピューターの新しいTCP接続要求を確認し、スリープ状態になる前にスリープ状態のコンピューターがリッスンしていたポートに対する要求である場合、マネージャーコンピューターはスリープ状態のコンピューターにウェイクアップパケットを送信し、その後、このコンピューターへのトラフィックのリダイレクトを停止します。

  2. スリープ状態のコンピューターは、起動パケットを受信して​​起動します。送信コンピューターは自動的に接続を再試行しますが、今回はコンピューターが起動しており、応答できます。

参照:http : //technet.microsoft.com/en-us/library/dd8eb74e-3490-446e-b328-e67f3e85c779#BKMK_PlanToWakeClients

ここに投稿し、トラブルシューティングプロセスを支援してくださった皆様、ありがとうございました。


あなたは答えに本質を入れませんでした:どのようにその機能をオフにしますか?
オーバーマインド

10

ARP /ブロードキャストストーム

  • デスクトップデバイスに使用されるVLAN 1、VLAN 1からの大きなブロードキャストパケットが表示されます。192.168.0.0/20を使用します...
  • Wiresharksは、何百台ものコンピューターがARPブロードキャストでネットワークをフラッディングしていることを示しています...

ARP入力プロセスが高いため、スイッチはARPの処理に多くの時間を費やしています。ARPフラッディングの非常に一般的な原因の1つは、スイッチ間のループです。ループがある場合は、上記のmacフラップも取得できます。ARPフラッドのその他の考えられる原因は次のとおりです。

まず、上記の設定ミスやレイヤー2攻撃の可能性を排除します。これを行う最も簡単な方法は、Linuxマシンでarpwatchを使用することです(ラップトップでlivecdを使用する必要がある場合でも)。構成の誤りまたはレイヤー2攻撃がある場合、arpwatchはsyslogに次のようなメッセージを表示し、同じIPアドレスを争っているmacアドレスを一覧表示します...
Oct 20 10:31:13 tsunami arpwatch: flip flop 192.0.2.53 00:de:ad:85:85:ca (00:de:ad:3:d8:8e)

「フリップフロップ」が表示されたら、MACアドレスのソースを追跡し、それらが同じIP上で争っている理由を把握する必要があります。

  • 多数のMACフラップ
  • スパニングツリーは、Cisco TACおよびCCNP / CCIEの資格を持つ個人によって検証されています。すべての冗長リンクをシャットダウンします。

私が思い出したい以上にこれを経験した人として、冗長なリンクをすべて見つけたと仮定しないでください...スイッチポートが常に動作するようにしてください。

スイッチポート間で多数のMACフラップが発生するため、攻撃者がどこにいるかを見つけるのは困難です(大量のarpを送信する2つまたは3つのMACアドレスを見つけたが、ソースMACアドレスはポート間でフラッピングし続けます)。エッジポートごとにMACアドレスにハード制限を適用しない場合、ケーブルを手動で抜かないでこれらの問題を追跡することは非常に困難です(これは避けたいことです)。スイッチループはネットワークに予期しないパスを引き起こし、通常はデスクトップスイッチポートであるはずのものから断続的に学習する数百台のMacで終わる可能性があります。

mac-movesを遅くする最も簡単な方法はを使用することport-securityです。単一のPC(ダウンストリームスイッチなし)に接続されているVlan 1のすべてのアクセススイッチポートで、Ciscoスイッチで次のインターフェイスレベルのコマンドを設定します...

switchport mode access
switchport access vlan 1
!! switchport nonegotiate disables some Vlan-hopping attacks via Vlan1 -> another Vlan
switchport nonnegotiate
!! If no IP Phones are connected to your switches, then you could lower this
!!   Beware of people with VMWare / hubs under their desk, because 
!!   "maximum 3" could shutdown their ports if they have more than 3 macs
switchport port-security maximum 3
switchport port-security violation shutdown
switchport port-security aging time 5
switchport port-security aging type inactivity
switchport port-security
spanning-tree portfast
!! Ensure you don't have hidden STP loops because someone secretly cross-connected a 
!!   couple of desktop ports
spanning-tree bpduguard enable

ほとんどのmac / ARPフラッディングの場合、この構成をすべてのエッジスイッチポート(特にportfastを使用)に適用すると、3つのmac-addressを超えるポートがシャットダウンされ、密かに無効になるため、正常な状態に戻ります。ループPortfastポート。ポートごとに3台のMacが私のデスクトップ環境でうまく機能しますが、10に増やしても問題ないでしょう。これを行った後、レイヤー2のループはすべて壊れ、急速なMacフラップは停止し、診断がはるかに簡単になります。

ブロードキャストストーム(mac-move)およびフラッディング(しきい値)に関連するポートを追跡するのに役立つ別のグローバルコマンドのカップル...

mac-address-table notification mac-move
mac address-table notification threshold limit 90 interval 900

終了したら、オプションでを実行しclear mac address-tableて、潜在的にフルのCAMテーブルからの回復を加速します。

  • さまざまなスイッチとコア自体(たとえば、デスクトップに直接接続されたコア、デスクトップ)でMACアドレステーブルを表示すると、そのインターフェイスがこれに接続されているコンピューターは1台だけです...

この全体の答えは、3750に問題の原因となるバグがないことを前提としています(しかし、wiresharkはフラッディングしているPCを示していると言いました)。Gi1 / 1/3にコンピューターが1台しか接続されていない場合、そのPCにVMWareのようなものが含まれていない限り、明らかにしていることは明らかに間違っています。

その他の考え

チャットでの会話に基づいて、私はおそらく明白なことを言及する必要はありませんが、将来の訪問者のために...

  • Vlan1にユーザーを配置することは通常、悪い考えです(混乱を継承している可能性があることを理解しています)
  • TACからの通知に関係なく、192.168.0.0 / 20は大きすぎて、レイヤー2攻撃のリスクなしに単一のスイッチドドメインで管理できません。ARPは認証されていないプロトコルであり、ルーターは少なくともそのサブネットから有効なARPを読み取る必要があるため、サブネットマスクが大きいほど、このようなレイヤー2攻撃にさらされる可能性が高くなります。
  • レイヤー2ポートのストーム制御も通常、良いアイデアです。ただし、このような状況でストーム制御を有効にすると、良好なトラフィックと悪いトラフィックが排除されます。ネットワークが回復したら、エッジポートとアップリンクにいくつかのストーム制御ポリシーを適用します。

1
実際、彼のTCAMは上限に達していません。最初の列は最大、2番目は現在の使用です。マスクと値の部分は無視できます。ここからは、「単純な」Arpストームのように聞こえますが、彼のトポロジと実際のトラフィックの知識がなければ、その理由は推測できません。

2

本当の問題は、そもそもなぜホストが非常に多くのARPを送信しているのかということです。これが答えられるまで、スイッチはarpストームの処理に苦労し続けます。ネットマスクの不一致?低ホストarpタイマー?「インターフェース」ルートを持つ1つ(または複数)のホスト?どこかに巨大なワイヤレスブリッジがありますか?「無償のARP」は狂っていますか?DHCPサーバーの「使用中」プロービング?スイッチやレイヤー2の問題とは思えません。悪いことをしているホストがいます。

デバッグプロセスでは、すべてを取り外し、一度に1ポートずつ、再接続されるのを注意深く観察します。(私はそれが理想から何マイルも離れていることを知っていますが、ある時点で損失を削減し、可能性のあるソースを物理的に隔離する必要があります)次に、選択ポートがいくつかのARPを生成する理由を理解するように努力します。

(これらのホストの多くはたまたまLinuxシステムでしょうか?Linuxには非常に複雑な愚かなARPキャッシュ管理システムがあります。ほんの数分でエントリを「再検証」するという事実は私の本では壊れています。 。小規模ネットワークではそれほど問題になりませんが、/ 20は小規模ネットワークではありません。


1

これは手元の問題に関連している場合と関連していない場合がありますが、少なくともそこに捨てる価値があると考えました。

現在、リモートサイトのいくつかに3750xがかなり積み重なっており、ほとんどが15.0.2を実行しています(SE0から4、SE0にはFRUのバグがいくつかあり、徐々に移行しています)。

15.0.2から15.2-1(最新のSE)に移行するIOSの定期的なアップデート中に、オフピーク時に平均で約30%から60%以上のCPUの大幅な増加に気付きました。設定とIOS変更ログを確認し、シスコのTACと連携しています。TACによると、彼らはこれがIOS 15.2-1のバグであると信じている時点にあるようです。

CPUの増加を調査し続けると、ARPテーブルが完全にいっぱいになり、ネットワークが不安定になるまで、大量のARPトラフィックが見られるようになりました。このための一時的な松葉杖は、音声およびデータVLANのARPタイムアウトをデフォルト(14400)から300に手動で戻すことでした。

ARPタイムアウトを減らした後、1週間ほど安定しました。その時点でIOS 15.0.2-SE4に戻り、デフォルト以外のARPタイムアウトを削除しました。CPU使用率は約30%に戻っており、ARPテーブルの問題は存在しません。


おもしろい話...共有してくれてありがとう。ただし、バグIDを追加すると、OPが公開されているかどうかを見分けやすくなります。参考までに、ARPタイムアウトをCAMタイマーよりも低く保つことをお勧めします。
マイクペニントン

コメントありがとうございますが、元の問題に照らして、現在スタック全体でより低いIOSバージョンを使用しており、かなり安定しています。@MikePenningtonはデフォルトでARPタイムアウトが4時間に設定され、CAMタイムアウトが5分に設定されていますか?そうではありませんか?
コールドT

@ColdT、だから私はこれについて言及しました。一部のHSRPの場合、CiscoのCAM / ARPタイマーはデフォルトで問題を解決します。特に説得力のある理由がない限りarp timeout 240、スイッチに面しているすべてのSVI / L3インターフェイスに設定します。
マイクペニントン

0

失敗するシンプルなものですが、見落とされているかもしれません。クライアントに有効なデフォルトゲートウェイがありますか。多くのプロキシarpを実行しているコアではありません。3750でIPプロキシARP機能を無効にすることを検討できますか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.