Cisco Nexus 1000V インタークラウド セキュリティ コンフィギュレーション ガイド リリース 5.2(1)IC1(1.1)
IP ACL の設定
IP ACL の設定

IP ACL の設定

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

特に指定がなければ、IP ACL は IPv4 および IPv6 の ACL を意味します。

ACL について

ACL とは、トラフィックのフィルタリングに使用する順序付きのルール セットのことです。 各ルールには、パケットがルールに一致するために満たさなければならない条件のセットが規定されています。 デバイスは、ある ACL がパケットに適用されると判断すると、そのすべてのルールの条件にパケットを照合し、テストします。 ルールは、そのパケットが許可されるか拒否されるかを決定します。 指定されたルールのいずれにも一致しなければ、デバイスは適用可能な暗黙のルールを適用します。 デバイスは、許可されたパケットの処理を続行し、拒否されたパケットはドロップします。

ACL を使用すると、ネットワークおよび特定のホストを、不要なトラフィックや望ましくないトラフィックから保護できます。 たとえば、ACL を使用して、厳重にセキュリティ保護されたネットワークからインターネットにハイパー テキスト トランスファ プロトコル(HTTP)トラフィックが流入するのを禁止できます。 また、ACL を使用して特定のサイトへの HTTP トラフィックを許可することもできます。その場合は、サイトの IP アドレスが、IP ACL に指定されているかどうかによって判定します。

ACL のタイプと適用

Cisco Nexus 1000V インタークラウドでは、ACL はポート プロファイルにのみ適用できます。Cisco Nexus 1000V インタークラウドでは、vEthernet インターフェイスへの ACL 適用はサポートされていません。

Cisco Nexus 1000V インタークラウドでは、トラフィック フィルタリングに IP ACL がサポートされます。 IP ACL では、デバイスは IPv4 ACL を IP トラフィックだけに適用します。


(注)  


このリリースでは、Cisco Nexus 1000V インタークラウドは MAC ACL をサポートしません。


ACL の適用順序

デバイスは、パケットを処理する際に、そのパケットの転送パスを決定します。 デバイスは、次の順序で ACL を適用します。

  1. 入力ポート ACL
  2. 出力ポート ACL

ルール

ACL によるネットワーク トラフィックのフィルタリング方法を設定する際に、何を作成、変更、削除するかを決めるのがルールです。 ルールは実行コンフィギュレーション内に表示されます。 ACL をインターフェイスに適用するか、またはインターフェイスにすでに適用されている ACL 内のルールを変更すると、スーパーバイザ モジュールは実行コンフィギュレーション内のルールから ACL のエントリを作成し、それらの ACL エントリを適用可能なインタークラウド スイッチに送信します。

アクセス リスト コンフィギュレーション モードで permit または deny コマンドを使用すると、ACL にルールを作成できます。 これにより、デバイスは許可ルール内の基準と一致するトラフィックを許可し、拒否ルール内の基準と一致するトラフィックをブロックします。 ルールに一致するためにトラフィックが満たさなければならない基準を設定するためのオプションが多数用意されています。

送信元と宛先

各ルールには、ルールに一致するトラフィックの送信元と宛先を指定します。 指定する送信元および宛先には、特定のホスト、ホストのネットワークまたはグループ、あるいは任意のホストを使用できます。

プロトコル

ACL では、プロトコルによってトラフィックを識別できます。 一部のプロトコルは名前で指定できます。 たとえば、IP ACL では、ICMP を名前で指定できます。

IP ACL では、インターネット プロトコル番号を表す整数でプロトコルを指定できます。 たとえば、レイヤ 2 トンネリング プロトコル(L2TP)を指定するには、115 を使用します。

暗黙のルール

IP ACL には暗黙のルールがあります。暗黙のルールとは、実行コンフィギュレーションには出現しないものの、ACL の他のルールが一致しないときにデバイスがトラフィックに適用するルールのことです。 ACL のルール単位の統計情報を維持するようにデバイスを設定した場合、暗黙ルールの統計情報はデバイスに維持されません。

すべての IP ACL には、不一致の IP トラフィックを拒否する次の暗黙ルールがあります。

deny ip any any

この暗黙ルールによって、トラフィックのレイヤ 2 ヘッダーに指定されているプロトコルに関係なく、不一致トラフィックが確実に拒否されます。

その他のフィルタリング オプション

追加のオプションを使用してトラフィックを識別できます。 これらのオプションは、ACL のタイプによって異なります。 次のリストには、ほとんどの追加フィルタリング オプションが含まれていますが、すべてを網羅しているわけではありません。

  • IP ACL は、次の追加フィルタリング オプションをサポートしています。
    • レイヤ 4 プロトコル
    • TCP/UDP ポート
    • ICMP タイプおよびコード
    • IGMP タイプ Version1 のみ
    • 優先レベル
    • DiffServ コード ポイント(DSCP)値
    • ACK、FIN、PSH、RST、SYN、または URG ビットがセットされた TCP パケット

シーケンス番号

デバイスはルールのシーケンス番号をサポートしています。 入力するすべてのルールにシーケンス番号が割り当てられます(ユーザによる割り当てまたはデバイスによる自動割り当て)。 シーケンス番号によって、次の ACL 設定作業が容易になります。

  • 既存のルールの間に新規のルールを追加する:シーケンス番号を指定することによって、ACL 内での新規ルールの挿入場所を指定します。 たとえば、ルール番号 100 と 110 の間に新しいルールを挿入する必要がある場合は、シーケンス番号 105 を新しいルールに割り当てます。
  • ルールを削除する:シーケンス番号を使用しない場合は、ルールを削除するのに、次のようにルール全体を入力する必要があります。
    switch(config-acl)# no permit tcp 10.0.0.0/8 any
    このルールに 101 番のシーケンス番号が付いていれば、次のコマンドだけでルールを削除できます。
    switch(config-acl)# no 101
  • ルールを移動する:シーケンス番号を使用すれば、同じ ACL 内の異なる場所にルールを移動する必要がある場合に、そのルールのコピーをシーケンス番号で正しい位置に挿入してから、元のルールを削除できます。 この方法により、トラフィックを中断せずにルールを移動できます。

シーケンス番号を使用せずにルールを入力すると、デバイスはそのルールを ACL の最後に追加し、そのルールの直前のルールのシーケンス番号よりも 10 大きい番号を割り当てます。 たとえば、ACL 内の最後のルールのシーケンス番号が 225 で、シーケンス番号を指定せずにルールを追加した場合、デバイスはその新しいルールにシーケンス番号 235 を割り当てます。

さらに、ACL 内のルールにシーケンス番号を再割り当てすることも可能です。 シーケンス番号の再割り当ては、ACL 内に、100、101 のように連続するシーケンス番号のルールがある場合、それらのルールの間に 1 つ以上のルールを挿入する必要があるときに便利です。

IP ACL の前提条件

  • IP ACL を設定するためには、IP アドレッシングおよびプロトコルに関する知識が必要です。
  • ACL を設定するポート プロファイル インターフェイス タイプについての知識が必要です。

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

  • ほとんどの場合、IP パケットの ACL 処理は、I/O モジュール上で実行されます。 管理インターフェイス トラフィックは、常にスーパーバイザ モジュールで処理されます。この場合、速度は遅くなります。
  • IP ACL は、ポート プロファイルだけに適用され、インターフェイスには適用されません。
  • システム VLAN を許容するポート プロファイルに IP ACL を適用しないでください。
  • 存在しない ALC がポート プロファイルに適用されると、指定された名前の ACL が作成され、適用されたポート プロファイル内のすべてのトラフィックは暗黙拒否のためにブロックされます。

IP ACL のデフォルト設定

パラメータ

デフォルト

IP ACL

デフォルトの IP ACL は存在しません。

ACL ルール

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

IP ACL の設定

IP ACL の作成

デバイスに IPv4 ACL を作成し、これにルールを追加できます。

はじめる前に

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

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

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

     
    ステップ 2switch(config)# [no] ip access-list {name | match-local-traffic} 

    名前付き IP ACL(最大 64 文字)を作成し、IP ACL コンフィギュレーション モードを開始します。

    match-local-traffic オプションは、ローカルに生成されたトラフィックのマッチングをイネーブルにします。

    no オプションは指定されたアクセス リストを削除します。

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

    IP ACL 内にルールを作成します。 多数のルールを作成できます。 sequence-number 引数には、1 ~ 4294967295 の整数を指定できます。

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

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

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

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

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

     
    switch# configure terminal
    switch(config)# ip access-list acl-01
    switch(config-acl)# permit ip 192.168.2.0/24 any
    switch(config-acl)# show ip access-lists acl-01
    switch(config-acl)# copy running-config startup-config

    IP ACL の変更

    既存の IPv4 ACL に対してルールの追加または削除を行うことができます。 既存のルールは変更できません。 ルールを変更するには、そのルールを削除してから、変更を加えたルールを再作成します。

    既存のルールの間に新しいルールを挿入する必要がある場合で、現在のシーケンス番号の空き状況ではすべてを挿入できないときは、resequence コマンドを使用してシーケンス番号を再割り当てします。

    はじめる前に

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

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

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

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

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

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

      IP ACL 内にルールを作成します。 シーケンス番号を指定すると、ACL 内のルール挿入位置を指定できます。 シーケンス番号を指定しないと、ルールは ACL の末尾に追加されます。 sequence-number 引数には、1 ~ 4294967295 の整数を指定できます。

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

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

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

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

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

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

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

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

       
      switch# configure terminal
      switch(config)# show ip access-list acl-01 
      switch(config)# 80 permit ip 192.168.1.0/24 any 
      switch(config)# ip access-list acl-01
      switch(config-acl)# 100 permit ip 192.168.2.0/24 any
      switch(config-acl)# no 80
      switch(config-acl)# show ip access-lists acl-01
      switch(config-acl)# copy running-config startup-config

      IP ACL の削除

      ACL を削除しても、適用されているインターフェイスの設定には影響しません。 代わりに、デバイスは削除された ACL が空であると見なし、暗黙拒否ルールによってすべてのトラフィックを拒否します。

      はじめる前に

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

      • CLI に EXEC モードでログインしていること。
      • ACL がインターフェイスに適用されているかどうかがわかっていること。
      手順
         コマンドまたはアクション目的
        ステップ 1switch# configure terminal  

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

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

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

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

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

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

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

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

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

        IP ACL 内のルールに付けられたすべてのシーケンス番号を変更できます。

        はじめる前に

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

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

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

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

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

           
          ステップ 3switch(config)# show ip access-lists name 

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

           
          ステップ 4switch(config)# show ip access-lists name  (任意)

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

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

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

           
          switch# configure terminal
          switch(config)# resequence access-list ip acl-01 100 10
          switch(config)# show ip access-lists acl-01
          switch(config)# copy running-config startup-config

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

          IP ACL をポート プロファイルに追加するには、次の手順を実行します。

          次の情報を知っている必要があります。

          • 新しいポート プロファイルを作成する場合は、プロファイルに指定する名前を知っている必要があります。
          • このポート プロファイルに対して設定する IP アクセス コントロール リストの名前。
          • アクセス リストのパケット フローの方向。
          はじめる前に

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

          • CLI に EXEC モードでログインしていること。
          • このポート プロファイルに追加する IP ACL が作成され、名前がわかっていること。
          • 既存のポート プロファイルを使用する場合は、それが作成され、名前がわかっていること。
          手順
             コマンドまたはアクション目的
            ステップ 1 switch# configure terminal 

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

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

            名前付きポート プロファイルのポート プロファイル コンフィギュレーション モードを開始します。

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

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

             
            ステップ 4switch(config-port-prof)# show port-profile [brief | expand-interface | usage] [name profile-name]  (任意)

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

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

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

             
            switch# configure terminal
            switch(config)# port-profile AccessProf
            switch(config-port-prof)# ip port access-group allaccess4 out
            switch(config-port-prof)# show port-profile name AccessProf
            switch(config-port-prof)# copy running-config startup-config

            管理インターフェイスへの IP ACL の適用

            管理インターフェイス mgmt0 に IPv4 または ACL を適用するには、次の手順を実行します。

            適用する ACL が存在し、目的に応じたトラフィック フィルタリングが設定されていることを確認します。

            はじめる前に

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

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

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

               
              ステップ 2switch(config)# interface mgmt0 

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

               
              ステップ 3switch(config-if)# [no] ip access-groupaccess-list [ in | out ]  

              指定したインバウンド IPv4 ACL またはアウトバウンド IPv4 ACL をインターフェイスに適用します。

              no オプションは指定された設定を削除します。

               
              ステップ 4switch(config-if)# show ip access-lists access-list  (任意)

              ACL の設定を表示します。

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

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

               
              switch# configure terminal
              switch(config)# interface mgmt0 
              switch(config-if)# ip access-group telnet in
              switch(config-if)# show ip access-lists telnet summary
              IP access list telnet
              statistics per-entry 
              Total ACEs Configured:2
              
              Configured on interfaces: 
              mgmt0 - ingress (Router ACL)
              
              Active on interfaces: 
              mgmt0 - ingress (Router ACL)
              switch(config-if)# copy running-config startup-config

              IP ACL の設定の確認

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

              コマンド

              目的

              show running-config aclmgr

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

              show ip access-lists [name]

              すべての IPv4 アクセス コントロール リスト(ACL)または特定の IPv4 ACL を表示します。

              show ip access-list [name] summary

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

              show running-config port profile

              ACL を適用したポート プロファイルのコンフィギュレーションを表示します。

              IP ACL のモニタリング

              IP ACL のモニタリングには、次のいずれかのコマンドを使用します。

              コマンド

              目的

              show ip access-lists

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

              show ip access-summary

              アクセス リストが設定されているインターフェイスの詳細を表示します。

              IP ACL の機能の履歴

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

              機能の履歴

              リリース

              機能情報

              IP ACL

              Release 5.2(1)IC1(1.1)

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