MAC ACL の設定

この章では、Cisco NX-OS デバイスの MAC アクセス コントロール リスト(ACL)を設定する手順について説明します。

この章の内容は、次のとおりです。

MAC ACL について

MAC ACL は、パケットのレイヤ 2 ヘッダーを使用してトラフィックをフィルタリングする ACL です。バーチャライゼーションのサポートなど、MAC ACL の基本的な機能の多くは IP ACL と共通です。

関連コンセプト
ACL について

MAC パケット分類

MAC パケット分類により、レイヤ 2 インターフェイス上の MAC ACL を、IP トラフィックなどインターフェイスに入るすべてのトラフィックに適用するか、非 IP トラフィックだけに適用するかを制御できます。

MAC パケット分類の状態 インターフェイスでの効果

イネーブル

  • インターフェイス上の MAC ACL は、IP トラフィックなどインターフェイスに入るすべてのトラフィックに適用されます。

  • IP ポート ACL をインターフェイスで適用できません。

ディセーブル

  • インターフェイス上の MAC ACL は、インターフェイスに入る非 IP トラフィックだけに適用されます。

  • IP ポート ACL をインターフェイスで適用できます。

MAC ACL のライセンス要件

次の表に、この機能のライセンス要件を示します。

製品

ライセンス要件

Cisco NX-OS

MAC ACL にはライセンスは必要ありません。ライセンス パッケージに含まれていない機能は nx-os イメージにバンドルされており、無料で提供されます。Cisco NX-OS ライセンス方式の詳細については、Cisco NX-OS Licensing Guide』を参照してください。

MAC ACL の注意事項と制約事項

MAC ACL の設定に関する注意事項と制約事項は次のとおりです。

  • MAC ACL は入トラフィックだけに適用されます。

  • 適用する ACL エントリが多すぎると、設定が拒否される可能性があります。

  • MAC パケット分類は、MAC ACL が VACL の一部として適用されている場合、サポートされません。

  • MAC パケット分類は、Cisco Nexus 9300 シリーズ スイッチの 40G アップリンク ポートでの QoS ポリシーの一致基準として MAC ACL が使用されている場合、サポートされません。

MAC ACL のデフォルト設定

次の表に、MAC ACL パラメータのデフォルト設定を示します。



表 1 MAC ACL のデフォルト パラメータ

パラメータ

デフォルト

MAC ACL

デフォルトでは MAC ACL は存在しません。

ACL ルール

すべての ACL に暗黙のルールが適用されます。

MAC ACL の設定

MAC ACL の作成

MAC ACL を作成し、これにルールを追加できます。

手順の概要

    1.    configure terminal

    2.    macaccess-listname

    3.    {permit | deny} sourcedestination-protocol

    4.    (任意) statistics per-entry

    5.    (任意) show mac access-listsname

    6.    (任意) copy running-config startup-config


手順の詳細
     コマンドまたはアクション目的
    ステップ 1configure terminal


    例:
    switch# configure terminal
    switch(config)#
     

    グローバル コンフィギュレーション モードを開始します。

     
    ステップ 2macaccess-listname


    例:
    switch(config)# mac access-list acl-mac-01
    switch(config-mac-acl)#
     

    MAC ACL を作成して、ACL コンフィギュレーション モードを開始します。

     
    ステップ 3{permit | deny} sourcedestination-protocol


    例:
    switch(config-mac-acl)# permit 00c0.4f00.0000 0000.00ff.ffff any
     

    MAC ACL 内にルールを作成します。

    permit コマンドと deny コマンドには、トラフィックを識別するための多くの方法が用意されています。

     
    ステップ 4statistics per-entry


    例:
    switch(config-mac-acl)# statistics per-entry
     
    (任意)

    その ACL のルールと一致するパケットのグローバル統計をデバイスが維持するように設定します。

     
    ステップ 5show mac access-listsname


    例:
    switch(config-mac-acl)# show mac access-lists acl-mac-01
     
    (任意)

    MAC ACL の設定を表示します。

     
    ステップ 6copy running-config startup-config


    例:
    switch(config-mac-acl)# copy running-config startup-config
     
    (任意)

    実行コンフィギュレーションを、スタートアップ コンフィギュレーションにコピーします。

     

    MAC ACL の変更

    MAC ACL をデバイスから削除できます。

    はじめる前に

    MAC ACL が設定されているインターフェイスを探すには、summary キーワードを指定して show mac access-lists コマンドを使用します。

    手順の概要

      1.    configure terminal

      2.    macaccess-listname

      3.    (任意) [sequence-number] {permit | deny} sourcedestination-protocol

      4.    (任意) no {sequence-number | {permit | deny} sourcedestination-protocol}

      5.    (任意) [no] statistics per-entry

      6.    (任意) show mac access-listsname

      7.    (任意) copy running-config startup-config


    手順の詳細
       コマンドまたはアクション目的
      ステップ 1configure terminal


      例:
      switch# configure terminal
      switch(config)#
       

      グローバル コンフィギュレーション モードを開始します。

       
      ステップ 2macaccess-listname


      例:
      switch(config)# mac access-list acl-mac-01
      switch(config-mac-acl)#
       

      名前で指定した ACL の ACL コンフィギュレーション モードを開始します。

       
      ステップ 3[sequence-number] {permit | deny} sourcedestination-protocol


      例:
      switch(config-mac-acl)# 100 permit mac 00c0.4f00.00 0000.00ff.ffff any
       
      (任意)

      MAC ACL 内にルールを作成します。シーケンス番号を指定すると、ACL 内のルール挿入位置を指定できます。シーケンス番号を指定しないと、ルールは ACL の末尾に追加されます。

      permit コマンドと deny コマンドには、トラフィックを識別するための多くの方法が用意されています。

       
      ステップ 4no {sequence-number | {permit | deny} sourcedestination-protocol}


      例:
      switch(config-mac-acl)# no 80
       
      (任意)

      指定したルールを MAC ACL から削除します。

      permit コマンドと deny コマンドには、トラフィックを識別するための多くの方法が用意されています。

       
      ステップ 5[no] statistics per-entry


      例:
      switch(config-mac-acl)# statistics per-entry
       
      (任意)

      その ACL のルールと一致するパケットのグローバル統計をデバイスが維持するように設定します。

      no オプションを使用すると、デバイスはその ACL のグローバル統計の維持を停止します。

       
      ステップ 6show mac access-listsname


      例:
      switch(config-mac-acl)# show mac access-lists acl-mac-01
       
      (任意)

      MAC ACL の設定を表示します。

       
      ステップ 7copy running-config startup-config


      例:
      switch(config-mac-acl)# copy running-config startup-config
       
      (任意)

      実行コンフィギュレーションを、スタートアップ コンフィギュレーションにコピーします。

       

      MAC ACL 内のシーケンス番号の変更

      MAC ACL 内のルールに付けられたすべてのシーケンス番号を変更できます。ACL にルールを挿入する必要がある場合で、シーケンス番号が不足しているときは、再割り当てすると便利です。

      手順の概要

        1.    configure terminal

        2.    resequence mac access-listnamestarting-sequence-numberincrement

        3.    (任意) show mac access-listsname

        4.    (任意) copy running-config startup-config


      手順の詳細
         コマンドまたはアクション目的
        ステップ 1configure terminal


        例:
        switch# configure terminal
        switch(config)#
         

        グローバル コンフィギュレーション モードを開始します。

         
        ステップ 2resequence mac access-listnamestarting-sequence-numberincrement


        例:
        switch(config)# resequence mac access-list acl-mac-01 100 10
         

        ACL 内に記述されているルールにシーケンス番号を付けます。starting-sequence number に指定したシーケンス番号が最初のルールに付けられます。後続の各ルールには、直前のルールよりも大きい番号が付けられます。番号の間隔は、指定した増分によって決まります。

         
        ステップ 3show mac access-listsname


        例:
        switch(config)# show mac access-lists acl-mac-01
         
        (任意)

        MAC ACL の設定を表示します。

         
        ステップ 4copy running-config startup-config


        例:
        switch(config)# copy running-config startup-config
         
        (任意)

        実行コンフィギュレーションを、スタートアップ コンフィギュレーションにコピーします。

         

        MAC ACL の削除

        MAC ACL をデバイスから削除できます。

        手順の概要

          1.    configure terminal

          2.    nomacaccess-listname

          3.    (任意) show mac access-listsnamesummary

          4.    (任意) copy running-config startup-config


        手順の詳細
           コマンドまたはアクション目的
          ステップ 1configure terminal


          例:
          switch# configure terminal
          switch(config)#
           

          グローバル コンフィギュレーション モードを開始します。

           
          ステップ 2nomacaccess-listname


          例:
          switch(config)# no mac access-list acl-mac-01
          switch(config)#
           

          名前で指定した MAC ACL を実行コンフィギュレーションから削除します。

           
          ステップ 3show mac access-listsnamesummary


          例:
          switch(config)# show mac access-lists acl-mac-01 summary
           
          (任意)

          MAC ACL の設定を表示します。ACL がインターフェイスに引き続き適用されている場合は、インターフェイスが表示されます。

           
          ステップ 4copy running-config startup-config


          例:
          switch(config)# copy running-config startup-config
           
          (任意)

          実行コンフィギュレーションを、スタートアップ コンフィギュレーションにコピーします。

           

          ポート ACL としての MAC ACL の適用

          MAC ACL をポート ACL として、次のいずれかのインターフェイス タイプに適用できます。

          • レイヤ 2 イーサネット インターフェイス

          • レイヤ 2 ポート チャネル インターフェイス

          はじめる前に

          適用する ACL が存在し、必要な方法でトラフィックをフィルタリングするように設定されていることを確認します。

          手順の概要

            1.    configure terminal

            2.    次のいずれかのコマンドを入力します。

            • interfaceethernetslot/port
            • interfaceport-channelchannel-number

            3.    mac port access-groupaccess-list

            4.    (任意) show running-config aclmgr

            5.    (任意) copy running-config startup-config


          手順の詳細
             コマンドまたはアクション目的
            ステップ 1configure terminal


            例:
            switch# configure terminal
            switch(config)#
             

            グローバル コンフィギュレーション モードを開始します。

             
            ステップ 2次のいずれかのコマンドを入力します。
            • interfaceethernetslot/port
            • interfaceport-channelchannel-number


            例:
            switch(config)# interface ethernet 2/1
            switch(config-if)#


            例:
            switch(config)# interface port-channel 5
            switch(config-if)#
             
            • レイヤ 2 またはレイヤ 3 のインターフェイス コンフィギュレーション モードを開始します。

            • レイヤ 2 またはレイヤ 3 のポート チャネル インターフェイスのインターフェイス コンフィギュレーション モードを開始します。

             
            ステップ 3mac port access-groupaccess-list


            例:
            switch(config-if)# mac port access-group acl-01
             

            MAC ACL をインターフェイスに適用します。

             
            ステップ 4show running-config aclmgr


            例:
            switch(config-if)# show running-config aclmgr
             
            (任意)

            ACL の設定を表示します。

             
            ステップ 5copy running-config startup-config


            例:
            switch(config-if)# copy running-config startup-config
             
            (任意)

            実行コンフィギュレーションを、スタートアップ コンフィギュレーションにコピーします。

             

            MAC ACL の VACL としての適用

            MAC ACL を VACL として適用できます。

            関連コンセプト
            VACL の設定

            MAC パケット分類のイネーブル化またはディセーブル化

            レイヤ 2 インターフェイスに対して MAC パケット分類をイネーブルまたはディセーブルに設定できます。

            はじめる前に

            インターフェイスを、レイヤ 2 インターフェイスとして設定する必要があります。


            (注)  


            インターフェイスが ip port access-group コマンドまたは ipv6 port traffic-filter コマンドを使用して設定されている場合は、インターフェイス コンフィギュレーションから ip port access-group コマンドおよび ipv6 port traffic-filter コマンドを削除しない限り、MAC パケット分類をイネーブルにできません。


            手順の概要

              1.    configure terminal

              2.    次のいずれかのコマンドを入力します。

              • interfaceethernetslot/port
              • interfaceport-channelchannel-number

              3.    [no] mac packet-classify

              4.    (任意) 次のいずれかのコマンドを入力します。

              • show running-config interface ethernetslot/port
              • show running-config interfaceport-channelchannel-number

              5.    (任意) copy running-config startup-config


            手順の詳細
               コマンドまたはアクション目的
              ステップ 1configure terminal


              例:
              switch# configure terminal
              switch(config)#
               

              グローバル コンフィギュレーション モードを開始します。

               
              ステップ 2次のいずれかのコマンドを入力します。
              • interfaceethernetslot/port
              • interfaceport-channelchannel-number


              例:
              switch(config)# interface ethernet 2/1
              switch(config-if)#


              例:
              switch(config)# interface port-channel 5
              switch(config-if)#
               
              • イーサネット インターフェイスのインターフェイス コンフィギュレーション モードを開始します。

              • ポート チャネル インターフェイスのインターフェイス コンフィギュレーション モードを開始します。

               
              ステップ 3 [no] mac packet-classify


              例:
              switch(config-if)# mac packet-classify
               

              インターフェイスの MAC パケット分類をイネーブルにします。no オプションを使用すると、インターフェイスの MAC パケット分類がディセーブルになります。

               
              ステップ 4次のいずれかのコマンドを入力します。
              • show running-config interface ethernetslot/port
              • show running-config interfaceport-channelchannel-number


              例:
              switch(config-if)# show running-config interface ethernet 2/1


              例:
              switch(config-if)# show running-config interface port-channel 5
               
              (任意)
              • イーサネット インターフェイスの実行コンフィギュレーションを表示します。

              • ポート チャネル インターフェイスの実行コンフィギュレーションを表示します。

               
              ステップ 5copy running-config startup-config


              例:
              switch(config-if)# copy running-config startup-config
               
              (任意)

              実行コンフィギュレーションを、スタートアップ コンフィギュレーションにコピーします。

               

              MAC ACL の設定の確認

              MAC ACL 設定情報を表示するには、次のいずれかの作業を実行します。

              コマンド

              目的

              show mac access-lists

              MAC ACL の設定を表示します。

              show running-config aclmgr [all]

              MAC ACL および MAC ACL が適用されるインターフェイスを含めて、ACL の設定を表示します。

              (注)      このコマンドは、実行コンフィギュレーションのユーザ設定 ACL を表示します。all オプションを使用すると、実行コンフィギュレーションのデフォルト(CoPP 設定)とユーザ定義による ACL の両方が表示されます。

              show startup-config aclmgr [all]

              ACL のスタートアップ コンフィギュレーションを表示します。

              (注)      このコマンドは、スタートアップ コンフィギュレーションのユーザ設定 ACL を表示します。all オプションを使用すると、スタートアップ コンフィギュレーションのデフォルト(CoPP 設定)とユーザ定義による ACL の両方が表示されます。

              MAC ACL の統計情報のモニタリングとクリア

              MAC ACL の統計情報のモニタまたはクリアを行うには、次の表に示すコマンドのいずれかを使用します。

              コマンド

              目的

              show mac access-lists

              MAC ACL の設定を表示します。MAC ACL に statistics per-entry コマンドが含まれている場合は、show mac access-lists コマンドの出力に、各ルールと一致したパケットの数が含まれます。

              clear mac access-list counters

              MAC ACL の統計情報をクリアします。

              MAC ACL の設定例

              次に、acl-mac-01 という名前の MAC ACL を作成し、これをイーサネット インターフェイス 2/1(レイヤ 2 インターフェイス)に適用する例を示します。

              mac access-list acl-mac-01
                permit 00c0.4f00.0000 0000.00ff.ffff any 
              interface ethernet 2/1
                mac port access-group acl-mac-01
              

              MAC ACL に関する追加情報

              関連資料

              関連項目

              マニュアル タイトル

              TAP アグリゲーション

              『Configuring TAP Aggregation and MPLS Stripping』