Cisco 7600 シリーズ ルータ Cisco IOS ソフトウェア コンフィギュレーション ガイド Release 12.2SX
Cisco IOS ACLサポートの概要
Cisco IOS ACLサポートの概要
発行日;2012/02/04 | ドキュメントご利用ガイド | ダウンロード ; この章pdf , ドキュメント全体pdf (PDF - 8MB) | フィードバック

目次

Cisco IOS ACLサポートの概要

Cisco IOS ACL設定時の注意事項および制約事項

ハードウェアおよびソフトウェアACLのサポート

Supervisor Engine 720でのOAL

OALの概要

OALに関する注意事項および制約事項

OALの設定

OALグローバル パラメータの設定

インターフェイスでのOALの設定

OAL情報の表示

キャッシュされたOALエントリのクリア

ACLにおけるレイヤ4演算の使用上の注意事項および制約事項

レイヤ4演算の使用

LOUの使用

Cisco IOS ACLサポートの概要

この章では、Cisco 7600シリーズ ルータのCisco IOS Access Control List(ACL;アクセス制御リスト)サポートについて説明します。

「Cisco IOS ACL設定時の注意事項および制約事項」

「ハードウェアおよびソフトウェアACLのサポート」

「Supervisor Engine 720でのOAL」

「ACLにおけるレイヤ4演算の使用上の注意事項および制約事項」

Cisco IOS ACL設定の詳細については、次のURLにある『Cisco IOS Security Configuration Guide』Release 12.2の「Traffic Filtering and Firewalls」を参照してください。

http://www.cisco.com/univercd/cc/td/doc/product/software/ios122/122cgcr/fsecur_c/ftrafwl/index.htm

Cisco IOS ACL設定時の注意事項および制約事項

Cisco IOS ACL設定には、次の注意事項および制約事項が適用されます。

Cisco IOS ACLをレイヤ3ポートおよびVLAN(仮想LAN)インターフェイスに直接、適用できます。

VLAN ACL(VACL)をVLANに適用できます(「VACLの設定」を参照)。

各タイプのACL(IP、Internetwork Packet Exchange[IPX]、およびMAC[メディア アクセス制御])は対応するトラフィック タイプだけをフィルタリングします。Cisco IOS MAC ACLがIPまたはIPXトラフィックと一致することはありません。

PFCでは、ハードウェアでCisco IOS IPX ACLをサポートしません。Cisco IOS IPX ACLは、MSFCのソフトウェアでサポートされます。

パケットがアクセス グループによって拒否された場合、デフォルトでMSFCがInternet Control Message Protocol(ICMP)到達不能メッセージを送信します。

ip unreachables コマンドがイネーブルの場合(デフォルト)、スーパバイザ エンジンは拒否されたパケットの大部分をハードウェアで廃棄し、一部のパケット(最大で10パケット/秒)だけがMSFCに送信されて廃棄されます(これによりICMP到達不能メッセージが生成されます)。

拒否されたパケットを廃棄し、ICMP到達不能メッセージを生成することによってMSFCのCPUにかかる負荷を軽減するには、 no ip unreachables インターフェイス コンフィギュレーション コマンドを入力して、ICMP到達不能メッセージをディセーブルにします。これにより、アクセス グループによって拒否されたすべてのパケットがハードウェアで廃棄されます。

パケットがVACLによって拒否された場合、ICMP到達不能メッセージは送信されません。

ハードウェアおよびソフトウェアACLのサポート

ACLは、ハードウェアの場合にはPFC、Distributed Forwarding Card(DFC)で、ソフトウェアの場合にはMSFCで処理できます。次の動作における、ACLのソフトウェアとハードウェア処理を説明します。

標準ACLおよび拡張ACL(入力および出力)の[deny]ステートメントに一致するACLフローは、[ip unreachables]がディセーブルに設定されている場合、ハードウェアによって廃棄されます。

標準ACLおよび拡張ACL(入力および出力)の[permit]ステートメントに一致するACLフローは、ハードウェアで処理されます。

VACLフローはハードウェアで処理されます。VACLで指定されたフィールドのハードウェア処理がサポートされていない場合、このフィールドは無視されるか(ACLの log キーワードなど)、または設定全体が拒否されます(IPX ACLパラメータを含むVACLなど)。

VACLログ機能はソフトウェアで処理されます。

ダイナミックACLフローはハードウェアで処理されます。ただし、アイドル タイムアウトはソフトウェアで処理されます。

特定のポート上のACLアクセス違反のIPアカウントは、そのポート上で拒否された全パケットをMSFCに転送し、ソフトウェアで処理させることによってサポートされます。この動作は他のフローには影響しません。

PFCでは、ハードウェアでCisco IOS IPX ACLをサポートしません。Cisco IOS IPX ACLは、MSFCのソフトウェアでサポートされます。

名前ベースの拡張MACアドレスACLは、ハードウェアでサポートされています。

次のACLタイプは、ソフトウェアによって処理されます。

Internetwork Packet Exchange(IPX)アクセス リスト

標準XNSアクセス リスト

拡張XNSアクセス リスト

DECnetアクセス リスト

拡張MACアドレス アクセス リスト

プロトコル タイプコード アクセス リスト


) ヘッダー長が5バイト未満のIPパケットは、アクセス制御されません。


最適化されたACL logging(OAL;Optimized ACL Logging、Supervisor Engine 720でのOALを参照)を設定しないかぎり、ロギングを必要とするフローはソフトウェアで処理され、ハードウェアでの非ロギング フローの処理には影響しません。

ソフトウェアで処理されるフローの転送レートは、ハードウェアで処理されるフローに比べると、大幅に小さくなります。

show ip access-list コマンドの出力に表示されるマッチ カウントには、ハードウェアで処理されたパケットは含まれません。

Supervisor Engine 720でのOAL


) Supervisor Engine 2は、OALをサポートしていません。


Release 12.2(17d)SXB以降のリリースは、Supervisor Engine 720でOALをサポートします。ここでは、OALについて説明します。

「OALの概要」

「OALに関する注意事項および制約事項」

「OALの設定」

OALの概要

OALは、ACLロギングをハードウェアでサポートしています。OALを設定しないかぎり、ロギングを必要とするパケットは、MSFC3のソフトウェアで完全に処理されます。OALでは、PFC3のハードウェアでパケットの許可または廃棄を行い、最適化ルーチンを使用して情報をMSFC3に送信し、ロギング メッセージを生成します。

OALに関する注意事項および制約事項

OALには、次の注意事項および制約事項が適用されます。

OALキャプチャとVACLキャプチャには互換性がありません。ルータで両方の機能を混同しないでください。OALが設定された状態で、SPANを使用してトラフィックをキャプチャします。

OALはSupervisor Engine 720のみでサポートされています。

OALはIPv4ユニキャスト パケットのみをサポートしています。

OALは、許可された入力トラフィックのVACLロギングをサポートしています。

OALは、次のものに対してはハードウェアでのサポートをしていません。

再帰ACL

他の機能(QoSなど)のトラフィックのフィルタ処理に使用されるACL

例外パケット(TTL障害やMTU障害など)

IPオプションが指定されたパケット

レイヤ3でルータへのアドレスが指定されたパケット

ICMP到達不能メッセージを生成するためにMSFC3へ送信されるパケット

ハードウェアでは加速されず、機能によって処理されるパケット

拒否されたパケットにOALサポートを提供するには、 mls rate-limit unicast ip icmp unreachable acl-drop 0 コマンドを入力します。

OALの設定

ここでは、OALの設定手順について説明します。

「OALグローバル パラメータの設定」

「インターフェイスでのOALの設定」

「OAL情報の表示」

「キャッシュされたOALエントリのクリア」


) 拒否されたパケットにOALサポートを提供するには、mls rate-limit unicast ip icmp unreachable acl-drop 0コマンドを入力します。


OALグローバル パラメータの設定

OALグローバル パラメータを設定するには、次の作業を行います。

 

コマンド
説明

Router(config)# logging ip access-list cache {{ entries number_of_entries } | { interval seconds } | { rate-limit number_of_packets } | { threshold number_of_packets }}

OALグローバル パラメータを設定します。

Router(config)# no logging ip access-list cache { entries | interval | rate-limit | threshold }

OALグローバル パラメータをデフォルトに戻します。

OALを設定する場合、次の点に注意してください。

entries number_of_entries :

キャッシュされるエントリの最大数を設定します。

範囲:0~1,048,576(カンマを含めないで入力)

デフォルト: 8000

interval seconds :

ログのためにエントリが送信されるまでの最大時間を設定します。この時間中エントリが非アクティブの場合、キャッシュから削除されます。

範囲:5~86,400(1440分つまり24時間、カンマを含めないで入力)

デフォルト:300秒(5分)

rate-limit number_of_packets :

ソフトウェアで1秒間にログに記録されるパケット数を設定します。

範囲:10~1,000,000(カンマを含めないで入力)

デフォルト:0(レート制限がオフになり、すべてのパケットがログに記録されます)

threshold number_of_packets :

エントリがログに記録されるまでに一致するパケット数を設定します。

範囲:10~1,000,000(カンマを含めないで入力)

デフォルト:0(一致パケット数に達してもログの記録は開始されません)

インターフェイスでのOALの設定

インターフェイスでOALを設定するには、次の作業を行います。

 

コマンド
説明

ステップ 1

Router(config)# interface {{ type 1 slot/port }

設定するインターフェイスを指定します。

ステップ 2

Router(config-if)# logging ip access-list cache in

インターフェイスの入力トラフィックに対してOALをイネーブルにします。

Router(config-if)# no logging ip access-list cache

インターフェイスでのOALをディセーブルにします。

ステップ 3

Router(config-if)# logging ip access-list cache out

インターフェイスの出力トラフィックに対してOALをイネーブルにします。

Router(config-if)# no logging ip access-list cache

インターフェイスでのOALをディセーブルにします。

1.type = レイヤ3スイッチド トラフィックをサポートする任意のタイプ

OAL情報の表示

OAL情報を表示するには、次の作業を行います。

 

コマンド
説明
Router # show logging ip access-list cache

OAL情報を表示します。

キャッシュされたOALエントリのクリア

キャッシュされたOALエントリをクリアするには、次の作業を行います。

 

コマンド
説明
Router # clear logging ip access-list cache

キャッシュされたOALエントリをクリアします。

ACLにおけるレイヤ4演算の使用上の注意事項および制約事項

ここでは、レイヤ4ポート演算を含むACLを設定する場合の注意事項および制約事項について説明します。

「レイヤ4演算の使用」

「LOUの使用」

レイヤ4演算の使用

次のタイプの演算子を指定できます。

gt(greater than:より大きい)

lt(less than:より小さい)

neq(not equal:等しくない)

eq(equal:等しい)

range(inclusive range:包含範囲)

1つのACLに指定する演算は、9つまでにしてください。この数を超えると、新しい演算によって影響されるACEが、複数のACEに分割されることがあります。

レイヤ4演算を使用するときは、次の2つの注意事項に従ってください。

レイヤ4演算は、演算子またはオペランドが異なっていると、違う演算であるとみなされます。たとえば、次のACLには3つの異なるレイヤ4演算が定義されています([gt 10]と[gt 11]は2つの異なるレイヤ4演算とみなされています)。

... gt 10 permit
... lt 9 deny
... gt 11 deny

) [eq]演算子の使用に制限はありません。[eq]演算子はLogical Operation Unit(LOU;論理演算ユニット)やレイヤ4演算ビットを使用しないためです。LOUについては、「LOUの使用」を参照してください。


レイヤ4演算は、同じ演算子/オペランドの組み合わせでも、送信元ポートに適用するか宛先ポートに適用するかによって異なる演算になります。たとえば次のACLでは、1つのACEには送信元ポート、もう1つのACEには宛先ポートが指定されているので、2つの異なるレイヤ4演算が定義されていることになります。

... Src gt 10 ...
... Dst gt 10

LOUの使用

LOUは、演算子/オペランドの組み合わせを保管するレジスタです。ACLはすべて、LOUを使用します。最大32のLOUがあります。各LOUには、2つの異なる演算子/オペランドの組み合わせを保管できますが、range演算子だけは例外です。レイヤ4演算は、次のようにLOUを使用します。

gt は、1/2 LOUを使用します。

lt は、1/2 LOUを使用します。

neq は、1/2 LOUを使用します。

range は、1 LOUを使用します。

eq は、LOUを使用しません。

たとえば、次のACLでは、1つのLOUに2つの異なる演算子/オペランドの組み合わせが保管されます。

... Src gt 10 ...
... Dst gt 10
 

以下は、より詳細な例です。

ACL1
... (dst port) gt 10 permit
... (dst port) lt 9 deny
... (dst port) gt 11 deny
... (dst port) neq 6 permit
... (src port) neq 6 deny
... (dst port) gt 10 deny
 
ACL2
... (dst port) gt 20 deny
... (src port) lt 9 deny
... (src port) range 11 13 deny
... (dst port) neq 6 permit
 

レイヤ4演算数とLOU数は、次のとおりです。

ACL1のレイヤ4演算: 5

ACL2のレイヤ4演算: 4

LOU: 4

LOUは、次のように使用されています。

LOU 1に、[gt 10]および[lt 9]が保管されます。

LOU 2に、[gt 11]および[neq 6]が保管されます。

LOU 3に、[gt 20]が保管されます(半分は空き)。

LOU 4に、[range 11 13]が保管されます(rangeは1 LOUを使用)。