Microsoft Hyper-V 向け Cisco Nexus 1000V セキュリティ コンフィギュレーション ガイド、リリース 5.x
MAC ACL の設定
MAC ACL の設定

MAC ACL の設定

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

MAC ACL の概要

MAC アクセス コントロール リスト(ACL)は、各パケットのレイヤ 2 ヘッダー内の情報を使用してトラフィックをフィルタリングする ACL です。

MAC ACL の前提条件

  • MAC ACL を設定するためには、MAC アドレッシングおよびプロトコルに関する知識が必要です。

  • このマニュアルで示す ACL の概念を理解している必要があります。

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

ACL は、ポート チャネルではサポートされていません。

MAC ACL のデフォルト設定

パラメータ

デフォルト

MAC ACL

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

ACL ルール

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

MAC ACL の設定

MAC ACL の作成

MAC ACL を作成し、これにルールを追加するには、次の手順を実行します。また、ACL をポート プロファイルに追加する場合にも、次の手順を実行します。

はじめる前に

この手順を開始する前に、次の作業を実行したことを確認してください。

  • CLI に EXEC モードでログインしていること。

  • 作成する ACL に割り当てる名前があること。

  • ACL をポート プロファイルに追加する場合は、そのポート プロファイルが作成されていること。

また、ポート プロファイルに ACL を追加する場合は、次の事項がわかっていること。

  • 既存のポート プロファイルを使用する場合は、すでにそのポート プロファイルを作成しており、名前を知っていること。

  • 新しいポート プロファイルを作成する場合は、インターフェイス タイプ(イーサネットまたは vEthernet)とポート プロファイルに付与する名前。

  • アクセス リストのパケット フローの方向。

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

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

     
    ステップ 2switch(config)# mac access-list name 

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

     
    ステップ 3switch(config-mac-acl)# {permit | deny} source destination protocol 

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

    permit キーワードと deny キーワードには、トラフィックを識別するための多くの方法が用意されています。詳細については、『Cisco Nexus 1000V for Hyper-V Command Reference』を参照してください。

     
    ステップ 4switch(config-mac-acl)# statistics per-entry  (任意)

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

     
    ステップ 5switch(config-mac-acl)# show mac access-lists name  (任意)

    確認のために MAC ACL の設定を表示します。

     
    ステップ 6switch(config-mac-acl)# copy running-config startup-config  (任意)

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

     
    switch# configure terminal
    Enter configuration commands, one per line. End with CNTL/Z.
    switch(config)# mac access-list acl-mac-01 
    switch(config-mac-acl)# permit 00c0.4f00.0000 0000.00ff.ffff any 
    switch(config-mac-acl)# statistics per-entry 
    switch(config-mac-acl)# show mac access-lists acl-mac-01
    
    MAC ACL acl-mac-01
        statistics per-entry
        10 permit 00c0.4f00.0000 0000.00ff.ffff any 
    switch# copy running-config startup-config

    MAC ACL の変更

    既存の MAC ACL を変更して、ルールの追加または削除を行うには、次の手順を実行します。

    既存のシーケンス番号の間にルールを追加する場合などに、シーケンス番号を再割り当てするには、resequence コマンドを使用します。

    はじめる前に
    • この手順を開始する前に、EXEC モードで CLI にログインする必要があります。

    • 既存の MAC ACL では、既存のルールを変更できません。

    • 既存の MAC ACL 内で、ルールの追加または削除を実行できます。

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

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

       
      ステップ 2switch(config)# mac access-list name 

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

       
      ステップ 3switch(config-mac-acl)# [sequence-number] {permit | deny} source destination protocol  (任意)

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

      permit キーワードと deny キーワードには、トラフィックを識別するための多くの方法が用意されています。詳細については、『Cisco Nexus 1000V for Hyper-V Command Reference』を参照してください。

       
      ステップ 4switch(config-mac-acl)# no {sequence-number | {permit | deny} source destination protocol}  (任意)

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

      permit キーワードと deny キーワードには、トラフィックを識別するための多くの方法が用意されています。詳細については、『Cisco Nexus 1000V for Hyper-V Command Reference』を参照してください。

       
      ステップ 5switch(config-mac-acl)# [no] statistics per-entry 

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

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

       
      ステップ 6switch(config-mac-acl)# show mac access-lists name  (任意)

      確認のために MAC ACL の設定を表示します。

       
      ステップ 7switch(config-mac-acl)# copy running-config startup-config 

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

       
      switch# configure terminal
      Enter configuration commands, one per line. End with CNTL/Z.
      switch(config)# show mac access-lists
      
      MAC ACL acl-mac-01
              statistics per-entry 
              10 permit 00c0.4f00.0000 0000.00ff.ffff any 
      switch(config)# mac access-list acl-mac-01
      switch(config-mac-acl)# permit f866.f222.e5a6 ffff.ffff.ffff any
      switch(config-mac-acl)# no 10
      switch(config-mac-acl)# no statistics per-entry
      switch(config-mac-acl)# end
      switch# show mac access-lists
      
      MAC ACL acl-mac-01
              20 permit f866.f222.e5a6 ffff.ffff.ffff any 
      switch# copy running-config startup-config
      

      MAC ACL の削除

      スイッチから MAC ACL を削除できます。ACL がインターフェイスに適用されているかどうかを確認してください。削除できるのは、現在適用されている ACL だけです。ACL を削除しても、その ACL が適用されていたインターフェイスの設定は影響を受けません。スイッチは、削除対象の ACL が空であると見なします。

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

      はじめる前に

      この手順を開始する前に、次のことを確認してください。

      • EXEC モードで CLI にログインしていること。

      • ACL がインターフェイスに適用されているかどうかがわかっていること。

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

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

         
        ステップ 2switch(config)# no mac access-list name 

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

         
        ステップ 3switch(config)# show mac access-lists name summary  (任意)

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

         
        ステップ 4switch(config)# copy running-config startup-config  (任意)

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

         
        switch# configure terminal
        switch(config)# no mac access-list acl-mac-01
        switch(config)# show mac access-lists acl-mac-01 summary
        MAC ACL acl-mac-01
        switch(config)# copy running-config startup-config

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

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

        はじめる前に

        この手順を開始する前に、EXEC モードで CLI にログインする必要があります。

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

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

           
          ステップ 2switch(config)# resequence mac access-list name starting-sequence-number increment 

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

           
          ステップ 3switch(config-mac-acl)# show mac access-lists name  (任意)

          確認のために MAC ACL の設定を表示します。

           
          ステップ 4switch(config)# copy running-config startup-config  (任意)

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

           
          switch# configure terminal
          Enter configuration commands, one per line. End with CNTL/Z.
          switch(config)# show mac access-lists acl-mac-01
          
          MAC ACL acl-mac-01
              10 permit 00c0.4f00.0000 0000.00ff.ffff any
              20 permit f866.f222.e5a6 ffff.ffff.ffff any
          switch(config)# resequence mac access-list acl-mac-01 100 10
          switch(config)# show mac access-lists acl-mac-01
          
          MAC ACL acl-mac-01
              100 permit 00c0.4f00.0000 0000.00ff.ffff any
              110 permit f866.f222.e5a6 ffff.ffff.ffff any
          switch(config)# copy running-config startup-config

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

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

          • 仮想イーサネット インターフェイス

          物理イーサネット インターフェイスまたは仮想イーサネット インターフェイスに対応付けられたポート プロファイルに MAC ACL を適用することもできます。

          注:ACL はポート チャネル インターフェイスには適用できません。ただし、ポート チャネルに属していない物理イーサネット インターフェイスには適用できます。

          はじめる前に

          この手順を開始する前に、次のことを確認してください。

          • EXEC モードで CLI にログインしていること。

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

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

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

             
            ステップ 2switch(config)# interface {ethernet | vethernet} port 

            指定したインターフェイスのインターフェイス コンフィギュレーション モードを開始します。

             
            ステップ 3 switch(config-if)# mac port access-group access-list [in | out] 

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

             
            ステップ 4switch(config-if)# show running-config aclmgr  (任意)

            ACL の設定を表示します。

             
            ステップ 5switch(config-if)# copy running-config startup-config  (任意)

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

             
            switch# configure terminal
            Enter configuration commands, one per line. End with CNTL/Z.
            switch(config)# interface ethernet 1
            switch(config-if)# mac port access-group acl-mac-01 in
            switch(config-if)#  show running-config aclmgr
            
            !Command: show running-config aclmgr
            !Time: Wed Mar 13 03:38:02 2013
            
            version 5.2(1)SM1(5.1)
            mac access-list acl-mac-01
                100 permit 00C0.4F00.0000 0000.00FF.FFFF any
                110 permit F866.F222.E5A6 FFFF.FFFF.FFFF any
            
            interface Vethernet1
              mac port access-group acl-mac-01 in
            switch(config-if)# copy running-config startup-config
            version 5.2(1)SM1(5.1)
            

            MAC ACL のポート プロファイルへの追加

            はじめる前に

            この手順を開始する前に、次のことを確認してください。

            • CLI に EXEC モードでログインしていること。

            • このポート プロファイルに追加する MAC ACL が作成され、名前がわかっていること。

            • 既存のポート プロファイルを使用する場合は、その名前がわかっていること。

            • 新しいポート プロファイルを作成する場合は、インターフェイス タイプ(イーサネットまたは vEthernet)およびそのプロファイルに付与する名前がわかっていること。

            • アクセス リストのパケット フローの方向がわかっていること。

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

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

               
              ステップ 2switch(config)# port-profile [type {ethernet | vethernet}] name 

              指定されたポート プロファイルのポート プロファイル コンフィギュレーション モードを開始します。

               
              ステップ 3switch(config-port-prof)# mac port access-group name {in | out} 

              着信トラフィックまたは発信トラフィックのポート プロファイルに名前付き ACL を追加します。

               
              ステップ 4switch(config-port-prof)# show port-profile name profile-name  (任意)

              確認のためにコンフィギュレーションを表示します。

               
              ステップ 5switch(config-port-prof)# copy running-config startup-config  (任意)

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

               
              switch# configure terminal
              Enter configuration commands, one per line. End with CNTL/Z.
              switch(config)# port-profile vm_eth1
              switch(config-port-prof)# mac port access-group acl-mac-01 out
              switch(config-port-prof)# show port-profile name vm_eth1
              
              port-profile vm_eth1
              type: Vethernet
              description:
              status: enabled
              max-ports: 32
              min-ports: 1
              inherit:
              config attributes:
              mac port access-group acl-mac-01 out
              no shutdown
              evaluated config attributes:
              mac port access-group acl-mac-01 out
              no shutdown
              assigned interfaces:
              port-group: vm_eth1
              system vlans: none
              capability l3control: no
              capability iscsi-multipath: no
              capability vxlan: no
              capability l3-vn-service: no
              port-profile role: none
              port-binding: static
              
              switch(config-port-prof)# copy running-config startup-config
              

              MAC ACL の設定の確認

              次のいずれかのコマンドを使用して、設定を確認します。

              コマンド

              目的

              show mac access-lists

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

              show mac address-lists summary

              設定済みのすべての MAC ACL または名前付き MAC ACL の要約を表示します。

              show running-config aclmgr

              MAC ACL、MAC ACL が適用されるインターフェイスなど、MAC ACL の設定を表示します。

              show running-config interface

              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 の統計情報を消去します。

              MAC ACL の設定例

              任意のプロトコル用に MAC ACL を作成する設定例

              次に、acl-mac-01 という名前の MAC ACL を作成して、ポート チャネルのメンバーではない物理 Ethernet インターフェイスにポート ACL として適用し、一致カウンタで設定を確認する例を示します。

              switch# configure terminal
              Enter configuration commands, one per line. End with CNTL/Z.
              switch(config)# mac access-list acl-mac-01
              switch(config-mac-acl)# 100 permit 00c0.4f00.0000 0000.00ff.ffff any
              switch(config-mac-acl)# 110 permit f866.f222.e5a6 ffff.ffff.ffff any
              switch(config-mac-acl)# statistics per-entry
              switch(config-mac-acl)# end
              switch# configure terminal
              Enter configuration commands, one per line. End with CNTL/Z.
              switch(config)# interface ethernet 3/5
              switch(config-if)# mac port access-group acl-mac-01 out
              switch(config-if)# show mac access-lists acl-mac-01 summary
              
              MAC ACL acl-mac-01
                  statistics per-entry
                  Total ACEs Configured:2
                  Configured on interfaces:
                      Ethernet3/5 - egress (Port ACL)
                  Active on interfaces:
                      Ethernet3/5 - egress (Port ACL)
              switch(config-if)# show mac access-lists acl-mac-01
              
              MAC ACL acl-mac-01
                  statistics per-entry
                  100 permit 00c0.4f00.0000 0000.00ff.ffff any [match=0]
                  110 permit f866.f222.e5a6 ffff.ffff.ffff any [match=546]
              switch(config-if)# clear mac access-list counters
              switch(config-if)# show mac access-lists acl-mac-01
              
              MAC ACL acl-mac-01
                  statistics per-entry
                  100 permit 00c0.4f00.0000 0000.00ff.ffff any [match=0]
                  110 permit f866.f222.e5a6 ffff.ffff.ffff any [match=0]
              switch(config-if)#
              

              MAC ACL の機能の履歴

              この表には、機能の追加によるリリースの更新内容のみが記載されています。

              機能名

              リリース

              機能情報

              MAC ACL

              5.2(1)SM1(5.1)

              この機能が導入されました。