この製品のマニュアルセットは、偏向のない言語を使用するように配慮されています。このマニュアルセットでの偏向のない言語とは、年齢、障害、性別、人種的アイデンティティ、民族的アイデンティティ、性的指向、社会経済的地位、およびインターセクショナリティに基づく差別を意味しない言語として定義されています。製品ソフトウェアのユーザーインターフェイスにハードコードされている言語、RFP のドキュメントに基づいて使用されている言語、または参照されているサードパーティ製品で使用されている言語によりドキュメントに例外が存在する場合があります。シスコのインクルーシブランゲージに対する取り組みの詳細は、こちらをご覧ください。
このドキュメントは、米国シスコ発行ドキュメントの参考和訳です。リンク情報につきましては、日本語版掲載時点で、英語版にアップデートがあり、リンク先のページが移動/変更されている場合がありますことをご了承ください。あくまでも参考和訳となりますので、正式な内容については米国サイトのドキュメントを参照ください。
この章の内容は、次のとおりです。
アクセス コントロール リスト(ACL)とは、トラフィックのフィルタリングに使用する順序付きのルール セットのことです。各ルールには、パケットがルールに一致するために満たさなければならない条件のセットが規定されています。スイッチは、あるパケットに対してある ACL を適用するかどうかを判断するとき、そのパケットを ACL 内のすべてのルールの条件に対してテストします。一致する条件が最初に見つかった時点で、パケットを許可するか拒否するかが決まります。一致する条件が見つからないと、スイッチは適用可能なデフォルトのルールを適用します。許可されたパケットについては処理が続行され、拒否されたパケットはドロップされます。
ACL を使用すると、ネットワークおよび特定のホストを、不要なトラフィックや望ましくないトラフィックから保護できます。たとえば、ACL を使用して、厳重にセキュリティ保護されたネットワークからインターネットにハイパー テキスト トランスファ プロトコル(HTTP)トラフィックが流入するのを禁止できます。また、特定のサイトへの HTTP トラフィックだけを許可することもできます。その場合は、サイトの IP アドレスが、IP ACL に指定されているかどうかによって判定します。
Cisco Nexus デバイスは、セキュリティ トラフィック フィルタリング用に、IPv4 をサポートしています。スイッチでは、次の表に示すように、ポートの ACL、VLAN ACL、およびルータの ACL として、IP アクセス コントロール リスト(ACL)を使用できます。
アクセス リスト コンフィギュレーション モードでルールを作成するには、permit または deny コマンドを使用します。スイッチは、許可ルールに指定された基準に一致するトラフィックを許可し、拒否ルールに指定された基準に一致するトラフィックをブロックします。ルールに一致するためにトラフィックが満たさなければならない基準を設定するためのオプションが多数用意されています。
各ルールには、ルールに一致するトラフィックの送信元と宛先を指定します。指定する送信元および宛先には、特定のホスト、ホストのネットワークまたはグループ、あるいは任意のホストを使用できます。
IPv4、IPv6、および MAC の ACL では、トラフィックをプロトコルで識別できます。指定の際の手間を省くために、一部のプロトコルは名前で指定できます。たとえば、IPv4 ACL では、ICMP を名前で指定できます。
インターネット プロトコル番号を表す整数でプロトコルを指定できます。
IP ACL および MAC ACL には暗黙ルールがあります。暗黙ルールは、実行コンフィギュレーションには設定されていませんが、ACL 内の他のルールと一致しない場合にスイッチがトラフィックに適用するルールです。
すべての IPv4 ACL には、次の暗黙のルールがあります。
deny ip any any
この暗黙のルールによって、どの条件にも一致しない IP トラフィックは拒否されます。
すべての IPv6 ACL には、次の暗黙のルールがあります。
deny ipv6 any any
permit icmp any any nd-na permit icmp any any nd-ns permit icmp any any router-advertisement permit icmp any any router-solicitation
![]() (注) | IPv6 の ACL に deny ipv6 any any というルールを明示的に設定すると、暗黙の permit ルールでトラフィックをまったく許可できなくなります。deny ipv6 any any というルールを明示的に設定するものの、ICMPv6 ネイバー探索メッセージは許可したい場合は、5 つの暗黙のルールをすべて明示的に設定します。 |
すべての MAC ACL には、次の暗黙のルールがあります。
deny any any protocol
この暗黙ルールによって、デバイスは、トラフィックのレイヤ 2 ヘッダーに指定されているプロトコルに関係なく、不一致トラフィックを確実に拒否します。
追加のオプションを使用してトラフィックを識別できます。IPv4 ACL には、次の追加フィルタリング オプションが用意されています。
Cisco Nexus デバイスはルールのシーケンス番号をサポートします。入力するすべてのルールにシーケンス番号が割り当てられます(ユーザによる割り当てまたはデバイスによる自動割り当て)。シーケンス番号によって、次の 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 つ以上のルールを挿入する必要があるときに便利です。
TCP および UDP トラフィックの IP ACL ルールでは、論理演算子を使用して、ポート番号に基づきトラフィックをフィルタリングできます。
Cisco Nexus デバイスは、演算子とオペランドの組み合わせを論理演算ユニット(LOU)というレジスタ内に格納し、IP ACL で指定された TCP および UDP ポート上で演算(より大きい、より小さい、等しくない、包含範囲)を行います。
![]() (注) | range 演算子は境界値も含みます。 |
これらの LOU は、これらの演算を行うために必要な Ternary Content Addressable Memory(TCAM)エントリ数を最小限に抑えます。最大で 2 つの LOU を、インターフェイスの各機能で使用できます。たとえば入力 RACL で 2 つの LOU を使用し、QoS 機能で 2 つの LOU を使用できます。ACL 機能で 2 つより多くの算術演算が必要な場合、最初の 2 つの演算が LOU を使用し、残りのアクセス コントロール エントリ(ACE)は展開されます。
デバイスが演算子とオペランドの組み合わせを LOU に格納するかどうかの判断基準を次に示します。
演算子またはオペランドが、他のルールで使用されている演算子とオペランドの組み合わせと異なる場合、この組み合わせは LOU に格納されます。
たとえば、演算子とオペランドの組み合わせ「gt 10」と「gt 11」は、別々に LOU の半分に格納されます。「gt 10」と「lt 10」も別々に格納されます。
演算子とオペランドの組み合わせがルール内の送信元ポートと宛先ポートのうちどちらに適用されるかは、LOU の使用方法に影響を与えます。同じ組み合わせの一方が送信元ポートに、他方が宛先ポートに別々に適用される場合は、2 つの同じ組み合わせが別々に格納されます。
たとえば、あるルールによって、演算子とオペランドの組み合わせ「gt 10」が送信元ポートに、別のルールによって同じ組み合わせ「gt 10」が宛先ポートに適用される場合、両方の組み合わせが LOU の半分に格納され、結果として 1 つの LOU 全体が使用されることになります。このため、「gt 10」を使用するルールが追加されても、これ以上 LOU は使用されません。
![]() (注) | TCAM または 24 の LOU レジスタがいっぱいになると、展開された ACE は保存されません。 |
ハードウェアの ACL Ternary Content Addressable Memory(TCAM)リージョンのサイズを変更できます。
IPv4 TCAM はシングル幅です。一方、IPv6 TCAM はダブル幅です。たとえば、256 エントリの IPv6 TCAM を作成するには、IPv4 TCAM を 256 X 2、または 512 エントリに減らす必要があります。
IPv6 ポート ACL、VLAN ACL、ルータ ACL を作成して、QoS の IPv6 アドレスを照合できます。ただし、Cisco NX-OS ではすべてを同時にサポートすることはできません。これらの新しい IPv6 TCAM をイネーブルにするには、既存の TCAM を削除するか、サイズを減らす必要があります。
デフォルトの ACL TCAM サイズに戻すには、no hardware profile tcam region コマンドを使用します。write erase コマンドを使用してからスイッチをリロードする必要はなくなりました。
プラットフォームによっては、各 TCAM リージョンが異なる最小/最大/集約サイズ制限を持つ可能性があります。
また、VACL および出力 VLAN ACL(E-VACL)を同じ値に設定する必要があります。
IPv4 と IPv6 の両方のアドレスは、ダブル幅の TCAM 内であっても共存できません。
全体の TCAM の深さは、入力の場合は 2000、出力の場合は 1000 です。これは、256 のエントリ ブロックに切り分けることができます。
TCAM の切り分け後には、スイッチをリロードする必要があります。
すべての既存の TCAM のサイズを 0 に設定することはできません。
デフォルトでは、すべての IPv6 TCAM はディセーブルです(TCAM サイズは 0 に設定されます)。
TCAM ACL リージョン |
デフォルト サイズ |
最小サイズ |
インクリメンタル サイズ |
最大サイズ |
---|---|---|---|---|
SUP(入力) |
128 X 2 |
128 X 2 |
該当なし |
128 X 2 |
SPAN(入力) |
128 |
128 |
該当なし |
128 |
ARPACL(入力) |
0 |
0 |
128 |
128 |
PACL(入力) |
384 |
ARPACL(ディセーブル)= 128 ARPACL(イネーブル)= 256 |
256 |
1664(連結) |
VACL(入力) |
512 |
0 |
256 |
|
RACL(入力) |
512 |
256 |
256 |
|
QOS(入力) |
256 |
256 |
256 |
|
PACL_IPV6(入力) |
0 |
0 |
256 X 2 |
|
VACL_IPV6(入力) |
0 |
0 |
256 X 2 |
|
RACL_IPV6(入力) |
0 |
0 |
256 X 2 |
|
QOS_IPV6(入力) |
0 |
0 |
256 X 2 |
|
E-VACL(出力) |
512 |
0 |
256 |
1024(連結) |
E-RACL(出力) |
512 |
0 |
256 |
|
E-VACL_IPV6(出力) |
0 |
0 |
256 X 2 |
|
E-RACL_IPV6(出力) |
0 |
0 |
256 X 2 |
|
QOSLBL(前ルックアップ) |
256 |
256 |
256 |
256 |
SUP_IPV6(前ルックアップ) |
128 X 2 |
256 X 2 |
該当なし |
256 X 2 |
製品 |
ライセンス要件 |
---|---|
Cisco NX-OS |
ACL を使用するためにライセンスは必要ありません。 |
IP ACL の前提条件は次のとおりです。
VACL の前提条件は次のとおりです。
IP ACL の設定に関する注意事項と制約事項は次のとおりです。
Release 7.0(3)I2(1) 以降、送信元 MAC または DMAC によって ACE を作成できません。送信元 MAC および DMAC オプションはオープンフローに固有です。7.0(3)I2(1) よりも前のリリースでは、オープンフローとタップアグリゲーションの両方が ACLMGR プロセスによって処理されるために、これらのオプションがサポートされていました。7.0(3)I2(1) 以降では、オープンフローは POLICY_MGR プロセスによって処理され、タップアグリゲーションは ACLMGR プロセスによって処理されます。この機能拡張のために、オープンフロー固有のオプションは、タップアグリゲーションに関して使用できません。タップアグリゲーションに関してこれらのオプションをサポートするための要件は存在しません。
タップアグリゲーション ポリシーでは set-vlan オプションを設定できません。The set-vlan および strip-vlan オプションはオープンフローに固有です。Release 7.0(3)I2(1) では、オープンフローとタップアグリゲーションは 2 つの異なるプロセスによって処理されます。このために、オープンフロー固有のオプションは、タップアグリゲーションに関して使用できません。
HTTP メソッドとの一致に関する機能拡張として、パケットで TCP オプションのヘッダーの長さを指定するために、ACE シンタックスに tcp-option-length オプションが追加されました。ACE で最大 4 つの tcp-option-length(0 の TCP オプション長を含む)を設定できます。tcp-option-length オプションを設定しない場合、TCP オプション長は 0 と見なされます。これは、TCP オプション ヘッダーのないパケットだけがこの ACE と一致することを意味します。この機能により、HTTP メソッドが、可変長 TCP オプション ヘッダーを持つパケットとも一致可能になるため、柔軟性が向上します。
ACL の設定には Session Manager を使用することを推奨します。この機能を使用すると、ACL の設定を調べて、その設定に必要とされるリソースが利用可能であるかどうかを、リソースを実行コンフィギュレーションにコミットする前に確認できます。この機能は、約 1,000 以上のルールが含まれている ACL に対して特に有効です。
最大 62 の一意の ACL を設定できます。各 ACL は、1 つのラベルを持ちます。同じ ACL が複数のインターフェイスで設定される場合、同じラベルが共有されます。ただし、各 ACL が一意のエントリを持つ場合、ACL のラベルは共有されず、そのラベルの上限は 62 です。
レイヤ 3 最大伝送単位チェックに失敗し、そのためにフラグメント化を要求しているパケット
IP オプションがある IPv4 パケット(追加された IP パケット ヘッダーのフィールドは、宛先アドレス フィールドの後)
時間範囲を使用する ACL を適用すると、デバイスは、その ACL エントリで参照される時間範囲の開始時または終了時に ACL エントリを更新します。時間範囲によって開始されるアップデートはベストエフォート型のプライオリティで実行されます。時間範囲によってアップデートが生じたときにデバイスの処理負荷が非常に高い場合、デバイスはアップデートを最大数秒間遅らせることがあります。
IP ACL を VLAN インターフェイスに適用するためには、VLAN インターフェイスをグローバルにイネーブル化する必要があります。
すべての着信および発信トラフィックに match-local-traffic オプションを使用するには、まずソフトウェアで ACL をイネーブルにする必要があります。
VACL には、次の設定があります。
ACL の設定には Session Manager を使用することを推奨します。この機能を使用すると、ACL の設定を調べて、その設定に必要とされるリソースが利用可能であるかどうかを、リソースを実行コンフィギュレーションにコミットする前に確認できます。
DHCP スヌーピング機能がイネーブルのときには、ACL の統計情報はサポートされません。
VLAN ACL として適用される IPv4 ACL に、TCP/UDP ポート番号の論理演算子を使用する 1 つまたは複数の ACE が含まれている場合、ポート番号は入力方向で一致しますが、出力方向では無視されます。
1 つの VLAN アクセス マップでは、1 つの IP ACL だけを照合できます。
1 つの IP ACL に、複数の許可/拒否 ACE を設定することができます。
1 つの VLAN に適用できるアクセス マップは 1 つだけです。
L3 ポート チャネルでは出力 RACL を設定できません。
次の表は、IP ACL パラメータのデフォルト設定をリスト表示しています。
パラメータ |
デフォルト |
---|---|
IP ACL |
デフォルトの IP ACL は存在しません。 |
ACL ルール |
すべての ACL に暗黙のルールが適用されます。 |
次の表に、VACL パラメータのデフォルト設定を示します。
パラメータ |
デフォルト |
---|---|
VACL |
デフォルトの IP ACL は存在しません。 |
ACL ルール |
すべての ACL に暗黙のルールが適用されます。 |
Cisco Nexus デバイスでは ACL ロギングがサポートされます。これを使用すると、特定のアクセス コントロール リスト(ACL)にヒットするフローをモニタできます。ACL エントリに関してこの機能をイネーブルにするには、オプションの log キーワードを使って特定の ACE を設定します。
オプションの log キーワードを使って ACE を設定すると、ACE エントリの許可条件または拒否条件と一致する各フローの統計情報がソフトウェアのログに記録されます。
IP ACL の設定
スイッチに IPv4 または IPv6 の ACL を作成し、それにルールを追加することができます。
次に、IPv4 ACL を作成する例を示します。
switch# configure terminal switch(config)# ip access-list acl-01 switch(config-acl)# permit ip 192.168.2.0/24 any switch(config-acl)# statistics
次に、IPv6 ACL を作成する例を示します。
switch# configure terminal switch(config)# ipv6 access-list acl-01-ipv6 switch(config-ipv6-acl)# permit tcp 2001:0db8:85a3::/48 2001:0db8:be03:2112::/64
IPv4 ACL ロギング プロセスを設定するには、まずアクセス リストを作成し、指定された ACL を使用してインターフェイスで IPv4 トラフィックのフィルタリングをイネーブルにし、最後に ACL ロギング プロセス パラメータを設定します。
既存の IPv4 または IPv6 ACL のルールを追加および削除できます。既存のルールは変更できません。ルールを変更するには、そのルールを削除してから、変更を加えたルールを再作成します。
既存のルールの間に新しいルールを挿入する必要がある場合で、現在のシーケンス番号の空き状況ではすべてを挿入できないときは、resequence コマンドを使用してシーケンス番号を再割り当てします。
スイッチから IP ACL を削除できます。
スイッチから IP ACL を削除する前に、ACL がインターフェイスに適用されているかどうかを確認してください。削除できるのは、現在適用されている ACL だけです。ACL を削除しても、その ACL が適用されていたインターフェイスの設定は影響を受けません。スイッチは、削除対象の ACL が空であると見なします。
IP ACL 内のルールに付けられたすべてのシーケンス番号を変更できます。
管理インターフェイス(mgmt0)に IPv4 ACL または IPv6 ACL を適用できます。
適用する ACL が存在し、目的に応じたトラフィック フィルタリングが設定されていることを確認します。
関連項目
IPv4 ACL は、物理イーサネット インターフェイスまたはポート チャネルに適用できます。これらのインターフェイス タイプに適用された ACL は、ポート ACL と見なされます。
![]() (注) | 一部の設定パラメータは、ポート チャネルに適用されていると、メンバ ポートの設定に反映されません。 |
IPv4 または IPv6 ACL は、次のタイプのインターフェイスに適用できます。
物理層 3 インターフェイスおよびサブインターフェイス
レイヤ 3 イーサネット ポート チャネル インターフェイスおよびサブインターフェイス
VLAN インターフェイス
トンネル
管理インターフェイス
これらのインターフェイス タイプに適用された ACL はルータ ACL と見なされます。
![]() (注) | 論理演算ユニット(LOU)は、Out 方向に適用されたルータ ACL には使用できません。IPv4 ACL が Out 方向のルータ ACL として適用される場合、TCP/UDP ポート番号の論理演算子を持つアクセス コントロール エントリ(ACE)は複数の ACE に内部的に拡張され、In 方向に適用された同じ ACL と比較すると、より多くの TCAM エントリが必要になることがあります。 |
適用する ACL が存在し、目的に応じたトラフィック フィルタリングが設定されていることを確認します。
コマンド |
目的 |
||
---|---|---|---|
show hardware access-list tcam region |
デバイスで次のリロード時に適用される TCAM サイズを表示します。 |
||
show ip access-lists |
IPv4 ACL の設定を表示します。 |
||
show ipv6 access-lists |
IPv6 ACL の設定を表示します。 |
||
show logging ip access-list cache [detail] |
送信元 IP アドレスと宛先 IP アドレス、送信元ポートと宛先ポートの情報、送信元インターフェイスなど、記録されたアクティブ フローに関する情報を表示します。 |
||
show logging ip access-list status |
拒否フローの最大数、現在の有効なログ間隔と現在の有効なしきい値を表示します。 |
||
show running-config acllog |
ACL ログの実行コンフィギュレーションを表示します。 |
||
show running-config aclmgr [all] |
IP ACL の設定および IP ACL が適用されるインターフェイスを含めて、ACL の実行コンフィギュレーションを表示します。
|
||
show startup-config acllog |
ACL ログのスタートアップ コンフィギュレーションを表示します。 |
||
show startup-config aclmgr [all] |
ACL のスタートアップ コンフィギュレーションを表示します。
|
IP ACL に関する統計情報(各ルールに一致したパケットの数など)を表示するには、show ip access-lists または show ipv6 access-list コマンドを使用します。このコマンドの出力フィールドの詳細については、Cisco Nexus デバイスの『Command Reference』を参照してください。
![]() (注) | MAC アクセス リストは、非 IPv4 および非 IPv6 トラフィックだけに適用可能です。 |
switch# show {ip | ipv6}access-listsname
IP ACL の設定を表示します。IP ACL に statistics コマンドが指定されている場合は、show ip access-lists および show ipv6 access-list コマンドの出力に、各ルールに一致したパケットの数が表示されます。
switch#show ip access-listsname
IP ACL の設定を表示します。IP ACL に statistics コマンドが指定されている場合は、show ip access-lists コマンドの出力に、各ルールに一致したパケットの数が表示されます。
switch# clear {ip | ipv6}access-list counters [access-list-name]
すべての IP ACL、または特定の IP ACL の統計情報を消去します。
switch# clear ip access-list counters [access-list-name]
すべての IP ACL、または特定の IP ACL の統計情報を消去します。
手動で RACL 整合性チェッカーをトリガーして、モジュールの入力 RACL および出力 RACL のハードウェアとソフトウェアの設定を比較し、結果を表示することができます。手動で RACL 整合性チェッカーをトリガーして結果を表示するには、任意のモードで次のコマンドを使用します。
コマンドまたはアクション | 目的 |
---|
次に、RACL 整合性チェックをトリガーし、結果を表示する例を示します。
switch# show consistency-checker racl module 1 Validates RACL on up interfaces: Consistency Check: FAILED Found consistencies for following Interfaces: Ethernet1/9 (in) Ethernet1/9 (out) Ethernet1/17 (in) Ethernet1/17 (out) Found inconsistencies for following Interfaces and EID: Ethernet1/3 (in) Ethernet1/3 (out)
ACL ロギングの設定
switch# configure terminal switch(config)# logging ip access-list cache entries 5000 switch(config)# logging ip access-list cache interval 120 switch(config)# logging ip access-list cache threshold 500000 switch(config)# copy running-config startup-config
ACL ロギングは、イーサネット インターフェイスおよびポート チャネルに対して適用できます。
switch# configure terminal switch(config)# interface ethernet 1/2 switch(config-if)# ip access-group acl1 in switch(config-if)# copy running-config startup-config
switch# configure terminal switch(config)# acllog match-log-level 3 switch(config)# copy running-config startup-config
ログ ファイルおよび NVRAM 内のメッセージをクリアできます。
コマンドまたはアクション | 目的 |
---|
MAC ACL ロギング設定情報を表示するには、次のいずれかの作業を実行します。
コマンド |
目的 |
---|---|
switch# show startup-config acllog |
スタートアップ コンフィギュレーション内のアクセス コントロール リスト(ACL)ログ ファイルを表示します。 |
switch# show running-config acllog |
実行コンフィギュレーション内のアクセス コントロール リスト(ACL)ログ ファイルを表示します。 |
switch# show logging ip access-list cache |
IP アクセス リスト キャッシュを表示します。 |
switch# show logging ip access-list cache detail |
IP アクセス リスト キャッシュに関する詳細情報を表示します。 |
switch# show logging ip access-list status |
IP アクセス リスト キャッシュのステータスを表示します。 |
Release 6.0(2)U5(1) 以降、HTTP メソッド オプションが ACL CLI に追加されています。特定の HTTP メソッドを代行受信し、特定のポートに接続されたサーバにリダイレクトできます。
![]() (注) | HTTP メソッドとの一致に関する機能拡張として、パケットで TCP オプションのヘッダーの長さを指定するために、ACE シンタックスに tcp-option-length オプションが追加されました。ACE で最大 4 つの tcp-option-length(0 の TCP オプション長を含む)を設定できます。tcp-option-length オプションを設定しない場合、TCP オプション長は 0 と見なされます。これは、TCP オプション ヘッダーのないパケットだけがこの ACE と一致することを意味します。この機能により、HTTP メソッドが、可変長 TCP オプション ヘッダーを持つパケットとも一致可能になるため、柔軟性が向上します。 |
次の HTTP メソッドをリダイレクトできます。
特定の HTTP メソッドをサーバにリダイレクトするように ACL CLI を設定します。
IP アクセス リストを作成します。
CLI コマンドの hardware profile tcam region ifacl 512 double-wide を使用して、IFACL リージョンに関してダブル幅の TCAM を有効にします。このコマンドは、グローバル コンフィギュレーションに適用され、Trident2 ベースの Cisco Nexus 3000 シリーズ スイッチでのみ適用されます。この設定を有効にするには、スイッチをリロードします。
CLI コマンドの hardware profile tap-aggregation を使用して、別のインターフェイスにパケットをリダイレクトするタップアグリゲーション機能を有効にします。このコマンドは、グローバル コンフィギュレーションに適用されます。この設定を有効にするには、スイッチをリロードします。
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 | switch# configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 | switch(config)# ipaccess-listname |
IP ACL を作成して、IP ACL コンフィギュレーション モードを開始します。name 引数は 64 文字以内で指定します。 |
ステップ 3 | switch(config-acl)# permitprotocolsource any http-method ? 例: switch(config-acl)# permit tcp 1.1.1.1/32 any http-method ? connect Match http packets with CONNECT method [0x434f4e4e] delete Match http packets with DELETE method [0x44454c45] get Match http packets with GET method [0x47455420] head Match http packets with HEAD method [0x48454144] post Match http packets with POST method [0x504f5354] put Match http packets with PUT method [0x50555420] trace Match http packets with TRACE method [0x54524143] |
特定の HTTP メソッドをサーバにリダイレクトするように ACL CLI を設定します。 |
ステップ 4 | switch# showipaccess-listsname | (任意)
IP ACL の設定を表示します。 |
ステップ 5 | switch# showruninterface<x/y> | (任意)
インターフェイスの設定を表示します。 |
次の例では、イーサネット インターフェイス 1/33 が HTTP トラフィックを受信しています。イーサネット インターフェイス 1/34 は出力インターフェイスです。出力インターフェイスで tap-aggregation モードを有効にします。トラフィックと一致する ACL を作成します。イーサネット インターフェイス 1/34 への ACL に一致するリダイレクト HTTP get メソッドを設定します。HTTP トラフィックが受信されるポートに ACL を適用します。イーサネット 1/33 で ACL にヒットするすべての HTTP get トラフィックが、宛先インターフェイス(イーサネット 1/34 など)にリダイレクトされます。同じ手順を、上記の他のメソッドに使用できます。
トラブルシューティング情報 — ACLにヒットしない場合やパケットがリダイレクトされない場合は、ダブル幅の TCAM が有効になっていることを確認します。タップアグリゲーションが有効になっていることを確認します。送信元ポートと宛先ポートの両方が同じ VLAN の STP フォワーディング ステートになっていることを確認します。ACL が TCAM で sh platform afm info attachment interface <interface> コマンドを使用してプログラムされていることを確認します。HTTP リダイレクト機能は、レイヤ 3 ポートでは動作しません。
![]() (注) | Release 7.0(3)I2(1) 以降では、インターフェイスでの ACL ポリシーのチェックに CLI コマンドの show hardware access-list interface <> を使用します。 |
switch# configure terminal switch(config)# interface Ethernet 1/33 L3-QI2-CR-one(config)## interface Ethernet 1/34 L3-QI2-CR-one(config-if)# mode tap-aggregation switch(config)# ip access-list http-redirect-acl switch(config-acl)# 10 permit tcp 10.1.1.1/32 10.2.2.2/32 http-method get redirect e1/34 switch(config-acl)# 10 permit tcp any any http-method get tcp-option-length 8 redirect e1/34 switch(config-acl)# 20 permit tcp any any http-method post redirect e1/34 switch(config-acl)# statistics per-entry switch(config)# interface Ethernet 1/33 switch(config-if)# ip port access-group http-redirect-acl in switch(config)# show ip access-lists switch(config)# show run int 1/34 switch(config)# show hardware access-list interface 1/34
VLAN ACL(VACL)は、IP ACL の適用例の 1 つです。VACL を設定して、VLAN 内でブリッジされているすべてのパケットに適用できます。VACL は、セキュリティ パケットのフィルタリングだけに使用します。VACL は方向(入力または出力)で定義されることはありません。
VACL では、アクセス マップを使用して、IP ACL をアクションとリンクさせます。スイッチは、VACL で許可されているパケットに対して、設定済みのアクションを実行します。
アクセス マップ コンフィギュレーション モードでは、action コマンドを使用して、次のいずれかのアクションを指定します。
Cisco Nexus デバイスは、VACL 内の各ルールについて、グローバルな統計情報を保持できます。VACL を複数の VLAN に適用した場合、保持されるルール統計情報は、その VACL が適用されている各インターフェイス上で一致(ヒット)したパケットの総数になります。
![]() (注) | Cisco Nexus デバイスは、インターフェイス単位の VACL 統計情報はサポートしていません。 |
設定する各 VLAN アクセス マップごとに、VACL の統計情報をスイッチ内に保持するかどうかを指定できます。これにより、VACL によってフィルタリングされたトラフィックをモニタリングするため、あるいは VLAN アクセス マップの設定のトラブルシューティングを行うために、VACL 統計情報の収集のオン/オフを必要に応じて切り替えることができます。
VACL の設定
VACL を作成または変更できます。VACL の作成には、IP ACL を、一致したトラフィックに適用するアクションとアソシエートさせるアクセス マップの作成が含まれます。
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 | switch# configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 | switch(config)# vlan access-mapmap-name |
指定したアクセス マップのアクセス マップ コンフィギュレーション モードを開始します。 |
ステップ 3 | switch(config-access-map)# matchipaddressip-access-list |
マップの IPv4 および IPV6 ACL を指定します。 |
ステップ 4 | switch(config-access-map)# action {drop | forward} |
スイッチが、ACL に一致したトラフィックに適用するアクションを指定します。 |
ステップ 5 | switch(config-access-map)# [no] statistics | (任意)
VACL に規定されたルールに一致するパケットのグローバルな統計情報をスイッチ内に保持するように指定します。 no オプションを指定すると、VACL のグローバルな統計情報がスイッチ内に保持されなくなります。 |
ステップ 6 | switch(config-access-map)# show running-config | (任意)
ACL の設定を表示します。 |
ステップ 7 | switch(config-access-map)# copy running-config startup-config | (任意)
実行コンフィギュレーションを、スタートアップ コンフィギュレーションにコピーします。 |
VACL を削除できます。これにより、VLAN アクセス マップも削除されます。
VACL が VLAN に適用されているかどうかを確認してください。削除できるのは、現在適用されている VACL だけです。VACL を削除しても、その VACL が適用されていた VLAN の設定は影響を受けません。スイッチは、削除対象の VACL が空であると見なします。
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 | switch# configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 | switch(config)# no vlan access-mapmap-name |
指定したアクセス マップの VLAN アクセス マップの設定を削除します。 |
ステップ 3 | switch(config)# show running-config | (任意)
ACL の設定を表示します。 |
ステップ 4 | switch(config)# copy running-config startup-config | (任意)
実行コンフィギュレーションを、スタートアップ コンフィギュレーションにコピーします。 |
VACL を VLAN に適用できます。
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 | switch# configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 | switch(config)# [no] vlan filtermap-name vlan-listlist |
指定したリストによって、VACL を VLAN に適用します。no オプションを使用すると、VACL の適用が解除されます。 vlan-list コマンドで指定できる VLAN は最大 32 個ですが、複数の vlan-list コマンドを設定すると、32 個を超える VLAN を指定できます。 |
ステップ 3 | switch(config)# show running-config | (任意)
ACL の設定を表示します。 |
ステップ 4 | switch(config)# copy running-config startup-config | (任意)
実行コンフィギュレーションを、スタートアップ コンフィギュレーションにコピーします。 |
コマンドまたはアクション | 目的 |
---|---|
switch# show running-config aclmgr | VACL 関連の設定を含む、ACL の設定を表示します。 |
switch# show vlan filter | VLAN に適用されている VACL の情報を表示します。 |
switch#show vlan access-map | VLAN アクセス マップに関する情報を表示します。 |
VACL 統計情報を表示または消去するには、次のいずれかの作業を実行します。
switch# show vlan access-list
VACL の設定を表示します。VLAN アクセス マップに statistics コマンドが指定されている場合は、show vlan access-list コマンドの出力に、各ルールに一致したパケットの数が表示されます。
switch# clear vlan access-list counters
すべての VACL、または特定の VACL の統計情報を消去します。
次に、acl-ip-01 という名前の IP ACL によって許可されたトラフィックを転送するように VACL を設定し、その VACL を VLAN 50 ~ 82 に適用する例を示します。
switch# configure terminal
switch(config)# vlan access-map acl-ip-map
switch(config-access-map)# match ip address acl-ip-01
switch(config-access-map)# action forward
switch(config-access-map)# exit
switch(config)# vlan filter acl-ip-map vlan-list 50-82
![]() (注) | TCAM または 24 の LOU レジスタがいっぱいになると、展開された ACE は保存されません。 |
コマンドまたはアクション | 目的 |
---|
次に、LOU しきい値を設定する例を示します。
switch# configure terminal switch(config)# hardware profile tcam lou-threshold 20 switch(config)# copy running-config startup-config switch(config)# reload LOU expansion threshold changed to 20
ハードウェアの ACL Ternary Content Addressable Memory(TCAM)リージョンのサイズを変更できます。
コマンドまたはアクション | 目的 | |||
---|---|---|---|---|
ステップ 1 | configure terminal 例: switch# configure terminal switch(config)# |
グローバル コンフィギュレーション モードを開始します。 | ||
ステップ 2 | hardware profile tcam region {arpacl | {ipv6-e-racl | e-racl} | ifacl | | {ipv6-qos | qos} |qoslbl | {ipv6-racl | racl} | vacl } tcam_size |
ACL TCAM リージョン サイズを変更します。
| ||
ステップ 3 | copy running-config startup-config 例: switch(config)# copy running-config startup-config |
リブートおよびリスタート時に実行コンフィギュレーションをスタートアップ コンフィギュレーションにコピーして、変更を継続的に保存します。 | ||
ステップ 4 | switch(config)# show hardware profile tcam region 例: switch(config)# show hardware profile tcam region |
スイッチの次回のリロード時に適用される TCAM サイズを表示します。 | ||
ステップ 5 | switch(config)# reload 例: switch(config)# reload |
実行コンフィギュレーションを、スタートアップ コンフィギュレーションにコピーします。
|
次に、RACL TCAM リージョンのサイズを変更する例を示します。
switch(config)# hardware profile tcam region racl 256 [SUCCESS] New tcam size will be applicable only at boot time. You need to 'copy run start' and 'reload' switch(config)# copy running-config startup-config switch(config)# reload WARNING: This command will reboot the system Do you want to continue? (y/n) [n] y
次に、0 または 128 以外の値に ARP ACL TCAM 値を設定したときに表示されるエラー メッセージの例を示します。また、ARP ACL TCAM リージョンのサイズを変更する方法も示します。
switch(config)# hardware profile tcam region arpacl 200 ARPACL size can be either 0 or 128 switch(config)# hardware profile tcam region arpacl 128 To start using ARPACL tcam, IFACL tcam size needs to be changed. Changing IFACL tcam size to 256 [SUCCESS] New tcam size will be applicable only at boot time. You need to 'copy run start' and 'reload'
次に、スイッチで TCAM VLAN ACL を設定する例を示します。
switch# configure sync Enter configuration commands, one per line. End with CNTL/Z. switch(config-sync)# switch-profile s5010 Switch-Profile started, Profile ID is 1 switch(config-sync-sp)# hardware profile tcam region vacl 512 switch(config-sync-sp)# hardware profile tcam region e-vacl 512 switch(config-sync-sp)#
次に、変更を確認するために、TCAM リージョンのサイズを表示する例を示します。
switch(config)# show hardware profile tcam region sup size = 16 vacl size = 640 ifacl size = 496 qos size = 256 rbacl size = 0 span size = 0 racl size = 1536 e-racl size = 256 e-vacl size = 640 qoslbl size = 0 arpacl size = 0 ipv6-racl size = 0 ipv6-e-racl size = 0 ipv6-sup size = 0 ipv6-qos size = 0
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 | configure terminal 例: switch# configure terminal switch(config)# |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 | switch(config)# no hardware profile tcam region {arpacl | e-racl} | ifacl | | qos} |qoslbl | racl} | vacl } tcam_size |
デフォルト ACL TCAM サイズに設定を戻します。 |
ステップ 3 | copy running-config startup-config 例: switch(config)# copy running-config startup-config | (任意)
リブートおよびリスタート時に実行コンフィギュレーションをスタートアップ コンフィギュレーションにコピーして、変更を継続的に保存します。 |
ステップ 4 | switch(config)# reload |
スイッチをリロードします。 |
switch(config)# no hardware profile tcam region racl 256 [SUCCESS] New tcam size will be applicable only at boot time. You need to 'copy run start' and 'reload' switch(config)# copy running-configur startup-config switch(config)# reload WARNING: This command will reboot the system Do you want to continue? (y/n) [n] y
仮想端末(VTY)回線とアクセス リストのアドレス間の IPv4 または IPv6 の着信接続と発信接続を制限するには、ライン コンフィギュレーション モードで access-class コマンドを使用します。アクセス制限を解除するには、このコマンドの no 形式を使用します。
VTY 回線で ACL を設定する場合には、次のガイドラインに従ってください。
適用する ACL が存在しており、この適用に対してトラフィックをフィルタリングするように設定されていることを確認してください。
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 | switch# configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 | switch(config)# line vty 例: switch(config)# line vty switch(config-line)# |
ライン コンフィギュレーション モードを開始します。 |
ステップ 3 | switch(config-line)# access-class access-list-number {in | out} 例: switch(config-line)# access-class ozi2 in switch(config-line)#access-class ozi3 out switch(config)# |
着信または発信アクセス制限を指定します。 |
ステップ 4 | switch(config-line)# no access-class access-list-number {in | out} 例: switch(config-line)# no access-class ozi2 in switch(config-line)# no access-class ozi3 out switch(config)# | (任意) 着信または発信アクセス制限を削除します。 |
ステップ 5 | switch(config-line)# exit 例: switch(config-line)# exit switch# | ライン コンフィギュレーション モードを終了します。 |
ステップ 6 | switch# show running-config aclmgr 例: switch# show running-config aclmgr | (任意) スイッチの ACL の実行コンフィギュレーションを表示します。 |
ステップ 7 | switch# copy running-config startup-config 例: switch# copy running-config startup-config | (任意) 実行コンフィギュレーションを、スタートアップ コンフィギュレーションにコピーします。 |
次に、VTY 回線の in 方向に access-class ozi2 のコマンドを適用する例を示します。
switch# configure terminal Enter configuration commands, one per line. End with CNTL/Z. switch(config)# line vty switch(config-line)# access-class ozi2 in switch(config-line)# exit switch#
VTY 回線の ACL 設定を表示するには、次のいずれかの作業を行います。
コマンド | 目的 |
---|---|
show running-config aclmgr | スイッチで設定された ACL の実行コンフィギュレーションを表示します。 |
show users | 接続されているユーザを表示します。 |
show access-lists access-list-name | エントリ単位の統計情報を表示します。 |
次に、コンソール回線(ttyS0)および VTY 回線(pts/0 および pts/1)の接続ユーザの例を示します。
switch# show users NAME LINE TIME IDLE PID COMMENT admin ttyS0 Aug 27 20:45 . 14425 * admin pts/0 Aug 27 20:06 00:46 14176 (172.18.217.82) session=ssh admin pts/1 Aug 27 20:52 . 14584 (10.55.144.118)
次に、172.18.217.82 を除き、すべての IPv4 ホストへの VTY 接続を許可する例と、10.55.144.118、172.18.217.79、172.18.217.82、172.18.217.92 を除き、すべての IPv4 ホストへの VTY 接続を拒否する例を示します。
switch# show running-config aclmgr !Time: Fri Aug 27 22:01:09 2010 version 5.0(2)N1(1) ip access-list ozi 10 deny ip 172.18.217.82/32 any 20 permit ip any any ip access-list ozi2 10 permit ip 10.55.144.118/32 any 20 permit ip 172.18.217.79/32 any 30 permit ip 172.18.217.82/32 any 40 permit ip 172.18.217.92/32 any line vty access-class ozi in access-class ozi2 out
次に、ACL のエントリ単位の統計情報をイネーブルにして、IP アクセス リストを設定する例を示します。
switch# configure terminal Enter configuration commands, one per line. End with CNTL/Z. switch(config)# ip access-list ozi2 switch(config-acl)# statistics per-entry switch(config-acl)# deny tcp 172.18.217.83/32 any switch(config-acl)# exit switch(config)# ip access-list ozi switch(config-acl)# statistics per-entry switch(config-acl)# permit ip 172.18.217.20/24 any switch(config-acl)# exit switch#
次に、in および out 方向で VTY の ACL を適用する例を示します。
switch(config)# line vty switch(config-line)# ip access-class ozi in switch(config-line)# access-class ozi2 out switch(config-line)# exit switch#
次に、VTY 回線でアクセス制限を削除する例を示します。
switch# configure terminal Enter configuration commands, one per line. End with CNTL/Z. switch(config)# line vty switch(config-line)# no access-class ozi2 in switch(config-line)# no ip access-class ozi2 in switch(config-line)# exit switch#