Catalyst 3550 マルチレイヤ スイッチ ソフトウェア コンフィギュレーション ガイド Cisco IOS Release 12.2(25)SEC
ACL によるネットワーク セキュリティの設定
ACL によるネットワーク セキュリティの設定
発行日;2013/06/03 | 英語版ドキュメント(2009/02/14 版) | ドキュメントご利用ガイド | ダウンロード ; この章pdf , ドキュメント全体pdf (PDF - 14MB) | フィードバック

目次

ACL によるネットワーク セキュリティの設定

ACL の概要

サポートされる ACL

ルータ ACL

ポート ACL

VLAN マップ

フラグメント化されたトラフィックとフラグメント化されていないトラフィックの処理

IP ACL の設定

ルータ ACL のハードウェアおよびソフトウェアの処理

入力ルータ ACL の設定時の注意事項

サポートされていない機能

標準および拡張 IP ACL の作成

アクセス リスト番号

番号制標準 ACL の作成

番号付き拡張 ACL の作成

ACL 内の ACE の並べ替え

名前付き標準および拡張 IP ACL の作成

ACL での時間範囲の使用

ACL へのコメントの挿入

インターフェイスまたは端末回線に対する IP ACL の適用

IP ACL の設定例

番号付き ACL の有無

拡張 ACL の有無

名前付き ACL の有無

IP ACL に適用される時間範囲

コメント付きの IP ACL エントリ

ACL ロギング

名前付き MAC 拡張 ACL の設定

レイヤ 2 インターフェイスへの MAC ACL の適用

VLAN マップの設定

VLAN マップの設定時の注意事項

VLAN マップの作成

ACL および VLAN マップの例

VLAN への VLAN マップの適用

ネットワークでの VLAN マップの使用法

ワイヤリング クローゼットの設定

別の VLAN にあるサーバへのアクセスの拒否

ルータ ACL を VLAN マップと組み合わせて使用する方法

ルータ ACL を VLAN マップと併用する場合の注意事項

VLAN に適用されるルータ ACL と VLAN マップの例

ACL およびスイッチド パケット

ACL およびブリッジド パケット

ACL およびルーテッド パケット

ACL およびマルチキャスト パケット

ACL 情報の表示

ACL の設定の表示

ACL リソース使用量と設定上の問題の表示

設定の競合

ハードウェアに適合する ACL 設定

TCAM 使用率

ACL によるネットワーク セキュリティの設定

この章では、Access Control List(ACL; アクセス コントロール リスト)を使用して、Catalyst 3550 スイッチにネットワーク セキュリティを設定する方法について説明します。ACL は、コマンドやテーブルではアクセス リストとも呼びます。

この章で使用されるコマンドの構文および使用方法の詳細については、このリリースのコマンド リファレンスと『 Cisco IOS IP Configuration Guide, Release 12.2 』の「IP Addressing and Services」の章の「Configuring IP Services」、および次のソフトウェア コンフィギュレーション ガイドおよびコマンド リファレンスを参照してください。

『Cisco IOS IP Command Reference, Volume 1 of 3: Addressing and Services, Release 12.2』

『Cisco IOS IP Command Reference, Volume 2 of 3: Routing Protocols, Release 12.2』

『Cisco IOS IP Command Reference, Volume 3 of 3: Multicast, Release 12.2』

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

「ACL の概要」

「IP ACL の設定」

「名前付き MAC 拡張 ACL の設定」

「VLAN マップの設定」

「ルータ ACL を VLAN マップと組み合わせて使用する方法」

「ACL 情報の表示」


) スイッチで許容される数のセキュリティ アクセス コントロール エントリ(ACE)を最大化するようにシステム リソースを割り当てるには、sdm prefer access グローバル コンフィギュレーション コマンドを使用して、アクセス テンプレートに優先 Switch Database Management(sdm)機能を設定します。SDM テンプレートの詳細については、「ユーザ選択機能のためのシステム リソースの最適化」を参照してください。
設定のリソース使用状況の確認方法については、「ACL リソース使用量と設定上の問題の表示」を参照してください。


ACL の概要

パケット フィルタリングは、ネットワーク トラフィックを限定し、特定のユーザまたはデバイスによるネットワークの使用を制限するうえで役立ちます。ACL は、ルータの通過時にトラフィックをフィルタリングし、指定されたインターフェイスでパケットを許可または拒否します。ACL は、パケットに適用される許可条件および拒否条件の順序付けられた集まりです。パケットがインターフェイスに着信すると、スイッチはパケット内のフィールドを適用される ACL と比較し、アクセス リストに指定された基準に基づいて、パケットが転送に必要な権限を持っているかどうかを確認します。パケットは、アクセス リスト内の条件に対して 1 つずつテストされます。最初に一致した条件によって、スイッチがパケットを許可するかまたは拒否するかが決まります。スイッチは、最初に一致した時点で条件のテストを中止するため、リストに条件を指定する順序が重要です。一致する条件がない場合、パケットは拒否されます。スイッチは、制限条件がない場合はパケットを転送し、制限条件がある場合はパケットをドロップします。

従来、スイッチはレイヤ 2 のみで稼働し、VLAN 内でトラフィックをスイッチングしていました。一方、ルータは VLAN 間でトラフィックをルーティングしていました。Catalyst 3550 スイッチは、レイヤ 3 スイッチングを使用して、VLAN 間のパケット ルーティングの速度を向上させます。スイッチがパケットをブリッジングすると、パケットは外部ルータに渡されずに内部的にルーティングされた後、再びブリッジングされて宛先に送信されます。スイッチはこのプロセス中に、VLAN 内でブリッジングされるパケットを含めて、スイッチングされるすべてのパケットのアクセスを制御できます。

ネットワークに基本的なセキュリティを導入する場合は、ルータまたはスイッチにアクセス リストを設定します。ACL を設定しなければ、スイッチを通過するすべてのパケットがネットワークのあらゆる部分で許可される可能性があります。ACL を使用すると、ネットワークの場所ごとにアクセス可能なホストを制御したり、ルータ インターフェイスで転送またはブロックされるトラフィックの種類を決定したりできます。たとえば、電子メール トラフィックの転送を許可し、Telnet トラフィックの転送を拒否することもできます。ACL を着信トラフィック、発信トラフィック、またはその両方をブロックするように設定することもできます。ただし、レイヤ 2 インターフェイスでは、ACL を適用できるのは着信方向だけです。

ACL には、Access Control Entry(ACE; アクセス コントロール エントリ)の順序付けられたリストが含まれています。各 ACE には、 permit または deny と、パケットが ACE と一致するために満たす必要のある一連の条件を指定します。 permit または deny の意味は、ACL が使用されるコンテキストによって変わります。

スイッチでは、次の 2 種類の ACL がサポートされています。

IP ACL は、TCP、ユーザ データグラム プロトコル(UDP)、インターネット グループ管理プロトコル(IGMP)、インターネット制御メッセージ プロトコル(ICMP)などの IP トラフィックをフィルタリングします。

イーサネット ACL または MAC ACL は、非 IP トラフィックをフィルタリングします。

サポートされる ACL

トラフィックをフィルタリングするため、次に示す 3 種類の ACL がサポートされています。

ルータ ACL は、VLAN 間でルーティングされたトラフィックをアクセス コントロールし、レイヤ 3 インターフェイスに適用されます。1 つのインターフェイスの方向ごとに、ルータ ACL を 1 つ適用できます。

ポート ACL は、レイヤ 2 インターフェイスに入るトラフィックをアクセス コントロールします。スイッチでは、発信方向のポート ACL はサポートしません。1 つのレイヤ 2 インターフェイスに適用できるのは、IP アクセス リスト 1 つと MAC アクセス リスト 1 つだけです。

VLAN ACL または VLAN マップは、すべてのパケット(ブリッジド パケットおよびルーテッド パケット)のアクセスを制御します。VLAN マップを使用すると、同じ VLAN 内のデバイス間で転送されるトラフィックをフィルタリングできます。VLAN マップは、IP のレイヤ 3 アドレスに基づいてアクセス コントロールするように設定されています。イーサネット ACE を使用すると MAC アドレスにより、サポートされていないプロトコルがアクセス コントロールされます。VLAN マップを VLAN に適用すると、VLAN に入るすべてのパケット(ルーテッド パケットまたはブリッジド パケット)が VLAN マップと照合されます。パケットは、スイッチ ポートを介して、または、ルーティングされたパケットの場合、ルーテッド ポートを介して、VLAN に入ることができます。

同じスイッチ上でルータ ACL と VLAN マップを両方使用できます。ただし、入力ルータ ACL または VLAN マップを含むスイッチでポート ACL を使用できません。

スイッチに、適用された IP アクセス リストまたは MAC アクセス リストを使用したレイヤ 2 インターフェイスがある場合、IP アクセス リストと VLAN マップを作成できますが、そのスイッチの入力レイヤ 3 インターフェイスに IP アクセス リストを適用したり、スイッチの VLAN に VLAN マップを適用したりできません。この操作を行おうとすると、エラー メッセージが生成されます。ポート ACL があるスイッチの出力レイヤ 3 インターフェイスに IP アクセス リストを適用することはできます。

スイッチに入力レイヤ 3 ACL または VLAN マップが適用されている場合、そのスイッチのレイヤ 2 インターフェイスに IP アクセス リストまたは MAC アクセス リストを追加できません。この操作を行おうとすると、エラー メッセージが生成されます。スイッチの出力レイヤ 3 インターフェイスに ACL が適用されている場合、ポート ACL を適用できます。

インターフェイスで IEEE 802.1Q トンネリングを設定している場合、トンネル ポートで受信した IEEE 802.1Q カプセル化 IP パケットは、MAC ACL によってフィルタリングされますが、IP ACL ではフィルタリングされません。これは、スイッチが IEEE 802.1Q ヘッダー内部のプロトコルを認識しないためです。ルータ ACL、ポート ACL、および VLAN マップに、この制限が適用されます。IEEE 802.1Q トンネリングの詳細については、「IEEE 802.1Q トンネリングおよびレイヤ 2 プロトコル トンネリングの設定」を参照してください。

このスイッチは、Quality of Service(QoS)分類 ACL もサポートしています。詳細については、「QoS ACL に基づく分類」を参照してください。

ルータ ACL

VLAN へのレイヤ 3 インターフェイスである SVI、物理レイヤ 3 インターフェイス、およびレイヤ 3 EtherChannel インターフェイスに、ルータ ACL を適用できます。ルータ ACL は、特定の方向(着信または発信)のインターフェイスで適用されます。各方向に 1 つの IP アクセス リストを適用できます。

1 つの ACL をある特定インターフェイスの複数の機能に使用できます。また、1 つの機能に複数の ACL を使用することもできます。1 つのルータ ACL を複数の機能で使用する場合、そのルータ ACL は複数回、照合されます。

標準 IP アクセス リストでは、照合操作に送信元アドレスを使用します。

拡張 IP アクセス リストは、送信元アドレス、宛先アドレス、およびオプションのプロトコル タイプ情報を使用して一致処理を行います。

スイッチは、特定のインターフェイスおよび方向に対する設定機能に関連付けられている ACL をテストします。パケットがスイッチのインターフェイスに着信すると、そのインターフェイスに設定されているすべての着信機能に対応する ACL が照合されます。パケットがルーティングされてからネクスト ホップに転送されるまでの間に、出力インターフェイスに設定された発信機能に対応するすべての ACL が照合されます。

ACL は、パケットが ACL 内のエントリとどのように一致したかに基づいてパケットの転送を許可または拒否します。たとえば、アクセス リストを使用すると、ネットワークの特定の場所へのアクセスを特定のホストに許可し、別のホストに対しては禁止できます。図 28-1 では、ルータへの入力に適用されている ACL により、ホスト A は人事部ネットワークへのアクセスが許可されますが、ホスト B は拒否されます。

図 28-1 ACL によるネットワークへのトラフィックの制御

 

ポート ACL

スイッチ上のレイヤ 2 インターフェイスにも ACL を適用できます。ポート ACL を使用できるのは、物理インターフェイスだけです。EtherChannel インターフェイスでは使用できません。ポート ACL をインターフェイスに適用できるのは、着信トラフィックに対してだけです。レイヤ 2 インターフェイスでは、次のアクセス リストがサポートされています。

送信元アドレスを使用する IP アクセス リスト

送信元および宛先のアドレスと任意でプロトコル タイプ情報を使用できる拡張 IP アクセス リスト

送信元および宛先の MAC アドレスと任意でプロトコル タイプ情報を使用できる MAC 拡張アクセス リスト

ルータ ACL と同様、スイッチは所定のインターフェイスに設定されている機能に関連付けられている ACL をテストし、パケットが ACL 内のエントリと一致するかどうかによって、パケットの転送を許可または拒否します。ただし、ACL は、着信方向のレイヤ 2 インターフェイスだけに適用できます。図 28-1 の例では、すべてのワークステーションが同じ VLAN 内にある場合、レイヤ 2 の入力に適用されている ACL によって、ホスト A は人事部ネットワークへのアクセスが許可されますが、ホスト B は同じネットワークへのアクセスを拒否されます。

ポート ACL をトランク ポートに適用すると、ACL はそのトランク ポート上のすべての VLAN でトラフィックをフィルタリングします。音声 VLAN があるポートに PACL を適用すると、データ VLAN と音声 VLAN の両方でその ACL によるトラフィックのフィルタリングが行われます。

ポート ACL では、IP アクセス リストを使用して IP トラフィックをフィルタリングでき、MAC アドレスを使用して非 IP トラフィックをフィルタリングできます。同じレイヤ 2 インターフェイス上で IP トラフィックと非 IP トラフィックの両方をフィルタリングするには、そのインターフェイスに IP アクセス リストと MAC アクセス リストの両方を適用します。


) 1 つのレイヤ 2 インターフェイスに、IP アクセス リストと MAC アクセス リストのそれぞれを 2 つ以上適用できません。すでに IP アクセス リストまたは MAC アクセス リストが設定されているレイヤ 2 インターフェイスに新しい IP アクセス リストまたは MAC アクセス リストを適用すると、設定済みの ACL が新しい ACL に置き換えられます。


VLAN マップ

VLAN マップでは、 すべての トラフィックをアクセス コントロールできます。VLAN の内外でルーティングされる、または VLAN 内でブリッジングされる すべてのパケット に対して、スイッチの VLAN マップを適用できます。VLAN マップは、セキュリティ パケット フィルタリングのみに使用されます。ルータ ACL と異なり、VLAN マップでは方向(着信または発信)は定義されません。

VLAN マップを設定すると、IP トラフィックのレイヤ 3 アドレスと照合することができます。すべての非 IP プロトコルは、MAC VLAN マップを使用して、MAC アドレスおよび Ethertype によってアクセス コントロールされます (IP トラフィックには、MAC VLAN マップによるアクセス コントロールが できません )。VLAN マップはスイッチを通過するパケットにだけ適用できます。ハブ上またはこのスイッチに接続された別のスイッチ上のホスト間のトラフィックには、VLAN マップを適用させることができません。

VLAN マップを使用すると、マップに指定されたアクションに基づいてパケットの転送が許可または拒否されます。図 28-2 に、VLAN マップを適用して、特定タイプのトラフィックを VLAN 10 のホスト A から転送できないように設定する例を示します。

図 28-2 VLAN マップによるトラフィックの制御

 

フラグメント化されたトラフィックとフラグメント化されていないトラフィックの処理

IP パケットは、ネットワークを通過するときにフラグメント化されることがあります。その場合、TCP または UDP ポート番号や ICMP タイプおよびコードなどのレイヤ 4 情報は、パケットの最初の部分があるフラグメントだけに含まれます。他のフラグメントには、この情報はありません。

ACE には、レイヤ 4 情報をチェックしないため、すべてのパケット フラグメントに適用されるものがあります。レイヤ 4 情報を調べる ACE は、フラグメント化された IP パケットのほとんどのフラグメントに標準的な方法では適用できません。フラグメントにレイヤ 4 情報が含まれておらず、ACE がレイヤ 4 情報をテストする場合は、照合のルールが変更されます。

フラグメント内のレイヤ 3 情報(TCP や UDP などのプロトコル タイプを含む)をチェックする許可 ACE は、含まれていないレイヤ 4 情報の種類にかかわらず、フラグメントと一致すると見なされます。

レイヤ 4 情報をチェックする拒否 ACE は、フラグメントにレイヤ 4 情報が含まれていない限り、フラグメントと一致しません。

次のコマンドで構成され、フラグメント化された 3 つのパケットに適用されるアクセス リスト 102 を例に取って説明します。

Switch (config)# access-list 102 permit tcp any host 10.1.1.1 eq smtp
Switch (config)# access-list 102 deny tcp any host 10.1.1.2 eq telnet
Switch (config)# access-list 102 permit tcp any host 10.1.1.2
Switch (config)# access-list 102 deny tcp any any
 

) 最初の 2 つの ACE には宛先アドレスの後に eq キーワードがありますが、これは既知の TCP 宛先ポート番号がそれぞれ Simple Mail Transfer Protocol(SMTP; シンプル メール転送プロトコル)および Telnet と一致するかどうかをチェックすることを意味します。


パケット A は、ホスト 10.2.2.2 のポート 65000 からホスト 10.1.1.1 の SMTP ポートに送信される TCP パケットです。このパケットがフラグメント化された場合、レイヤ 4 情報がすべて揃っているため、完全なパケットである場合と同じように最初のフラグメントが最初の ACE(permit)と一致します。残りのフラグメントも最初の ACE と一致します。これは、それらのフラグメントに SMTP ポート情報が含まれていなくても、最初の ACE が適用されたときにレイヤ 3 情報だけをチェックするからです。この例の情報は、パケットが TCP であることと、宛先が 10.1.1.1 であることです。

パケット B は、ホスト 10.2.2.2 のポート 65001 からホスト 10.1.1.2 の Telnet ポートに送信されます。このパケットがフラグメント化された場合、レイヤ 3 情報とレイヤ 4 情報がすべて揃っているため、最初のフラグメントが 2 つめの ACE(deny)と一致します。残りのフラグメントは、レイヤ 4 情報が含まれていないため、2 つめの ACE と一致しません。残りのフラグメントは 3 つめの ACE(permit)と一致します。

最初のフラグメントが拒否されたため、ホスト 10.1.1.2 は完全なパケットを再構成できず、その結果、パケット B は拒否されます。ただし、以降の許可されたフラグメントがネットワークの帯域幅を使用し、ホスト 10.1.1.2 がパケットを再構成しようとするときにホストのリソースが消費されます。

フラグメント化されたパケット C は、ホスト 10.2.2.2 のポート 65001 からホスト 10.1.1.3 のポート ftp に送信されます。このパケットがフラグメント化された場合、最初のフラグメントが 4 つめの ACE(deny)と一致します。ACE はレイヤ 4 情報をチェックせず、すべてのフラグメントのレイヤ 3 情報に宛先がホスト 10.1.1.3 であることが示され、前の permit ACE は異なるホストをチェックしていたため、他のフラグメントもすべて 4 つめの ACE と一致します。

IP ACL の設定

レイヤ 2 スイッチ、レイヤ 3 スイッチ、VLAN インターフェイス上での IP ACL の設定は、他のシスコ製ルータ上での ACL の設定と同じです。ここでは、その設定手順を簡単に説明します。ルータ ACL の設定に関する詳細は、『 Cisco IOS IP Configuration Guide, Release 12.2 』の「IP Addressing and Services」の章にある「Configuring IP Services」を参照してください。コマンドに関する詳細は、次のマニュアルを参照してください。

『Cisco IOS IP Command Reference, Volume 1 of 3: Addressing and Services, Release 12.2』

『Cisco IOS IP Command Reference, Volume 2 of 3: Routing Protocols, Release 12.2』

『Cisco IOS IP Command Reference, Volume 3 of 3: Multicast, Release 12.2』

Catalyst 3550 スイッチではサポートされていない IOS 機能のリストについては、「サポートされていない機能」を参照してください。


注意 パケットがアクセス グループによって拒否された場合、デフォルトでは、ルータは ICMP 到達不能メッセージを送信します。アクセスグループによって拒否されたこれらのパケットはハードウェアでドロップされず、スイッチの CPU にブリッジングされて、ICMP 到達不能メッセージを生成します。アクセス グループによって拒否されたパケットをハードウェアでドロップするには、no ip unreachables インターフェイス コンフィギュレーション コマンドを使用して、ICMP unreachables をディセーブルにする必要があります。ip unreachables コマンドは、デフォルトでイネーブルになっています。

ここでは次の内容について説明します。

「ルータ ACL のハードウェアおよびソフトウェアの処理」

「入力ルータ ACL の設定時の注意事項」

「サポートされていない機能」

「標準および拡張 IP ACL の作成」

「インターフェイスまたは端末回線に対する IP ACL の適用」

「IP ACL の設定例」

ルータ ACL のハードウェアおよびソフトウェアの処理

ACL の処理は主にハードウェアで実行されますが、トラフィック フローの中には CPU に転送してソフトウェア処理を行う必要があるものもあります。ソフトウェア転送トラフィックの転送レートは、ハードウェア転送トラフィックより大幅に低くなります。トラフィック フローのロギングと転送の両方を行う場合、転送はハードウェアで処理されますが、ロギングはソフトウェアで処理する必要があります。ハードウェアとソフトウェアではパケット処理能力が異なるため、ロギング中であるすべてのフロー(許可フローと拒否フロー)の合計帯域幅が非常に大きい場合は、転送されたパケットの一部をロギングできません。

次の場合にパケットが CPU に送信されることがあります。

log キーワードを使用する。

ICMP 到達不能メッセージのイネーブル

ハードウェアが ACL の設定を保存するためのキャパシティに到達

ACL により多数のパケットが CPU に送信されると、スイッチのパフォーマンスが低下する可能性があります。


) ACL 設定が指定した期間安定した後、システムはハードウェアに設定をロードします。ハードウェアのアップデート中は、影響を受けるインターフェイスで転送がブロックされます。この動作を変更するには、mls aclmerge delay および access-list hardware program nonblocking グローバル コンフィギュレーション コマンドを使用できます。このコマンドの説明については、このリリースのコマンド リファレンスを参照してください。


show ip access-lists 特権 EXEC コマンドを入力した場合、表示される一致カウントには、ハードウェアでアクセスが制御されるパケットは含まれません。スイッチド パケットおよびルーテッド パケットに関するハードウェアの ACL の基本的な統計情報を取得する場合は、show access-lists hardware counters 特権 EXEC コマンドを使用します。

IP ACL は、次のように処理されます。

標準 ACL および拡張 ACL(入力および出力)の許可アクションや拒否アクションをハードウェアで制御し、アクセス コントロールのセキュリティを強化します。

ip unreachables がディセーブルの場合、 log を指定しないと、セキュリティ ACL の 拒否 ステートメントと一致するフローがハードウェアによってドロップされます。 許可 ステートメントと一致するフローは、ハードウェアでスイッチングされます。ロギングはポート ACL ではサポートされません。

ルータ ACL の ACE に log キーワードを追加すると、パケットのコピーが CPU に送信され、ロギングだけが行われます。ACE が 許可 ステートメントの場合も、パケットはハードウェアでスイッチングおよびルーティングされます。


) ロギングは、レイヤ 2 インターフェイス(ポート ACL)ではサポートされません。


入力ルータ ACL の設定時の注意事項

入力ルータ ACL を使用する場合、ACL を適用すると TCAM エントリの数が非常に増加する可能性があります。TCAM エントリの数が割り当てられているリソースを超えると、ACL フィルタリングがハードウェアの代わりにソフトウェアで実行され、パフォーマンスの低下を招くことがあります。

過剰な TCAM の使用を回避するいくつかの方法があります。

sdm prefer access グローバル コンフィギュレーション コマンドを使用して、より多くのアクセス リストを割り当てるように Switch Database Management(SDM)テンプレートを変更する。

入力ルータ ACL の代わりに出力ルータ ACL を使用する。

明示的な許可または拒否を設定することで、入力ルータ ACL の TCAM の使用を最小化する。

入力ルータ ACL が適用されると、ルーティング プロトコル パケットと照合し、プロトコル キューに送信する、暗黙の ACL と自動的に結合されます。このマージにより、さらに TCAM エントリが増えます。エントリ数を最小限にするには、ACL の先頭に permit または deny を設定することで、ルーティング プロトコル(RIP、EIGRP、OSPF、BGP および PIM など)を明示的に許可または拒否するようにルータの ACL を設定できます。

次に、TCAM 使用率を最小限に抑えるように入力ルータ ACL を設定する例を示します。

Switch(config)# access-list 100 [permit|deny] tcp any any eq bgp
Switch(config)# access-list 100 [permit|deny] eigrp any any
Switch(config)# access-list 100 [permit|deny] pim any any
Switch(config)# access-list 100 [permit|deny] ospf any any
Switch(config)# access-list 100 [permit|deny] udp any any eq rip
Switch(config)# access-list 100 ...... ACL 100's ACE(s)
Switch(config)# exit

サポートされていない機能

Catalyst 3550 スイッチは、Cisco IOS ルータの ACL に関連する次の機能をサポートしていません。

非 IP プロトコル ACL(表 28-1 を参照)。

ブリッジ グループ ACL。

IP アカウンティング。

着信および発信レート制限(QoS ACL によるレート制限を除く)。

ヘッダー長が 5 未満の IP パケットは、アクセスが制御されません(ICMP パラメータ エラーの結果)。

再帰 ACL。

ダイナミック ACL(スイッチのクラスタリング機能で使用される特別なダイナミック ACL を除く)。

レイヤ 2 ポート ACL の場合、スイッチはロギングまたはアウトバウンド ACL をサポートしません。

標準および拡張 IP ACL の作成

このセクションでは、ルータ IP ACL の作成方法の概要を説明します。ACL は、許可条件と拒否条件の順序付けられた集まりです。スイッチはパケットを 1 つずつ、アクセス リストの条件でテストします。最初に一致した条件によって、スイッチがパケットを受け入れるか拒否するかが決定されます。スイッチは、最初の一致が見つかると条件テストを終了するため、条件の順序が重要になります。一致する条件がない場合、スイッチはパケットを拒否します。

IP ACL を使用する手順は次のとおりです。


ステップ 1 アクセス リストの番号または名前、およびアクセス条件を指定して、ACL を作成します。

ステップ 2 その ACL をインターフェイスまたは端末回線に適用します。標準および拡張 IP ACL を VLAN マップに適用することもできます。


 

ソフトウェアは次に示す ACL スタイル、または IP のアクセス リストをサポートします。

標準 IP アクセス リストでは、照合操作に送信元アドレスを使用します。

拡張 IP アクセス リストでは、照合操作に送信元アドレスと宛先アドレスを使用し、任意でプロトコル タイプ情報を使用して制御のきめ細かさを高めることもできます。

ここでは、アクセス リストとそれらを使用するための手順について説明します。

「アクセス リスト番号」

「番号制標準 ACL の作成」

「番号付き拡張 ACL の作成」

「名前付き標準および拡張 IP ACL の作成」

「ACL での時間範囲の使用」

「ACL へのコメントの挿入」

アクセス リスト番号

ACL を識別するために使用する番号は、作成するアクセス リストのタイプを表します。 表 28-1 に、アクセス リスト番号と対応するアクセス リスト タイプを挙げ、このスイッチでサポートされているかどうかを示します。スイッチでは、IP 標準および IP 拡張アクセス リストがサポートされています(番号は 1 ~199、1300 ~ 2699)。

 

表 28-1 アクセス リスト番号

アクセス リスト番号
タイプ
サポートあり

1 ~ 99

IP 標準アクセス リスト

Yes

100 ~ 199

IP 拡張アクセス リスト

Yes

200 ~ 299

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

No

300 ~ 399

DECnet アクセス リスト

No

400 ~ 499

XNS 標準アクセス リスト

No

500 ~ 599

XNS 拡張アクセス リスト

No

600 ~ 699

AppleTalk アクセス リスト

No

700 ~ 799

48 ビット MAC アドレス アクセス リスト

No

800 ~ 899

IPX 標準アクセス リスト

No

900 ~ 999

IPX 拡張アクセス リスト

No

1000 ~ 1099

IPX SAP アクセス リスト

No

1100 ~ 1199

拡張 48 ビット MAC サマリー アドレス アクセス リスト

No

1200 ~ 1299

IPX サマリー アドレス アクセス リスト

No

1300 ~ 1999

IP 標準アクセス リスト(拡張範囲)

Yes

2000 ~ 2699

IP 拡張アクセス リスト(拡張範囲)

Yes


) 番号指定の標準 ACL および拡張 ACL 以外に、サポートされている番号を使用して名前指定の標準 IP ACL および拡張 IP ACL を作成することもできます。標準 IP ACL の名前は 1 ~ 99 で、拡張 IP ACL の名前は 100 ~ 199 です。番号付きリストの代わりに名前付き ACL を使用することには、エントリを個別に削除できるという利点があります。


番号制標準 ACL の作成

番号制標準 ACL を作成するには、特権 EXEC モードで次の手順を実行します。

 

コマンド
目的

ステップ 1

configure terminal

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

ステップ 2

access-list access-list-number
{ deny | permit }
source [ source-wildcard ] [ log ]

送信元アドレスおよびワイルドカードを使用し、標準 IP アクセス リストを定義します。

access-list-number には、1 ~ 99 または 1300 ~ 1999 の 10 進数を指定します。

条件が一致した場合にアクセスを拒否する場合は deny 、許可する場合は permit を指定します。

source には、パケットの送信元となるネットワークまたはホストのアドレスを次の形式で指定します。

ドット付き 10 進表記による 32 ビット長の値。

source および source-wildcard の 0.0.0.0 255.255.255.255 の省略形を意味するキーワード any 。source-wildcard を入力する必要はありません。

source および source-wildcard の値 source 0.0.0.0 の省略形を意味するキーワード host

(任意) source-wildcard は、ワイルドカード ビットを送信元アドレスに適用します。

(任意) log を指定すると、エントリと一致するパケットに関するログ通知メッセージが作成されコンソールに送信されます。

キーワードは、レイヤ 2 インターフェイスに適用された ACL では無視されます。

ステップ 3

end

特権 EXEC モードに戻ります。

ステップ 4

show access-lists [number | name]

アクセス リストの設定を表示します。

ステップ 5

copy running-config startup-config

(任意)コンフィギュレーション ファイルに設定を保存します。

ACL 全体を削除するには、 no access-list access-list-number グローバル コンフィギュレーション コマンドを使用します。番号付きアクセス リストから個々の ACE は削除できません。


ACL を作成する場合には、ACL の末尾に暗黙的な deny ステートメントがデフォルトで追加され、ACL の終わりに到達するまで一致する条件が見つからなかったすべてのパケットに適用されることに注意してください。標準アクセス リストでは、関連付けられた IP ホスト アドレス ACL の指定からマスクを省略すると、0.0.0.0 がマスクと見なされます。


次に、IP ホスト 171.69.198.102 へのアクセスを拒否し、他のすべてのホストへのアクセスを許可し、結果を表示する標準 ACL の作成例を示します。

Switch (config)# access-list 2 deny host 171.69.198.102
Switch (config)# access-list 2 permit any
Switch(config)# end
Switch# show access-lists
Standard IP access list 2
10 deny 171.69.198.102
20 permit any
 

スイッチは、 host 一致条件があるエントリと don't care マスク 0.0.0.0 を含む一致条件があるエントリがリストの先頭に移動し、0 以外の don't care マスクを含むエントリよりも前に位置するように、標準アクセス リストの順序を書き換えます。そのため、 show コマンドの出力やコンフィギュレーション ファイルでは、ACE が必ずしも入力されたとおりの順序で配置されません。

標準 IP アクセス リストによって許可または拒否されたパケットに関するログ メッセージが、スイッチのソフトウェアによって表示されます。つまり、ACL と一致するパケットがあった場合は、そのパケットに関するログ通知メッセージがコンソールに送信されます。コンソールに表示されるメッセージのレベルは、Syslog メッセージを制御するロギング コンソール コマンドで制御されます。


) ルーティングはハードウェアで、ロギングはソフトウェアで実行されます。したがって、log キーワードを含む許可(permit)または拒否(deny)ACE と一致するパケットが多数存在する場合、ソフトウェアはハードウェアの処理速度に追いつくことができないため、一部のパケットはロギングされない場合があります。


ACL を起動した最初のパケットについては、ログ メッセージがすぐに表示されますが、それ以降のパケットについては、5 分間の収集時間が経過してから表示またはロギングされます。ログ メッセージにはアクセス リスト番号、パケットの許可または拒否に関する状況、パケットの送信元 IP アドレス、および直前の 5 分間に許可または拒否された送信元からのパケット数が示されます。


) 出力 ACL は、マルチキャスト パケットをロギングできません。ロギングは、レイヤ 2 インターフェイスに適用された ACL ではサポートされません。


ACL を作成したら、「インターフェイスまたは端末回線に対する IP ACL の適用」で説明しているように、その ACL を回線またはインターフェイスに適用する必要があります。

番号付き拡張 ACL の作成

標準 ACL の場合、一致基準には送信元アドレスだけが使用されますが、拡張 ACL では送信元および宛先アドレスとともに、オプションとしてプロトコル タイプ情報を使用して照合できるので、より細かな制御が可能です。番号付き拡張アクセス リストの ACE を作成するときには、作成した ACE がリストの末尾に追加されることに注意してください。番号付きリストでは、ACE の順序を変更したり、リスト内の特定の場所に対して ACE を追加または削除したりできません。

一部のプロトコルには、特定のパラメータやキーワードも適用されます。

拡張 ACL は、次の IP プロトコルをサポートします(プロトコル キーワードは太字で括弧内に示されています)。

Authentication Header Protocol( ahp )、Enhanced Interior Gateway Routing Protocol( eigrp )、Encapsulation Security Payload( esp )、Generic Routing Encapsulation( gre )、ICMP( icmp )、IGMP( igmp )、Interior Gateway Routing Protocol( igrp )、任意の Interior Protocol( ip )、IP in IP トンネリング( ipinip )、KA9Q NOS 互換 IP over IP トンネリング( nos )、Open Shortest Path First ルーティング( ospf )、Payload Compression Protocol( pcp )、Protocol Independent Multicast( pim )、伝送制御プロトコル( tcp )、またはユーザ データグラム プロトコル( udp )。


) ICMP エコー応答はフィルタリングできません。他の ICMP コードまたはタイプは、すべてフィルタリングできます。


各プロトコルの特定のキーワードについての詳細は、次のソフトウェアのコンフィギュレーション ガイドおよびコマンド リファレンスを参照してください。

『Cisco IOS IP Command Reference, Volume 1 of 3: Addressing and Services, Release 12.2』

『Cisco IOS IP Command Reference, Volume 2 of 3: Routing Protocols, Release 12.2』

『Cisco IOS IP Command Reference, Volume 3 of 3: Multicast, Release 12.2』


) このスイッチは、ダイナミックまたはリフレクシブ アクセス リストをサポートしていません。また、タイプ オブ サービス(ToS)の minimize-monetary-cost ビットに基づくフィルタリングもサポートしていません。


サポートされているパラメータのカテゴリは、TCP、UDP、ICMP、IGMP、その他の IP です。

拡張 ACL を作成するには、特権 EXEC モードで次の手順を実行します。

 

コマンド
目的

ステップ 1

configure terminal

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

ステップ 2 a

access-list access-list-number
{ deny | permit } protocol
source source-wildcard

destination destination-wildcard [ precedence precedence ]
[ tos tos ] [ fragments ] [ log ] [ log-input ] [ time-range time-range-name ] [ dscp dscp ]

値の両方を入力できます。

拡張 IP アクセス リストおよびアクセス条件を定義します。

access-list-number には、100 ~ 199 または 2000 ~ 2699 の 10 進数を指定します。

条件が一致した場合にパケットを拒否する場合は deny 、許可する場合は permit を指定します。

プロトコル については、IP プロトコルの名前または番号を入力します。名前または番号は、 ahp eigrp esp gre icmp igmp igrp ip ipinip nos ospf pcp pim tcp udp 、あるいは IP プロトコル番号を表す 0 ~ 255 の範囲の整数です。すべてのインターネット プロトコル(ICMP、TCP、UDP を含む)と一致させる場合は、キーワード ip を使用します。

(注) この手順には、ほとんどの IP プロトコルのオプションが含まれています。TCP、UDP、ICMP、および IGMP の追加のパラメータについては、ステップ 2b ~ 2e を参照してください。

source には、パラメータの送信元であるネットワークまたはホストの番号を指定します。

source-wildcard は、ワイルドカード ビットを送信元アドレスに適用します。

destination には、パラメータの宛先であるネットワークまたはホストの番号を指定します。

destination-wildcard は、ワイルドカード ビットを宛先アドレスに適用します。

source、source-wildcard、destination、および destination-wildcard の値は、次の形式で指定します。

ドット付き 10 進表記による 32 ビット長の値。

0.0.0.0 255.255.255.255(任意のホスト)を表すキーワード any

単一のホスト 0.0.0.0 を表すキーワード host

その他のキーワードはオプションであり、次の意味を持ちます。

precedence :パケットを 0 ~ 7 の番号または名前で指定する優先度と一致させる場合に入力します。指定できる値は、 routine 0 )、 priority 1 )、 immediate 2 )、 flash 3 )、 flash-override 4 )、 critical 5 )、 internet (6)、 network 7 )です。

fragments :2 つめ以降のフラグメントをチェックする場合に入力します。

tos :パケットを 0 ~ 15 の番号または名前で指定するサービス タイプ レベルと一致させる場合に入力します。指定できる値は、 normal 0 )、 max-reliability 2 )、 max-throughput 4 )、 min-delay 8 )です。

log :エントリと一致するパケットに関するログ通知メッセージを作成し、コンソールに送信します。 log-input を指定すると、ログ エントリに入力インターフェイスが追加されます。ロギングは、レイヤ 2 インターフェイスに適用された ACL(ポート ACL)ではサポートされません。

time-range :このキーワードの詳細については、「ACL での時間範囲の使用」を参照してください。

dscp :パケットを 0 ~ 63 の番号で指定する DSCP 値と一致させる場合に入力します。また、指定できる値のリストを表示するには、疑問符(?)を使用します。

または

access-list access-list-number { deny | permit } protocol any any [ precedence precedence ] [ tos tos ] [ fragments ] [ log ] [log-input] [ time-range time-range-name ] [ dscp dscp ]

アクセス リスト コンフィギュレーション モードで、source および source wildcard の値 0.0.0.0 255.255.255.255 の省略形と destination および destination wildcard の値 0.0.0.0 255.255.255.255 の省略形を使用して、拡張 IP アクセス リストを定義します。

送信元と宛先のアドレスおよびワイルドカードの代わりに any キーワードを使用できます。

または

access-list access-list-number { deny | permit } protocol
host source host destination [ precedence precedence ] [ tos tos ] [ fragments ] [ log ] [ log-input ] [ time-range time-range-name ] [ dscp dscp ]

送信元と送信元ワイルドカードの値 source 0.0.0.0 の短縮形を使用するか、または宛先と宛先ワイルドカードの値 destination 0.0.0.0 の短縮形を使用し、拡張 IP アクセス リストを定義します。

送信元と宛先のワイルドカードまたはマスクの代わりに、 host キーワードを使用できます。

ステップ 2b

access-list access-list-number
{ deny | permit } tcp source source-wildcard [ operator port ] destination destination-wildcard [ operator port ] [ established ] [ precedence precedence ] [ tos tos ] [ fragments ] [ log ] [ log-input ] [ time-range time-range-name ] [ dscp dscp ] [ flag ]

(任意)拡張 TCP アクセス リストおよびアクセス条件を定義します。

TCP の場合は tcp を入力します。

次に示す例外を除き、ステップ 2a で説明するパラメータと同じパラメータを使用します。

(任意) operator および port を入力すると、送信元ポート( source source-wildcard の後に入力した場合)または宛先ポート( destination destination-wildcard の後に入力した場合)が比較されます。使用可能な演算子は、 eq (等しい)、 gt (より大きい)、 lt (より小さい)、 neq (等しくない)、 range (包含範囲)などです。演算子にはポート番号を指定する必要があります( range の場合は 2 つのポート番号をスペースで区切って指定する必要があります)。

port には、10 進数(0 ~ 65535)のポート番号または TCP ポート名を入力します。TCP ポート名を確認するには、? を使用するか、 あるいは、『 Cisco IOS IP Configuration Guide, Release 12.2 』の「IP Addressing and Services」の章にある「Configuring IP Services」を参照してください。TCP をフィルタリングするときには、TCP ポートの番号または名前だけを使用します。

その他のオプションのキーワードの意味は次のとおりです。

established :確立された接続と照合する場合に入力します。このキーワードは、 ack または rst フラグでの照合と同じ機能を果たします。

flag :指定された TCP ヘッダー ビットを基準にして照合します。入力できるフラグは、 ack (確認応答)、 fin (終了)、 psh (プッシュ)、 rst (リセット)、 syn (同期)、または urg (緊急)です。

ステップ 2c

access-list access-list-number
{ deny | permit } udp
source source-wildcard
[ operator port ] destination destination-wildcard [ operator port ] [ precedence precedence ] [ tos tos ] [ fragments ] [ log ] [log-input] [ time-range time-range-name ] [ dscp dscp ]

(任意)拡張 UDP アクセス リストおよびアクセス条件を定義します。

ユーザ データグラム プロトコルの場合は、 udp を入力します。

UDP パラメータは TCP に関して説明されているパラメータと同じです。ただし、[ operator [ port ]] で指定するポート番号またはポート名は、UDP ポートの番号または名前とします。UDP の場合、 flag および established パラメータは無効です。

ステップ 2d

access-list access-list-number
{ deny | permit } icmp source source-wildcard destination destination-wildcard [ icmp-type | [[ icmp-type icmp-code ] | [icmp-message] ] [ precedence precedence ] [ tos tos ] [ fragments ] [ log ] [log-input] [ time-range time-range-name ] [ dscp dscp ]

(任意)拡張 ICMP アクセス リストおよびアクセス条件を定義します。

インターネット制御メッセージ プロトコルの場合は、 icmp を入力します。

ICMP パラメータはステップ 2a の IP プロトコルの説明にあるパラメータとほとんど同じですが、ICMP メッセージ タイプおよびコード パラメータが追加されています。オプションのキーワードの意味は次のとおりです。

icmp-type :ICMP メッセージ タイプでフィルタリングする場合に入力します。指定できる値の範囲は、0 ~ 255 です。

icmp-code :ICMP メッセージ タイプを基準にしてフィルタリングされた ICMP パケットを、ICMP メッセージ コードを基準にしてフィルタリングします。0 ~ 255 の値を使用できます。

icmp-message :ICMP メッセージ タイプ名または ICMP メッセージのタイプおよびコード名を基準にして、ICMP パケットをフィルタリングします。ICMP メッセージ タイプ名と ICMP メッセージのタイプおよびコード名を表示する場合は、 疑問符(?)を使用するか、『 Cisco IOS IP Configuration Guide, Release 12.2 』の「Configuring IP Services」を参照してください。

ステップ 2e

access-list access-list-number
{ deny | permit } igmp source source-wildcard destination destination-wildcard [ igmp-type ] [ precedence precedence ] [ tos tos ] [ fragments ] [ log ] [log-input] [ time-range time-range-name ] [ dscp dscp ]

(任意)拡張 IGMP アクセス リストおよびアクセス条件を定義します。

インターネット グループ管理プロトコルの場合は、 igmp を入力します。

IGMP パラメータはステップ 2a の IP プロトコルで説明されているパラメータと同じですが、次に示すパラメータが追加されています。

igmp-type :IGMP メッセージ タイプと照合するには、0 ~ 15 の番号またはメッセージ名( dvmrp host-query host-report pim 、または trace )を入力します。

ステップ 3

show access-lists [number | name]

アクセス リストの設定を確認します。

ステップ 4

copy running-config startup-config

(任意)コンフィギュレーション ファイルに設定を保存します。

アクセス リスト全体を削除するには、 no access-list access-list-number グローバル コンフィギュレーション コマンドを使用します。番号付きアクセス リストから個々の ACE は削除できません。

次に、ネットワーク 171.69.198.0 内の任意のホストからネットワーク 172.20.52.0 内の任意のホストへの Telnet アクセスを拒否し、それ以外のアクセスを許可する拡張アクセス リストを作成し、表示する例を示します ( eq キーワードを宛先アドレスの後に指定すると、Telnet に対応する TCP 宛先ポート番号がチェックされます)。

Switch(config)# access-list 102 deny tcp 171.69.198.0 0.0.0.255 172.20.52.0 0.0.0.255 eq telnet
Switch(config)# access-list 102 permit tcp any any
Switch(config)# end
Switch# show access-lists
Extended IP access list 102
10 deny tcp 171.69.198.0 0.0.0.255 172.20.52.0 0.0.0.255 eq telnet
20 permit tcp any any
 

ACL の作成後に(端末からの入力などによって)追加したエントリは、リストの末尾に追加されます。番号付きアクセス リストの特定の場所にはアクセス リスト エントリを追加または削除できません。


ACL を作成するときは、アクセス リストの末尾に暗黙の拒否ステートメントがデフォルトで存在し、それ以前のステートメントで一致が見つからなかったすべてのパケットに適用されることに注意してください。


ACL を作成したら、「インターフェイスまたは端末回線に対する IP ACL の適用」で説明しているように、その ACL を回線またはインターフェイスに適用する必要があります。

ACL 内の ACE の並べ替え

Cisco IOS Release 12.2(18)SE およびそれ以降では、新規 ACL を作成すると、アクセス リストのエントリのシーケンス番号は自動的に生成されます。ACL のシーケンス番号を編集し、ACE が適用される順番を変更するには、 ip access-list resequence グローバル コンフィギュレーション コマンドを使用します。たとえば、ACL に新しい ACE を追加すると、その ACE はリストの末尾に配置されます。この場合、シーケンス番号を変更することで、ACE を ACL 内の別の位置に移動できます。

ip access-list resequence コマンドの詳細については、次の URL にアクセスしてください。

http://www.cisco.com/univercd/cc/td/doc/product/software/ios122s/122snwft/release/122s14/fsaclseq.htm

名前付き標準および拡張 IP ACL の作成

IP ACL を識別する手段として、番号ではなく英数字のストリング(名前)を使用できます。名前付き ACL を使用すると、番号制のアクセス リストより多くの IP アクセス リストをスイッチに設定できます。アクセス リストの識別手段として名前を使用する場合のモードとコマンド構文は、番号を使用する場合とは多少異なります。ただし、IP アクセス リストを使用するすべてのコマンドを名前付きアクセス リストで使用できるわけではありません。


) 標準 ACL または拡張 ACL に指定する名前は、アクセス リスト番号のサポートされる範囲内の番号にすることもできます。標準 IP ACL の名前は 1 ~ 99 で、拡張 IP ACL の名前は 100 ~ 199 です。番号付きリストの代わりに名前付き ACL を使用することには、エントリを個別に削除できるという利点があります。


名前付き ACL を設定するときには、次の注意事項および制限事項に留意してください。

番号付き ACL で使用できるすべてのコマンドが名前付き ACL でも使用できるわけではありません。インターフェイスのパケット フィルタおよびルート フィルタ用の ACL では、名前を使用できます。また、VLAN マップでも名前を指定できます。

標準 ACL と拡張 ACL に同じ名前は使用できません。

「標準および拡張 IP ACL の作成」で説明したとおり、番号付き ACL も使用できます。

VLAN マップには、標準 ACL および拡張 ACL(名前付きまたは番号制)を適用できます。

名前を使用して標準 ACL を作成するには、特権 EXEC モードで次の手順を実行します。

 

コマンド
目的

ステップ 1

configure terminal

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

ステップ 2

ip access-list standard name

名前を使用して標準 IP アクセス リストを定義し、アクセス リスト コンフィギュレーション モードを開始します。

(注) 名前には、1 ~ 99 の番号を使用できます。

ステップ 3

deny { source [ source-wildcard ] | host source | any } [ log ]

または

permit { source [ source-wildcard ] | host source | any } [ log ]

アクセス リスト コンフィギュレーション モードで、1 つ以上の条件を拒否または許可に指定し、パケットの転送またはドロップを決定します。

host source :source および source wildcard の値 source 0.0.0.0

any :source および source wildcard の値 0.0.0.0 255.255.255.255

キーワードは、レイヤ 2 インターフェイスに適用された ACL(ポート ACL)ではサポートされません。

ステップ 4

end

特権 EXEC モードに戻ります。

ステップ 5

show access-lists [number | name]

アクセス リストの設定を表示します。

ステップ 6

copy running-config startup-config

(任意)コンフィギュレーション ファイルに設定を保存します。

名前付き標準 ACL を削除するには、 no ip access-list standard name グローバル コンフィギュレーション コマンドを使用します。

名前を使用して拡張範囲 ACL を作成するには、特権 EXEC モードで次の手順を実行します。

 

コマンド
目的

ステップ 1

configure terminal

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

ステップ 2

ip access-list extended name

名前を使用して拡張 IP アクセス リストを定義し、アクセス リスト コンフィギュレーション モードを開始します。

(注) 名前には、100 ~ 199 の番号を使用できます。

ステップ 3

{ deny | permit } protocol { source [ source-wildcard ] | host source | any } { destination [ destination-wildcard ] | host destination | any } [ precedence precedence ] [ tos tos ] [ established ] [ log ] [ time-range time-range-name ]

アクセス リスト コンフィギュレーション モードで、許可条件または拒否条件を指定します。 log キーワードを使用すると、違反を含むアクセス リストのログ メッセージを取得できます。

プロトコルおよび他のキーワードの定義については、「番号付き拡張 ACL の作成」を参照してください。

host source :source および source wildcard の値 source 0.0.0.0

host destination :destination および destination wildcard の値 destination 0.0.0.0

any :source および source wildcard の値または destination および destination wildcard の値である 0.0.0.0 255.255.255.255

キーワードは、レイヤ 2 インターフェイスに適用された ACL(ポート ACL)ではサポートされません。

ステップ 4

end

特権 EXEC モードに戻ります。

ステップ 5

show access-lists [number | name]

アクセス リストの設定を表示します。

ステップ 6

copy running-config startup-config

(任意)コンフィギュレーション ファイルに設定を保存します。

名前付き標準 ACL を削除するには、 no ip access-list extended name グローバル コンフィギュレーション コマンドを使用します。

標準 ACL または拡張 ACL を作成するときには、ACL の末尾にデフォルトで暗黙的な deny ステートメントが追加され、ACL の終わりに到達するまで一致する条件が見つからなかったすべてのパケットに適用されることに注意してください。標準 ACL では、関連付けられた IP ホスト アドレス アクセス リストの指定からマスクを省略すると、0.0.0.0 がマスクと見なされます。

ACL の作成後に追加したエントリは、リストの末尾に追加されます。ACL エントリを特定の ACL に選択的に追加できません。ただし、 no permit および no deny アクセス リスト コンフィギュレーション モード コマンドを使用すると、名前付き ACL からエントリを削除できます。次に、名前付きアクセス リスト border-list から ACE を個別に削除する例を示します。

Switch(config)# ip access-list extended border-list
Switch(config-ext-nacl)# no permit ip host 10.1.1.3 any
 

番号付き ACL ではなく名前付き ACL を使用する理由の 1 つとして、名前付き ACL では行を選択して削除できることがあります。

ACL を作成したら、「インターフェイスまたは端末回線に対する IP ACL の適用」で説明しているように、その ACL を回線またはインターフェイスに適用する必要があります。

ACL での時間範囲の使用

曜日および時刻に基づいて拡張 ACL を選択的に適用するには、 time-range グローバル コンフィギュレーション コマンドを使用します。まず、時間範囲の名前を定義し、その時間範囲内の時刻および日付または曜日を設定します。次に、ACL を適用してアクセス リストに制限を設定するときに時間範囲を入力します。時間範囲を使用すると、ACL の許可ステートメントまたは拒否ステートメントの有効期間(指定期間内や指定曜日など)を定義できます。 time-range キーワードおよび引数については、「標準および拡張 IP ACL の作成」および「名前付き標準および拡張 IP ACL の作成」にある名前付きおよび番号付き拡張 ACL の作成に関する表を参照してください。

時間範囲を使用して得られる多数の利点の中から、2 つの利点を次に示します。

アプリケーションなどのリソース(IP アドレスとマスクのペア、およびポート番号で識別)へのユーザ アクセスをより厳密に許可または拒否できます。

ログ メッセージを制御できます。ACL エントリを使用して特定の時刻に関してのみトラフィックをロギングできるため、 ピーク時間に生成される多数のログを分析しなくても、簡単にアクセスを拒否できます。


) 時間範囲は、スイッチのシステム クロックに基づきます。したがって、信頼できるクロック ソースが必要です。ネットワーク タイム プロトコル(NTP)を使用してスイッチ クロックを同期させることを推奨します。詳細については、「システム日時の管理」を参照してください。


ACL の時間範囲パラメータを設定するには、特権 EXEC モードで次の手順を実行します。

 

コマンド
目的

ステップ 1

configure terminal

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

ステップ 2

time-range time-range-name

作成する時間範囲には意味のある名前( workhours など)を割り当て、時間範囲コンフィギュレーション モードを開始します。名前にスペースや疑問符を含めることはできません。また、文字から始める必要があります。

ステップ 3

absolute [ start time date ]
[ end time date ]

または

periodic day-of-the-week hh:mm to [ day-of-the-week ] hh:mm

または

periodic { weekdays | weekend | daily } hh:mm to hh:mm

適用対象の機能がいつ動作可能になるかを指定します。

時間範囲には、 absolute ステートメントを 1 つだけ使用できます。複数の absolute ステートメントを設定した場合は、最後に設定したステートメントだけが実行されます

複数の periodic ステートメントを入力できます。たとえば、平日と週末に異なる時間を設定できます。

設定例を参照してください。

ステップ 4

end

特権 EXEC モードに戻ります。

ステップ 5

show time-range

時間範囲の設定を確認します。

ステップ 6

copy running-config startup-config

(任意)コンフィギュレーション ファイルに設定を保存します。

設定した時間範囲の制限を削除するには、 no time-range time-range-name グローバル コンフィギュレーション コマンドを使用します。

複数の項目をそれぞれ異なる時間に有効にする場合は、上記の手順を繰り返してください。

次に、 workhours (営業時間)の時間範囲および会社の休日(2005 年 1 月 1 日)を設定し、設定を確認する例を示します。

Switch(config)# time-range workhours
Switch(config-time-range)# periodic weekdays 8:00 to 12:00
Switch(config-time-range)# periodic weekdays 13:00 to 17:00
Switch(config-time-range)# exit
Switch(config)# time-range new_year_day_2005
Switch(config-time-range)# absolute start 00:00 1 Jan 2005 end 23:59 1 Jan 2005
Switch(config-time-range)# end
Switch# show time-range
time-range entry: new_year_day_2005 (inactive)
absolute start 00:00 01 January 2005 end 23:59 01 January 2005
time-range entry: workhours (inactive)
periodic weekdays 8:00 to 12:00
periodic weekdays 13:00 to 17:00
 

時間範囲を適用するには、時間範囲を実装できる拡張 ACL に時間範囲名を入力します。次に、拡張アクセス リスト 188 を作成して確認する例を示します。このアクセス リストでは、定義された休業時間中はすべての送信元からすべての宛先への TCP トラフィックを拒否し、営業時間中はすべての TCP トラフィックを許可します。

Switch(config)# access-list 188 deny tcp any any time-range new_year_day_2005
Switch(config)# access-list 188 permit tcp any any time-range workhours
Switch(config)# end
Switch# show access-lists
Extended IP access list 188
10 deny tcp any any time-range new_year_day_2005 (inactive)
20 permit tcp any any time-range workhours (inactive)
 

次に、名前付き ACL を使用して同じトラフィックを許可および拒否する例を示します。

Switch(config)# ip access-list extended deny_access
Switch(config-ext-nacl)# deny tcp any any time-range new_year_day_2005
Switch(config-ext-nacl)# exit
Switch(config)# ip access-list extended may_access
Switch(config-ext-nacl)# permit tcp any any time-range workhours
Switch(config-ext-nacl)# end
Switch# show ip access-lists
Extended IP access list lpip_default
10 permit ip any any
Extended IP access list deny_access
10 deny tcp any any time-range new_year_day_2005 (inactive)
Extended IP access list may_access
40 permit tcp any any time-range workhours (inactive)

ACL へのコメントの挿入

remark キーワードを使用すると、エントリに関するコメント(注釈)を任意の IP 標準または拡張 ACL に組み込むことができます。コメントを使用すると、ACL の理解とスキャンが容易になります。1 つのコメント行の最大長は 100 文字です。

コメントは、permit ステートメントまたは deny ステートメントの前後どちらにでも配置できます。コメントがどの permit ステートメントまたは deny ステートメントの説明であるのかが明確になるように、コメントの位置に関して一貫性を保つ必要があります。たとえば、あるコメントは対応する permit または deny ステートメントの前にあり、他のコメントは対応するステートメントの後ろにあると、混乱を招きます。

IP 番号付きの標準または拡張 ACL の場合は、 access-list access-list number remark remark グローバル コンフィギュレーション コマンドを使用して、アクセス リストに関するコメントを追加します。コメントを削除するには、このコマンドの no 形式を使用します。

次の例では、Jones のワークステーションのアクセスは許可されていますが、Smith のワークステーションのアクセスは禁止されています。

Switch(config)# access-list 1 remark Permit only Jones workstation through
Switch(config)# access-list 1 permit 171.69.2.88
Switch(config)# access-list 1 remark Do not allow Smith workstation through
Switch(config)# access-list 1 deny 171.69.3.13
 

名前付き IP ACL のエントリには、 remark アクセス リスト コンフィギュレーション コマンドを使用します。コメントを削除するには、このコマンドの no 形式を使用します。

次の例では、Jones のサブネットには発信 Telnet の使用が許可されません。

Switch(config)# ip access-list extended telnetting
Switch(config-ext-nacl)# remark Do not allow Jones subnet to telnet out
Switch(config-ext-nacl)# deny tcp host 171.69.2.88 any eq telnet

インターフェイスまたは端末回線に対する IP ACL の適用

作成した IP ACL は、1 つ以上のインターフェイスまたは端末回線に適用できます。ACL は、発信または着信のいずれかのレイヤ 3 インターフェイスで適用できますが、レイヤ 2 インターフェイスの場合は着信に対してのみ適用できます。このセクションでは、端末回線およびネットワーク インターフェイスの両方に対してこのタスクを実行する方法について説明します。次の注意事項に留意してください。

回線へのアクセスを制御する場合は、番号を使用する必要があります。番号付き ACL のみを回線に適用できます。

インターフェイスへのアクセスを制御する場合、名前または番号を使用できます。

すべての仮想端末回線にユーザが接続する可能性があるため、すべての仮想端末回線に同じ制約を設定する必要があります。

レイヤ 3 インターフェイスに ACL が適用され、スイッチ上でルーティングがイネーブルになっていない場合は、SNMP、Telnet、Web トラフィックなど、CPU で処理されるパケットだけがフィルタリングされます。レイヤ 2 インターフェイスに ACL を適用する場合、ルーティングをイネーブルにする必要はありません。

ポート ACL は、入力ルータ ACL および VLAN マップを持つ同一スイッチではサポートされません。

入力レイヤ 3 ACL または VLAN マップが適用されているスイッチ上のレイヤ 2 インターフェイスに ACL を適用しようとすると、 競合 エラーが生成されます。スイッチに出力レイヤ 3 ACL が適用されている場合は、レイヤ 2 インターフェイスに ACL を適用 できます

入力レイヤ 2 ACL が適用されているスイッチ上のレイヤ 3 インターフェイスに ACL を適用しようとすると、 競合 エラー メッセージが生成されます。スイッチにレイヤ 2 ACL が適用されている場合は、出力レイヤ 3 インターフェイスに ACL を適用 できます

レイヤ 2 インターフェイスには、入力に 1 つの IP アクセス リストを適用できます。レイヤ 3 インターフェイスには、入力に 1 つの IP アクセス リストを適用でき、出力に 1 つの IP アクセス リストを適用できます。すでに IP ACL が(その方向に)設定されているインターフェイスに IP ACL を適用すると、新しい ACL により以前設定された ACL が置き換えられます。

物理レイヤ 2 インターフェイスだけにポート ACL を適用できます。EtherChannel インターフェイスにポート ACL を適用できません。

仮想端末回線と ACL に指定されたアドレス間の着信接続および発信接続を制限するには、特権 EXEC モードで次の手順を実行します。

 

コマンド
目的

ステップ 1

configure terminal

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

ステップ 2

line [ console | vty ] line-number

設定する回線を指定し、インライン コンフィギュレーション モードを開始します。

console :コンソールの端末回線を指定するために入力します。コンソール ポートは DCE です。

vty :リモート コンソール アクセスの仮想端末を指定するために入力します。

line-number は、回線タイプを指定する場合に、設定する連続グループ内で最初の回線番号です。指定できる範囲は 0 ~ 16 です。

ステップ 3

access-class access-list-number { in | out }

指定されたアクセス リストの条件を使用して、仮想端末回線間の着信または発信接続を(任意のデバイスに)制限します。

ステップ 4

end

特権 EXEC モードに戻ります。

ステップ 5

show running-config

アクセス リストの設定を表示します。

ステップ 6

copy running-config startup-config

(任意)コンフィギュレーション ファイルに設定を保存します。

端末回線に対するアクセス制限を削除するには、 no access-class access-list-number { in | out } ライン コンフィギュレーション コマンドを使用します。

レイヤ 2 またはレイヤ 3 インターフェイスへのアクセスを制御するために IP アクセス リストを適用するには、特権 EXEC モードで次の手順を実行します。

 

コマンド
目的

ステップ 1

configure terminal

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

ステップ 2

interface interface-id

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

インターフェイスには、レイヤ 2 インターフェイス(ポート ACL)またはレイヤ 3 インターフェイス(ルータ ACL)を指定できます。

ステップ 3

ip access-group { access-list-number | name } { in | out }

IP アクセス リストを使用して、指定されたインターフェイスへのアクセスを制御します。標準または拡張 IP アクセス番号、または名前を入力できます。

キーワードはレイヤ 2 インターフェイスでは無効です。ポート ACL は、着信方向に限りサポートされます。

ステップ 4

end

特権 EXEC モードに戻ります。

ステップ 5

show running-config

アクセス リストの設定を表示します。

ステップ 6

copy running-config startup-config

(任意)コンフィギュレーション ファイルに設定を保存します。

指定したアクセス グループを削除するには、 no ip access-group { access-list-number | name } { in | out } インターフェイス コンフィギュレーション コマンドを使用します。

次に、ギガビット イーサネット インターフェイス 0/3 にアクセス リスト 2 を適用し、インターフェイスに入るパケットをフィルタリングする例を示します。

Switch(config)# interface gigabitethernet0/3
Router(config-if)# ip access-group 2 in

ip access-group インターフェイス コンフィギュレーション コマンドをレイヤ 3 インターフェイス(SVI、レイヤ 3 EtherChannel、またはルーテッド ポート)に適用するには、そのインターフェイスに IP アドレスが設定されている必要があります。レイヤ 3 アクセス グループは、CPU のレイヤ 3 プロセスによってルーティングまたは受信されるパケットをフィルタリングします。このグループは、VLAN 内でブリッジングされるパケットに影響を与えません。


着信 ACL の場合、スイッチはパケットの受信後に ACL とパケットを照合します。ACL がパケットを許可する場合、スイッチはパケットの処理を継続します。ACL がパケットを拒否する場合、スイッチはパケットを廃棄します。

発信 ACL(レイヤ 3 インターフェイスのみ)の場合、パケットを受信し制御対象インターフェイスにルーティングしたあと、スイッチはパケットを ACL と照合します。ACL がパケットを許可した場合は、スイッチはパケットを送信します。ACL がパケットを拒否する場合、スイッチはパケットを廃棄します。

入力インターフェイスが ICMP 到達不能メッセージを送信するように設定されている場合、パケットが廃棄された場合は、その原因が入力インターフェイスの ACL または出力インターフェイスの ACL のいずれであっても、常に ICMP 到達不能メッセージが送信されます。ICMP 到達不能メッセージは通常、入力インターフェイス 1 つにつき、0.5 秒ごとに 1 つだけ生成されます。ただし、この設定は ip icmp rate-limit unreachable グローバル コンフィギュレーション コマンドを使用して変更できます。

未定義の ACL をインターフェイスに適用すると、スイッチは ACL がインターフェイスに適用されていないと判断し、すべてのパケットを許可します。ネットワーク セキュリティのために未定義の ACL を使用する場合は、このような結果が生じることに注意してください。

IP ACL の設定例

ここでは、IP ACL を設定する例を示します。ACL のコンパイルに関する詳細については、『 Cisco IOS Security Configuration Guide, Release 12.2 』および『 Cisco IOS IP Configuration Guide, Release 12.2 』の「IP Addressing and Services」の章にある「 Configuring IP Services 」を参照してください。

図 28-3 に、小規模ネットワークが構築されたオフィス環境を示します。ルーテッド ポート 2 に接続されたサーバ A には、すべての従業員がアクセスできる収益などの情報が格納されています。ルーテッド ポート 1 に接続されたサーバ B には、機密扱いの給与支払いデータが格納されています。サーバ A にはすべてのユーザがアクセスできますが、サーバ B にアクセスできるユーザは制限されています。

ルータ ACL を使用して上記のように設定するには、次のいずれかの方法を使用します。

標準 IP ACL を作成し、ポート 1 からサーバに着信するトラフィックをフィルタリングします。

拡張 IP ACL を作成し、サーバからポート 1 に着信するトラフィックをフィルタリングします。

図 28-3 ルータ ACL によるトラフィックの制御

 

次に、標準 ACL を使用してインターフェイスからサーバ B に着信するトラフィックをフィルタリングし、経理部の送信元アドレス 172.20.128.64 ~ 172.20.128.95 から送信されるトラフィックのみを許可する例を示します。この ACL は、指定された送信元アドレスを持つルーテッド ポート 1 から送信されるトラフィックに適用されます。

Switch(config)# access-list 6 permit 172.20.128.64 0.0.0.31
Switch(config)# end
Switch# show access-lists
Standard IP access list 6
permit 172.20.128.64, wildcard bits 0.0.0.31
Switch(config)# interface gigabitethernet0/1
Switch(config-if)# ip access-group 6 out
 

次に、拡張 ACL を使用してサーバ B からポート 1 に着信するトラフィックをフィルタリングし、任意の送信元アドレス(この場合はサーバ B)から経理部の宛先アドレス 172.20.128.64 ~ 172.20.128.95 に送信されるトラフィックだけを許可する例を示します。この ACL は、ルーテッド ポート 1 に着信するトラフィックに適用され、指定の宛先アドレスに送信されるトラフィックだけを許可します。拡張 ACL を使用する場合は、送信元および宛先情報の前に、プロトコル(IP)を入力する必要があります。

Switch(config)# access-list 106 permit ip any 172.20.128.64 0.0.0.31
Switch(config)# end
Switch# show access-lists
Extended IP access list 106
permit ip any 172.20.128.64 0.0.0.31
Switch(config)# interface gigabitethernet0/1
Switch(config-if)# ip access-group 106 in
 

番号付き ACL の有無

次の例のネットワーク 36.0.0.0 は、2 番めのオクテットがサブネットを指定するクラス A ネットワークです。つまり、サブネット マスクは 255.255.0.0 です。ネットワーク アドレス 36.0.0.0 の 3 番めおよび 4 番めのオクテットは、特定のホストを指定します。アクセス リスト 2 を使用して、サブネット 48 のアドレスを 1 つ許可し、同じサブネットの他のアドレスはすべて拒否します。このアクセス リストの最終行は、ネットワーク 36.0.0.0 の他のすべてのサブネット上のアドレスが許可されることを示します。次にこの ACL は、ギガビット イーサネット インターフェイス 0/1 に着信するパケットに適用されます。

Switch(config)# access-list 2 permit 36.48.0.3
Switch(config)# access-list 2 deny 36.48.0.0 0.0.255.255
Switch(config)# access-list 2 permit 36.0.0.0 0.255.255.255
Switch(config)# interface gigabitethernet0/1
Switch(config-if)# ip access-group 2 in

拡張 ACL の有無

次の例の先頭行は、1023 よりも大きい宛先ポートへの着信 TCP 接続を許可します。2 番めの行は、ホスト 128.88.1.2 の SMTP ポートへの着信 TCP 接続を許可します。3 番めの行は、エラー フィードバック用の着信 ICMP メッセージを許可します。

Switch(config)# access-list 102 permit tcp any 128.88.0.0 0.0.255.255 gt 1023
Switch(config)# access-list 102 permit tcp any host 128.88.1.2 eq 25
Switch(config)# access-list 102 permit icmp any any
Switch(config)# interface gigabitethernet0/1
Switch(config-if)# ip access-group 102 in
 

拡張 ACL を使用する別の例として、インターネットに接続されたネットワークがあり、ネットワーク上の任意のホストが、インターネット上の任意のホストと TCP 接続を確立できるようにする場合を考えます。ただし、IP ホストからは、専用メール ホストのメール(SMTP)ポートを除き、ネットワーク上のホストと TCP 接続を確立できないようにします。

SMTP は、接続の一端では TCP ポート 25、もう一端ではランダムなポート番号を使用します。接続している間は、同じポート番号が使用されます。インターネットから着信するメール パケットの宛先ポートは 25 です。発信パケットのポート番号は予約されています。ルータの背後にある安全なシステムでは常にポート 25 でのメール接続が使用されているため、着信サービスと発信サービスを個別に制御できます。ACL は発信インターフェイスの入力 ACL および着信インターフェイスの出力 ACL として設定される必要があります。

次の例では、ネットワークはアドレスが 128.88.0.0 のクラス B ネットワークで、メール ホストのアドレスは 128.88.1.2 です。 established キーワードは、確立された接続を表示する TCP 専用のキーワードです。TCP データグラムに ACK または RST ビットが設定され、パケットが既存の接続に属していることが判明すると、一致と見なされます。ギガビット イーサネット インターフェイス 0/1 は、ルータをインターネットに接続するインターフェイスです。

Switch(config)# access-list 102 permit tcp any 128.88.0.0 0.0.255.255 established
Switch(config)# access-list 102 permit tcp any host 128.88.1.2 eq 25
Switch(config)# interface gigabitethernet0/1
Switch(config-if)# ip access-group 102 in

名前付き ACL の有無

次の設定は、 internet_filter という名前の標準 ACL および marketing_group という名前の拡張 ACL を作成します。 Internet_filter ACL は、送信元アドレス 1.2.3.4 から送信されるすべてのトラフィックを許可します。

Switch(config)# ip access-list standard Internet_filter
Switch(config-ext-nacl)# permit 1.2.3.4
Switch(config-ext-nacl)# exit
 

marketing_group ACL は、宛先アドレスとワイルドカードの値 171.69.0.0 0.0.255.255 への任意の TCP Telnet トラフィックを許可し、その他の TCP トラフィックを拒否します。任意の ICMP トラフィックを許可し、任意の送信元から、宛先ポートが 1024 より小さい 171.69.0.0 ~ 179.69.255.255 の宛先アドレスへ送信される UDP トラフィックを拒否します。それ以外のすべての IP トラフィックを拒否して、結果を示すログが表示されます。

Switch(config)# ip access-list extended marketing_group
Switch(config-ext-nacl)# permit tcp any 171.69.0.0 0.0.255.255 eq telnet
Switch(config-ext-nacl)# deny tcp any any
Switch(config-ext-nacl)# permit icmp any any
Switch(config-ext-nacl)# deny udp any 171.69.0.0 0.0.255.255 lt 1024
Switch(config-ext-nacl)# deny ip any any log
Switch(config-ext-nacl)# exit
 

次に示す ACL はレイヤ 3 ポートとして設定されたギガビット イーサネット ポート 0/5 に適用されます。 Internet_filter ACL は着信トラフィックに、 marketing_group ACL は発信トラフィックに適用されます。

Switch(config)# interface gigabitethernet0/5
Switch(config-if)# no switchport
Switch(config-if)# ip address 2.0.5.1 255.255.255.0
Switch(config-if)# ip access-group Internet_filter out
Switch(config-if)# ip access-group marketing_group in
...

IP ACL に適用される時間範囲

次に、月曜日から金曜日の午前 8 時~午後 6 時(18 時)の間に Hypertext Transfer Protocol(HTTP)トラフィックを IP に定義する例を示します。UDP トラフィックは、土曜日および日曜日の正午~午後 8 時(20 時)の間だけ許可されます。

Switch(config)# time-range no-http
Switch(config)# periodic weekdays 8:00 to 18:00
!
Switch(config)# time-range udp-yes
Switch(config)# periodic weekend 12:00 to 20:00
!
Switch(config)# ip access-list extended strict
Switch(config-ext-nacl)# deny tcp any any eq www time-range no-http
Switch(config-ext-nacl)# permit udp any any time-range udp-yes
!
Switch(config-ext-nacl)# exit
Switch(config)# interface gigabitethernet0/1
Switch(config-if)# ip access-group strict in

コメント付きの IP ACL エントリ

次に示す番号付き ACL の例では、Jones のワークステーションのアクセスは許可されますが、Smith のワークステーションのアクセスは許可されません。

Switch(config)# access-list 1 remark Permit only Jones workstation through
Switch(config)# access-list 1 permit 171.69.2.88
Switch(config)# access-list 1 remark Do not allow Smith workstation through
Switch(config)# access-list 1 deny 171.69.3.13
 

次に示す番号付き ACL の例では、Winter および Smith のワークステーションに Web 閲覧を許可しません。

Switch(config)# access-list 100 remark Do not allow Winter to browse the web
Switch(config)# access-list 100 deny host 171.69.3.85 any eq www
Switch(config)# access-list 100 remark Do not allow Smith to browse the web
Switch(config)# access-list 100 deny host 171.69.3.13 any eq www

次に示す名前付き ACL の例では、Jones のサブネットにアクセスを許可しません。

Switch(config)# ip access-list standard prevention
Switch(config-std-nacl)# remark Do not allow Jones subnet through
Switch(config-std-nacl)# deny 171.69.0.0 0.0.255.255
 

次に示す名前付き ACL の例では、Jones のサブネットに発信 Telnet の使用を許可しません。

Switch(config)# ip access-list extended telnetting
Switch(config-ext-nacl)# remark Do not allow Jones subnet to telnet out
Switch(config-ext-nacl)# deny tcp 171.69.0.0 0.0.255.255 any eq telnet

ACL ロギング


) ロギングはポート ACL ではサポートされません。


ルータ ACL では、2 種類のロギングがサポートされています。 log キーワードを指定すると、エントリと一致するパケットに関するログ通知メッセージがコンソールに送信されます。 log-input キーワードを指定すると、ログ エントリに入力インターフェイスが追加されます。

次の例では、名前付き標準アクセス リスト stan1 は 10.1.1.0 0.0.0.255 からのトラフィックを拒否し、その他のすべての送信元からのトラフィックを許可します。 log キーワードも指定されています。

Switch(config)# ip access-list standard stan1
Switch(config-std-nacl)# deny 10.1.1.0 0.0.0.255 log
Switch(config-std-nacl)# permit any log
Switch(config-std-nacl)# exit
Switch(config)# interface gigabitethernet0/1
Switch(config-if)# ip access-group stan1 in
Switch(config-if)# end
 
Switch# show logging
Syslog logging: enabled (0 messages dropped, 0 flushes, 0 overruns)
Console logging: level debugging, 37 messages logged
Monitor logging: level debugging, 0 messages logged
Buffer logging: level debugging, 37 messages logged
File logging: disabled
Trap logging: level debugging, 39 message lines logged
 
Log Buffer (4096 bytes):
 
00:00:48: NTP: authentication delay calculation problems
 
<output truncated>
 
00:09:34:%SEC-6-IPACCESSLOGS:list stan1 permitted 0.0.0.0 1 packet
00:09:59:%SEC-6-IPACCESSLOGS:list stan1 denied 10.1.1.15 1 packet
00:10:11:%SEC-6-IPACCESSLOGS:list stan1 permitted 0.0.0.0 1 packet
00:15:33:%SEC-6-IPACCESSLOGS:list stan1 denied 10.1.1.15 2009 packets
 

次に、名前付き拡張アクセス リスト ext1 によって、任意の送信元から 10.1.1.0 0.0.0.255 への ICMP パケットを許可し、すべての UDP パケットを拒否する例を示します。

Switch(config)# ip access-list extended ext1
Switch(config-ext-nacl)# permit icmp any 10.1.1.0 0.0.0.255 log
Switch(config-ext-nacl)# deny udp any any log
Switch(config-std-nacl)# exit
Switch(config)# interface gigabitethernet0/3
Switch(config-if)# ip access-group ext1 in
 

次に、拡張 IP ACL のログの例を示します。

01:24:23:%SEC-6-IPACCESSLOGDP:list ext1 permitted icmp 10.1.1.15 -> 10.1.1.61 (0/0), 1 packet
01:25:14:%SEC-6-IPACCESSLOGDP:list ext1 permitted icmp 10.1.1.15 -> 10.1.1.61 (0/0), 7 packets
01:26:12:%SEC-6-IPACCESSLOGP:list ext1 denied udp 0.0.0.0(0) -> 255.255.255.255(0), 1 packet
01:31:33:%SEC-6-IPACCESSLOGP:list ext1 denied udp 0.0.0.0(0) -> 255.255.255.255(0), 8 packets
 

IP ACL のすべてのロギング エントリは %SEC-6-IPACCESSLOG で開始します。エントリの形式は、一致した ACL やアクセス エントリの種類に応じて若干異なります。

次に、 log-input キーワードを指定した場合の出力メッセージの例を示します。

00:04:21:%SEC-6-IPACCESSLOGDP:list inputlog permitted icmp 10.1.1.10 (Vlan1 0001.42ef.a400) -> 10.1.1.61 (0/0), 1 packet
 

log キーワードを指定した場合、同様のパケットに関するログ メッセージには入力インターフェイス情報が含まれません。

00:05:47:%SEC-6-IPACCESSLOGDP:list inputlog permitted icmp 10.1.1.10 -> 10.1.1.61 (0/0), 1 packet

名前付き MAC 拡張 ACL の設定

VLAN および物理レイヤ 2 インターフェイスで IP 以外のトラフィックをフィルタリングするには、MAC アドレスおよび名前付き MAC 拡張 ACL を使用します。その手順は、他の名前付き拡張 ACL を設定する場合と同様です。アクセス リストの名前として番号を使用することもできますが、700 ~ 799 の MAC アクセス リスト番号はサポートされません。


) 名前付き MAC 拡張 ACL は、レイヤ 3 インターフェイスに適用できません。


mac access-list extended コマンドでサポートされている非 IP プロトコルの詳細については、このリリースのコマンド リファレンスを参照してください。


appletalk はコマンドラインのヘルプ ストリングには表示されますが、deny および permit の MAC アクセス リスト コンフィギュレーション モード コマンドに対するマッチング条件としてサポートされず、ゼロ以外の組織固有識別子(OUI)を持つすべての SNAP カプセル化パケットの EtherType ともマッチングしません。


名前付き MAC 拡張 ACL を作成するには、特権 EXEC モードで次の手順を実行します。

 

コマンド
目的

ステップ 1

configure terminal

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

ステップ 2

mac access-list extended name

名前を使用して拡張 MAC アクセス リストを定義します。

ステップ 3

{ deny | permit } { any | host source MAC address | source MAC address mask } { any | host destination MAC address | destination MAC address mask } [ type mask | lsap lsap mask | aarp | amber | dec-spanning | decnet-iv | diagnostic | dsm | etype-6000 | etype-8042 | lat | lavc-sca | mop-console | mop-dump | msdos | mumps | netbios | vines-echo |vines-ip | xns-idp | 0-65535 ] [cos cos]

拡張 MAC アクセス リスト コンフィギュレーション モードでは、すべての( any )送信元 MAC アドレス、マスク付き送信元 MAC アドレス、または特定のホスト( host )送信元 MAC アドレス、およびすべての( any )宛先 MAC アドレス、マスク付き宛先 MAC アドレス、または特定の宛先 MAC アドレスに、 permit または deny を指定します。

(任意)次のオプションを入力することもできます。

type mask :Ethernet II または SNAP でカプセル化されたパケットの任意の EtherType 番号。10 進数、16 進数、または 8 進数で表記できます。EtherType に適用される無視( don’t care )ビットの任意のマスクが付加され、一致検査が行われます。

lsap lsap mask :IEEE 802.2 でカプセル化されたパケットの LSAP 番号。10 進数、16 進数、または 8 進数で表記できます。任意で don’t care ビットのマスクを指定できます。

aarp | amber | dec-spanning | decnet-iv | diagnostic | dsm | etype-6000 | etype-8042 | lat | lavc-sca | mop-console | mop-dump | msdos | mumps | netbios | vines-echo |vines-ip | xns-idp:非 IP プロトコル。

cos cos:プライオリティを設定する 0 ~ 7 の IEEE 802.1Q CoS 番号。

ステップ 4

end

特権 EXEC モードに戻ります。

ステップ 5

show access-lists [number | name]

アクセス リストの設定を表示します。

ステップ 6

copy running-config startup-config

(任意)コンフィギュレーション ファイルに設定を保存します。

ACL 全体を削除するには、 no mac access-list extended name グローバル コンフィギュレーション コマンドを使用します。名前付き MAC 拡張 ACL から ACE を個別に削除することもできます。

次に、EtherType DECnet Phase IV トラフィックだけを拒否し、他のすべてのタイプのトラフィックを許可するアクセス リスト mac1 を作成および表示する例を示します。

Switch(config)# mac access-list extended mac1
Switch(config-ext-macl)# deny any any decnet-iv
Switch(config-ext-macl)# permit any any
Switch(config-ext-macl)# end
Switch # show access-lists
Extended MAC access list mac1
10 deny any any decnet-iv
20 permit any any

レイヤ 2 インターフェイスへの MAC ACL の適用

MAC ACL を作成し、それをレイヤ 2 インターフェイスに適用すると、そのインターフェイスに着信する非 IP トラフィックをフィルタリングできます。MAC ACL を適用するときには、次の注意事項に留意してください。

入力レイヤ 3 ACL または VLAN マップが適用されているスイッチ上のレイヤ 2 インターフェイスには ACL を適用できません。この操作を行おうとすると、エラー メッセージが生成されます。スイッチに出力レイヤ 3 ACL が適用されている場合は、レイヤ 2 インターフェイスに ACL を適用できます。

1 つのレイヤ 2 インターフェイスに適用できる MAC アドレス リストは 1 つだけです。すでに MAC ACL が設定されているレイヤ 2 インターフェイスに MAC アクセス リストを適用すると、設定済みの ACL が新しい ACL に置き換えられます。

レイヤ 2 インターフェイスへのアクセスを制御するために MAC アクセス リストを適用するには、特権 EXEC モードで次の手順を実行します。

 

コマンド
目的

ステップ 1

configure terminal

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

ステップ 2

interface interface-id

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

指定するインターフェイスは物理レイヤ 2 インターフェイス(ポート ACL)でなければなりません。

ステップ 3

mac access-group { name } { in }

MAC アクセス リストを使用して、指定されたインターフェイスへのアクセスを制御します。

(注) ポート ACL は、着信方向に限りサポートされます。

ステップ 4

end

特権 EXEC モードに戻ります。

ステップ 5

show mac access-group [ interface interface-id ]

そのインターフェイスまたはすべてのレイヤ 2 インターフェイスに適用されている MAC アクセス リストを表示します。

ステップ 6

copy running-config startup-config

(任意)コンフィギュレーション ファイルに設定を保存します。

指定したアクセス グループを削除するには、 no mac access-group { name } in インターフェイス コンフィギュレーション コマンドを使用します。

次に、ギガビット イーサネット インターフェイス 0/3 に MAC アクセス リスト mac1 を適用し、インターフェイスに入るパケットをフィルタリングする例を示します。

Switch(config)# interface gigabitethernet0/3
Router(config-if)# mac access-group mac1 in
 

mac access-group インターフェイス コンフィギュレーション コマンドは、物理レイヤ 2 インターフェイスに適用される場合のみ有効です。


着信 ACL の場合、スイッチはパケットの受信後に ACL とパケットを照合します。ACL がパケットを許可する場合、スイッチはパケットの処理を継続します。ACL がパケットを拒否する場合、スイッチはパケットを廃棄します。

未定義の ACL をインターフェイスに適用すると、スイッチは ACL がインターフェイスに適用されていないと判断し、すべてのパケットを許可します。ネットワーク セキュリティのために未定義の ACL を使用する場合は、このような結果が生じることに注意してください。

VLAN マップの設定

ここでは、VLAN マップを設定する方法について説明します。この方法は、VLAN 内でフィルタリングを制御する唯一の方法です。VLAN マップには方向の指定がありません。VLAN マップを使用して、特定の方向のトラフィックをフィルタリングするには、特定の送信元または宛先アドレスが指定された ACL を追加する必要があります。VLAN マップ内に該当パケット タイプ(IP または MAC)に対する match 句がある場合、デフォルトでは、マップ内のどのエントリにも一致しないパケットはドロップされます。該当パケット タイプに対する match コマンドがない場合、デフォルトでは、パケットが転送されます。


ここで使用するコマンドの構文および使用方法の詳細については、このリリースに対応するコマンド リファレンスを参照してください。


VLAN マップを作成して、1 つまたは複数の VLAN に適用するには、次のステップを実行します。


ステップ 1 VLAN に適用する標準 IP ACL または拡張 IP ACL、または名前付き MAC 拡張 ACL を作成します。「標準および拡張 IP ACL の作成」および「名前付き MAC 拡張 ACL の設定」を参照してください。

ステップ 2 VLAN ACL マップ エントリを作成するには、 vlan access-map グローバル コンフィギュレーション コマンドを入力します。

ステップ 3 アクセス マップ コンフィギュレーション モードでは、 action として、 forward (デフォルト)または drop を入力することもできます。また、 match コマンドを入力して、既知の MAC アドレスだけが格納された IP パケットまたは非 IP パケットを指定したり、1 つまたは複数の ACL(標準または拡張)とパケットを照合したりすることもできます。


) 該当パケット タイプ(IP または MAC)に対する match 句が VLAN マップにある場合でも、パケットがそのタイプに一致しない場合、デフォルトではパケットがドロップされます。該当タイプのパケットに対する match コマンドが VLAN マップ内になく、それに対するアクションが指定されていない場合、パケットは転送されます。


ステップ 4 VLAN マップを 1 つまたは複数の VLAN に適用するには、 vlan filter インターフェイス コンフィギュレーション コマンドを使用します。


 


) レイヤ 2 インターフェイスに ACL(PACL)が適用されているスイッチ上の VLAN には、VLAN マップを適用できません。


ここでは、次の内容について説明します。

「VLAN マップの設定時の注意事項」

「VLAN マップの作成」

「VLAN への VLAN マップの適用」

「ネットワークでの VLAN マップの使用法」

VLAN マップの設定時の注意事項

VLAN マップを設定するときには、次の注意事項に従ってください。

ルーテッド VLAN インターフェイス(入力または出力)でトラフィックを拒否するように設定されたルータ ACL が存在せず、VLAN マップが設定されて いない 場合は、すべてのトラフィックが許可されます。

各 VLAN マップは一連のエントリで構成されます。VLAN マップのエントリの順序は重要です。スイッチに着信したパケットは、VLAN マップの最初のエントリに対してテストされます。一致した場合は、VLAN マップのその部分に指定されたアクションが実行されます。一致しなかった場合、パケットはマップ内の次のエントリに対してテストされます。

該当パケット タイプ(IP または MAC)に対する match 句が VLAN マップに 1 つまたは複数ある場合でも、パケットがそれらの match 句に一致しない場合、デフォルトではパケットがドロップされます。該当パケット タイプに対する match 句が VLAN マップ内にない場合、デフォルトではパケットが転送されます。

多数の ACL が設定されている場合は、システムの起動に時間がかかることがあります。

ルータ ACL および VLAN マップを組み合わせて使用する方法については、「ルータ ACL を VLAN マップと併用する場合の注意事項」を参照してください。

設定例については、「ネットワークでの VLAN マップの使用法」を参照してください。

スイッチのレイヤ 2 インターフェイスに IP アクセス リストまたは MAC アクセス リストが適用されている場合、VLAN マップを作成できますが、スイッチのどの VLAN にも VLAN マップを適用できません。この操作を行おうとすると、エラー メッセージが生成されます。

VLAN マップの作成

各 VLAN マップは順番に並べられた一連のエントリで構成されます。VLAN マップ エントリを作成、追加、または削除するには、特権 EXEC モードで次の手順を実行します。

 

コマンド
目的

ステップ 1

configure terminal

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

ステップ 2

vlan access-map name [ number ]

VLAN マップを作成し、名前および番号(任意)を指定します。番号は、マップ内のエントリのシーケンス番号です。

同じ名前の VLAN マップを作成すると、10 ずつ増加する番号が順に割り当てられます。マップを変更または削除するときは、該当するマップ エントリの番号を入力できます。

このコマンドを入力すると、アクセス マップ コンフィギュレーション モードに変わります。

ステップ 3

action { drop | forward }

(任意)マップ エントリに対するアクションを設定します。デフォルトは転送(forward)です。

ステップ 4

match { ip | mac } address { name | number } [ name | number ]

1 つまたは複数の標準または拡張アクセス リストに対してパケットを照合します(IP または MAC アドレスを使用)。パケットの照合は、対応するプロトコル タイプのアクセス リストに対してだけ行われます。IP パケットは、標準または拡張 IP アクセス リストに対して照合されます。非 IP パケットは、名前付き MAC 拡張アクセス リストに対してだけ照合されます。

ステップ 5

end

グローバル コンフィギュレーション モードに戻ります。

ステップ 6

show running-config

アクセス リストの設定を表示します。

ステップ 7

copy running-config startup-config

(任意)コンフィギュレーション ファイルに設定を保存します。

マップを削除するには、 no vlan access-map name グローバル コンフィギュレーション コマンドを使用します。

マップ内のシーケンス エントリを 1 つ削除するには、 no vlan access-map name number グローバル コンフィギュレーション コマンドを使用します。

デフォルトのアクションである転送を行うには、 no action アクセス マップ コンフィギュレーション コマンドを使用します。

VLAN マップでは、特定の permit または deny キーワードを使用しません。VLAN マップを使用してパケットを拒否するには、パケットを照合する ACL を作成して、アクションをドロップに設定します。ACL 内の permit は、一致するという意味です。ACL 内の deny は、一致しないという意味です。

ACL および VLAN マップの例

次に、特定の目的のための ACL および VLAN マップを作成する例を示します。

例 1

ここでは、パケットを拒否する ACL および VLAN マップを作成する例を示します。最初のマップでは、 ip1 ACL(TCP パケット)に一致するすべてのパケットがドロップされます。最初に、すべての TCP パケットを許可し、それ以外のパケットをすべて拒否する ip1 ACL を作成します。VLAN マップには IP パケットに対する match 句が存在するため、デフォルトのアクションでは、どの match 句とも一致しない IP パケットがすべてドロップされます。

Switch(config)# ip access-list extended ip1
Switch(config-ext-nacl)# permit tcp any any
Switch(config-ext-nacl)# exit
Switch(config)# vlan access-map map_1 10
Switch(config-access-map)# match ip address ip1
Switch(config-access-map)# action drop
 

次に、パケットを許可する VLAN マップを作成する例を示します。ACL ip2 は UDP パケットを許可し、 ip2 ACL と一致するすべてのパケットが転送されます。

Switch(config)# ip access-list extended ip2
Switch(config-ext-nacl)# permit udp any any
Switch(config-ext-nacl)# exit
Switch(config)# vlan access-map map_1 20
Switch(config-access-map)# match ip address ip2
Switch(config-access-map)# action forward
 

このマップでは、これ以前のどの ACL とも一致しないすべての IP パケット(TCP でも UDP でもないパケット)がドロップされます。

例 2

次の例の VLAN マップでは、デフォルトで IP パケットがドロップされ、MAC パケットが転送されます。標準の ACL 101 および名前付き拡張アクセス リスト igmp-match および tcp-match をこのマップと組み合わせて使用すると、次のようになります。

すべての UDP パケットが転送されます。

すべての IGMP パケットがドロップされます。

すべての TCP パケットが転送されます。

その他のすべての IP パケットがドロップされます。

すべての非 IP パケットが転送されます。

Switch(config)# access-list 101 permit udp any any
Switch(config)# ip access-list extended igmp-match
Switch(config-ext-nacl)# permit igmp any any
Switch(config)# ip access-list extended tcp-match
Switch(config-ext-nacl)# permit tcp any any
Switch(config-ext-nacl)# exit
Switch(config)# vlan access-map drop-ip-default 10
Switch(config-access-map)# match ip address 101
Switch(config-access-map)# action forward
Switch(config-access-map)# exit
Switch(config)# vlan access-map drop-ip-default 20
Switch(config-access-map)# match ip address igmp-match
Switch(config-access-map)# action drop
Switch(config-access-map)# exit
Switch(config)# vlan access-map drop-ip-default 30
Switch(config-access-map)# match ip address tcp-match
Switch(config-access-map)# action forward

例 3

次の例の VLAN マップでは、デフォルトで MAC パケットがドロップされ、IP パケットが転送されます。MAC 拡張アクセス リスト good-hosts および good-protocols をこのマップと組み合わせて使用すると、次のようになります。

ホスト 0000.0c00.0111 および 0000.0c00.0211 からの MAC パケットが転送されます。

decnet-iv または vines-ip プロトコルを使用する MAC パケットが転送されます。

その他のすべての非 IP パケットがドロップされます。

すべての IP パケットが転送されます。

Switch(config)# mac access-list extended good-hosts
Switch(config-ext-macl)# permit host 000.0c00.0111 any
Switch(config-ext-macl)# permit host 000.0c00.0211 any
Switch(config-ext-nacl)# exit
Switch(config)# mac access-list extended good-protocols
Switch(config-ext-macl)# permit any any decnet-ip
Switch(config-ext-macl)# permit any any vines-ip
Switch(config-ext-nacl)# exit
Switch(config)# vlan access-map drop-mac-default 10
Switch(config-access-map)# match mac address good-hosts
Switch(config-access-map)# action forward
Switch(config-access-map)# exit
Switch(config)# vlan access-map drop-mac-default 20
Switch(config-access-map)# match mac address good-protocols
Switch(config-access-map)# action forward

例 4

次の例の VLAN マップでは、デフォルトですべてのパケット(IP および非 IP)がドロップされます。例 2 および例 3 のアクセス リスト tcp-match および good-hosts をこのマップと組み合わせて使用すると、次のようになります。

すべての TCP パケットが転送されます。

ホスト 0000.0c00.0111 および 0000.0c00.0211 からの MAC パケットが転送されます。

その他のすべての IP パケットがドロップされます。

その他のすべての MAC パケットがドロップされます。

Switch(config)# vlan access-map drop-all-default 10
Switch(config-access-map)# match ip address tcp-match
Switch(config-access-map)# action forward
Switch(config-access-map)# exit
Switch(config)# vlan access-map drop-all-default 20
Switch(config-access-map)# match mac address good-hosts
Switch(config-access-map)# action forward
 

VLAN への VLAN マップの適用

1 つの VLAN マップを 1 つまたは複数の VLAN に適用するには、特権 EXEC モードで次の手順を実行します。

 

コマンド
目的

ステップ 1

configure terminal

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

ステップ 2

vlan filter mapname vlan-list list

VLAN マップを 1 つまたは複数の VLAN ID に適用します。

list には単一の VLAN ID(22)、連続した範囲(10 ~ 22)、または VLAN ID のストリング(12、22、30)を指定できます。カンマやハイフンの前後にスペースを挿入することもできます。

ステップ 3

show running-config

アクセス リストの設定を表示します。

ステップ 4

copy running-config startup-config

(任意)コンフィギュレーション ファイルに設定を保存します。


) レイヤ 2 インターフェイスに ACL(PACL)が適用されているスイッチ上の VLAN には、VLAN マップを適用できません。


VLAN マップを削除するには、 no vlan filter mapname vlan-list list グローバル コンフィギュレーション コマンドを使用します。

次に、VLAN マップ 1 を VLAN 20 ~ 22 に適用する例を示します。

Switch(config)# vlan filter map 1 vlan-list 20-22

ネットワークでの VLAN マップの使用法

ここでは、VLAN マップの一般的な使用方法について説明します。具体的な内容は次のとおりです。

「ワイヤリング クローゼットの設定」

「別の VLAN にあるサーバへのアクセスの拒否」

ワイヤリング クローゼットの設定

ワイヤリング クローゼット構成では、ルーティングがスイッチ上でイネーブルにされていない場合があります。ただし、この設定でも VLAN マップおよび QoS 分類 ACL はサポートされています。 図 28-4 では、ホスト X およびホスト Y は異なる VLAN 内にあり、ワイヤリング クローゼット スイッチ A およびスイッチ C に接続されていると想定しています。ホスト X からホスト Y へのトラフィックは、ルーティングがイネーブルに設定されたスイッチ B によって最終的にルーティングされます。ホスト X からホスト Y へのトラフィックは、トラフィックのエントリ ポイントであるスイッチ A でアクセス コントロールできます。

図 28-4 ワイヤリング クローゼットの設定

 

HTTP トラフィックをホスト X からホスト Y へスイッチングしない場合は、ホスト X(IP アドレス 10.1.1.32)からホスト Y(IP アドレス 10.1.1.34)に向かうすべての HTTP トラフィックがスイッチ A でドロップされ、スイッチ B にブリッジングされないように、スイッチ A の VLAN マップを設定できます。

最初に、HTTP ポート上ですべての TCP トラフィックを許可(一致)する IP アクセス リスト http を定義します。

Switch(config)# ip access-list extended http
Switch(config-ext-nacl)# permit tcp host 10.1.1.32 host 10.1.1.34 eq www
Switch(config-ext-nacl)# exit
 

次に、 http アクセス リストと一致するトラフィックがドロップされ、その他のすべての IP トラフィックが転送されるように、VLAN アクセス マップ map2 を作成します。

Switch(config)# vlan access-map map2 10
Switch(config-access-map)# match ip address http
Switch(config-access-map)# action drop
Switch(config-access-map)# exit
Switch(config)# ip access-list extended match_all
Switch(config-ext-nacl)# permit ip any any
Switch(config-ext-nacl)# exit
Switch(config)# vlan access-map map2 20
Switch(config-access-map)# match ip address match_all
Switch(config-access-map)# action forward
 

次に、VLAN アクセス マップ map2 を VLAN 1 に適用します。

Switch(config)# vlan filter map2 vlan 1

別の VLAN にあるサーバへのアクセスの拒否

別の VLAN にあるサーバへのアクセスを制限できます。たとえば、VLAN 10 のサーバ 10.1.1.100 で、次のようなアクセス制限をする必要があるとします(図 28-5 を参照)。

VLAN 20 内のサブネット 10.1.2.0/8 にあるホストのアクセスを禁止します。

VLAN 10 内のホスト 10.1.1.4 および 10.1.1.8 のアクセスを禁止します。

図 28-5 他の VLAN 上のサーバへのアクセス拒否

 

次に、サブネット 10.1.2.0/8 内のホスト、ホスト 10.1.1.4、およびホスト 10.1.1.8 へのアクセスを拒否し、その他の IP トラフィックを許可する VLAN マップ SERVER1 を作成して、別の VLAN 内のサーバへのアクセスを拒否する方法を示します。最後のステップでは、マップ SERVER1 を VLAN 10 に適用します。


ステップ 1 正しいパケットと一致する IP ACL を定義します。

Switch(config)# ip access-list extended SERVER1_ACL
Switch(config-ext-nacl))# permit ip 10.1.2.0 0.0.0.255 host 10.1.1.100
Switch(config-ext-nacl))# permit ip host 10.1.1.4 host 10.1.1.100
Switch(config-ext-nacl))# permit ip host 10.1.1.8 host 10.1.1.100
Switch(config-ext-nacl))# exit
 

ステップ 2 SERVER1_ACL と一致する IP パケットをドロップして、この ACL と一致しない IP パケットを転送する ACL を使用して、VLAN マップを定義します。

Switch(config)# vlan access-map SERVER1_MAP
Switch(config-access-map)# match ip address SERVER1_ACL
Switch(config-access-map)# action drop
Switch(config)# vlan access-map SERVER1_MAP 20
Switch(config-access-map)# action forward
Switch(config-access-map)# exit
 

ステップ 3 VLAN 10 に VLAN マップを適用します。

Switch(config)# vlan filter SERVER1_MAP vlan-list 10.
 


 

ルータ ACL を VLAN マップと組み合わせて使用する方法

ブリッジングされたトラフィックおよびルーティングされたトラフィックの両方に対してアクセス コントロールを行うには、VLAN マップを単独で使用するか、またはルータ ACL と VLAN マップを組み合わせて使用します。入力と出力両方のルーテッド VLAN インターフェイスでルータ ACL を定義したり、ブリッジングされたトラフィックのアクセスをコントロールする VLAN マップを定義したりできます。


) 1 つのスイッチ上で、VLAN マップまたは入力ルータ ACL を組み合わせて使用することはできません。


パケット フローが ACL 内 VLAN マップの deny ステートメントと一致した場合、ルータ ACL の設定に関係なく、パケット フローは拒否されます。


) ルータ ACL を VLAN マップと組み合わせて使用し、ルータ ACL でのロギングを必要とするパケットが VLAN マップで拒否された場合、これらのパケットはロギングされません。


該当パケット タイプ(IP または MAC)に対する match 句が VLAN マップにある場合でも、パケットがそのタイプに一致しない場合、デフォルトではパケットがドロップされます。VLAN マップ内に match 句がなく、アクションが指定されていない場合、どの VLAN マップ エントリとも一致しないパケットは転送されます。

ここでは、ルータ ACL を VLAN マップと組み合わせて使用する方法について説明します。

「ルータ ACL を VLAN マップと併用する場合の注意事項」

「VLAN に適用されるルータ ACL と VLAN マップの例」

ルータ ACL を VLAN マップと併用する場合の注意事項

ここに記載された注意事項は、ルータ ACL および VLAN マップを同じ VLAN 上で使用する必要がある設定に適用されます。ルータ ACL および VLAN マップを異なる VLAN に割り当てる設定には、これらの注意事項は適用されません。

スイッチ ハードウェアは、方向(入力および出力)ごとにセキュリティ ACL を 1 回検索します。したがって、ルータ ACL および VLAN マップを同じ VLAN に設定する場合は、これらを統合する必要があります。ルータ ACL と VLAN マップを統合すると、ACE の数が膨大になる場合があります。

ルータ ACL および VLAN マップを同じ VLAN に設定する必要がある場合は、ルータ ACL と VLAN マップの両方の設定に関し、ここで説明する注意事項に従ってください。

可能な限り、すべてのエントリのアクションが同一で、末尾のデフォルト アクションだけが反対のタイプとなるように ACL を記述します。次のいずれかの形式を使用して、ACL を記述します。

permit...
permit...
permit...
deny ip any any

または

deny...
deny...
deny...
permit ip any any

ACL 内で複数のアクション(許可、拒否)を定義する場合は、それぞれのアクション タイプをまとめて、エントリ数を削減します。

ACL 内にレイヤ 4 情報を指定しないでください。レイヤ 4 情報を追加すると、統合プロセスが複雑になります。ACL のフィルタリングが、full-flow(送信元 IP アドレス、宛先 IP アドレス、プロトコル、およびプロトコル ポート)でなく、IP アドレス(送信元および宛先)に基づいて行われる場合に、最適な統合結果が得られます。可能な限り、IP アドレスには don't care ビットを使用してください。

IP ACE とレイヤ 4 情報を含む TCP/UDP/ICMP ACE が両方とも ACL 内に存在し、full-flow モードを指定する必要があるときは、レイヤ 4 ACE をリストの末尾に配置します。この結果、IP アドレスに基づくトラフィックのフィルタリングが優先されます。


) ACL 設定が指定した期間安定した後、システムはハードウェアに設定をロードします。ハードウェアのアップデート中は、影響を受けるインターフェイスで転送がブロックされます。この動作を変更するには、mls aclmerge delay および access-list hardware program nonblocking グローバル コンフィギュレーション コマンドを使用できます。このコマンドの説明については、このリリースのコマンド リファレンスを参照してください。


VLAN に適用されるルータ ACL と VLAN マップの例

ここでは、ルータ ACL および VLAN マップを VLAN に適用し、スイッチド パケット、ブリッジド パケット、ルーテッド パケット、およびマルチキャスト パケットを処理する例を示します。次の図ではそれぞれの宛先に転送されるパケットを示します。パケットのパスが VLAN マップや ACL を示す線と交差するポイントで、パケットを転送せずにドロップする可能性もあります。

ACL およびスイッチド パケット

図 28-6 に、VLAN 内でスイッチングされるパケットに ACL を適用する方法を示します。フォールバック ブリッジングによってルーティングまたは転送されず、VLAN 内でスイッチングされるパケットには、入力 VLAN の VLAN マップだけが適用されます。

図 28-6 スイッチド パケットへの ACL の適用

 

ACL およびブリッジド パケット

図 28-7 に、フォールバック ブリッジド パケットに ACL を適用する方法を示します。ブリッジド パケットの場合は、入力 VLAN にレイヤ 2 ACL だけが適用されます。また、非 IP および非 ARP パケットだけがフォールバック ブリッジド パケットとなります。

図 28-7 ブリッジド パケットへの ACL の適用

 

ACL およびルーテッド パケット

図 28-8 に、ルーテッド パケットに ACL を適用する方法を示します。ルーテッド パケットの場合、ACL は次の順番で適用されます。

1. 入力 VLAN の VLAN マップ

2. 入力ルータ ACL

3. 出力ルータ ACL

4. 出力 VLAN の VLAN マップ

図 28-8 ルーテッド パケットへの ACL の適用

 

ACL およびマルチキャスト パケット

図 28-9 に、IP マルチキャスト用に複製されたパケットに ACL を適用する方法を示します。ルーティングされるマルチキャスト パケットには、2 つの異なるフィルタが適用されます。1 つは、宛先が入力 VLAN 内の他のポートである場合に使用され、もう 1 つは、宛先がパケットのルーティング先である別の VLAN 内にある場合に使用されます。パケットは複数の出力 VLAN にルーティングされる場合がありますが、この場合は宛先 VLAN ごとに異なるルータ出力 ACL および VLAN マップが適用されます。

最終的に、パケットは一部の出力 VLAN 内で許可され、それ以外の VLAN で拒否されます。パケットのコピーが、許可された宛先に転送されます。ただし、入力 VLAN マップ(図 28-9 の VLAN 10 マップ)によってパケットがドロップされる場合、パケットのコピーは宛先に送信されません。

図 28-9 マルチキャスト パケットへの ACL の適用

 

ACL 情報の表示

スイッチ上に設定されている ACL、およびインターフェイスと VLAN に適用された ACL を表示できます。また、ACL に関連する、設定の競合に関する情報またはリソースの使用状況を表示できます。

ここでは、次の内容について説明します。

「ACL の設定の表示」

「ACL リソース使用量と設定上の問題の表示」

ACL の設定の表示

既存の ACL を表示できます。また、 ip access-group インターフェイス コンフィギュレーション コマンドを使用して、レイヤ 2 またはレイヤ 3 インターフェイスに ACL を適用した場合は、そのインターフェイスのアクセス グループを表示できます。また、レイヤ 2 インターフェイスに適用された MAC ACL も表示できます。この情報を表示するには、 表 28-2 に記載された特権 EXEC コマンドを使用します。

 

表 28-2 アクセス リストおよびアクセス グループを表示するコマンド

コマンド
目的

show access-lists [ number | name ]

現在の 1 つまたはすべての IP および MAC アドレス アクセス リストの内容、または特定のアクセス リスト(番号付きまたは名前付き)の内容を表示します。

show ip access-lists [ number | name ]

現在のすべての IP アクセス リスト、または特定の IP アクセス リスト(番号付きまたは名前付き)の内容を表示します。

show ip interface interface-id

インターフェイスの詳細設定およびステータスを表示します。IP がイネーブルになっているインターフェイスに、 ip access-group インターフェイス コンフィギュレーション コマンドを使用して ACL を適用した場合は、アクセス グループも表示されます。

show running-config [ interface interface-id ]

スイッチまたは指定されたインターフェイスのコンフィギュレーション ファイルの内容(設定されたすべての MAC および IP アクセス リストや、どのアクセス グループがインターフェイスに適用されたかなど)を表示します。

show mac access-group [ interface interface-id ]

すべてのレイヤ 2 インターフェイスまたは指定されたレイヤ 2 インターフェイスに適用されている MAC アクセス リストを表示します。

次に、 show access-lists 特権 EXEC コマンドの出力例を、すべての標準および拡張 ACL とともに示します。

Switch# show access-lists
Standard IP access list 1
permit 172.20.10.10
Standard IP access list 10
permit 12.12.12.12
Standard IP access list 12
deny 1.3.3.2
Standard IP access list 32
permit 172.20.20.20
Standard IP access list 34
permit 10.24.35.56
permit 23.45.56.34
Extended IP access list 120
permit eigrp host 12.3.6.5 host 25.36.1.24
Extended MAC access list mac1

次に、 show ip access-lists 特権 EXEC コマンドの出力例を示します。これは、IP 標準および拡張 ACL のみを表示しています。上記の例で表示されている名前付き MAC 拡張 ACL は、この表示には含まれていないことに注意してください。

Switch# show ip access-lists
Standard IP access list 1
permit 172.20.10.10
Standard IP access list 10
permit 12.12.12.12
Standard IP access list 12
deny 1.3.3.2
Standard IP access list 32
permit 172.20.20.20
Standard IP access list 34
permit 10.24.35.56
permit 23.45.56.34
Extended IP access list 120
permit eigrp host 12.3.6.5 host 25.36.1.24
 

次に、1 つのインターフェイス(ギガビット イーサネット インターフェイス 2)のみが MAC アクセス リスト( macl-e1 )を適用している場合の、  show mac access-group 特権 EXEC コマンドの出力例を示します。

Switch# show mac access-group
Interface GigabitEthernet0/1:
Inbound access-list is not set
Interface GigabitEthernet0/2:
Inbound access-list is macl_e1
Interface GigabitEthernet0/3:
Inbound access-list is not set
Interface GigabitEthernet0/4:
Inbound access-list is not set
Interface GigabitEthernet0/5:
Inbound access-list is not set
 
<output truncated>
 

VLAN アクセス マップまたは VLAN フィルタ に関する情報を表示できます。VLAN マップ情報を表示するには、 表 28-3 に記載された特権 EXEC コマンドを使用します。

 

表 28-3 VLAN マップ情報を表示するコマンド

コマンド
目的

show vlan access-map [ mapname ]

すべての VLAN アクセス マップまたは指定されたアクセス マップに関する情報を表示します。

show vlan filter [ access-map name | vlan vlan-id ]

すべての VLAN フィルタに関する情報、または指定された VLAN や VLAN アクセス マップに関する情報を表示します。

次に、 show vlan access-map 特権 EXEC コマンドの出力例を示します。

Switch# show vlan access-map
Vlan access-map "map_1" 10
Match clauses:
ip address: ip1
Action:
drop
Vlan access-map "map_1" 20
Match clauses:
mac address: mac1
Action:
forward

次に、 show vlan filter 特権 EXEC コマンドの出力例を示します。

Switch# show vlan filter
VLAN Map map_1 is filtering VLANs:
20-22

ACL リソース使用量と設定上の問題の表示

スイッチの機能マネージャは、設定された ACL にリソースを割り当てます。設定のためのハードウェア リソースが不足しているか、または設定が競合する場合、エラー メッセージが生成されます。エラー メッセージを受信するようにコンソールが設定されていない場合、 show fm 特権 EXEC コマンドを使用して機能マネージャのメッセージを表示し、インターフェイスで ACL を処理しているリソースに関する詳細情報を取得できます。また、 show tcam 特権 EXEC コマンドを使用して、スイッチの 3 値連想メモリ(TCAM)の容量に関するステータス情報を取得することもできます。

表 28-4 に、ACL の機能マネージャ情報を表示する特権 EXEC コマンドを示します。

 

表 28-4 VLAN マップ情報を表示するコマンド

コマンド
目的

show fm vlan vlan-id
または
show fm interface interface-id

インターフェイスのハードウェア ポート ラベルまたは VLAN ラベル番号や、発生した機能マネージャの問題を含む、インターフェイスまたは VLAN の機能マネージャ情報を表示します。

show fm vlan-label label-id
または
show fm port-label label-id

設定済み ACL 機能の中でハードウェアに適合するものなど、特定されたラベルに関する情報を表示します。VLAN のラベルは、ルータ ACL および VLAN マップに使用されます。ポート ラベルは、ポート ACL に使用されます。VLAN の label-id の範囲は 0 ~ 255 です。ポートの label-id の範囲は 0 ~ 127 です。

show tcam { inacl | outacl } tcam-id {{ port-labels [ label-id ]} | size |{ statistics [ entries | hits | labels | masks ]} | { vlan-labels [ label-id ]}}

TCAM の入力または出力 ACL 領域情報を表示します。スイッチ モデルに応じて、TCAM ID の範囲は 1~3 まで変わります。コマンドで使用可能なその他のキーワードは、主にシスコのテクニカル サポートが使用する出力を表示するために使用されます。

これらのコマンドの詳細については、このリリースのコマンド リファレンスを参照してください。

ここでは、次の ACL 問題に関するこの情報の表示方法について説明します。

「設定の競合」

「ハードウェアに適合する ACL 設定」

「TCAM 使用率」

設定の競合

すでに設定されているルータ ACL を持つスイッチでポート ACL をインターフェイスに適用するなど、許可されていない ACL 設定を入力しようとすると、エラー メッセージがログに記録されます。

次の例では、ギガビット ポート 1 はレイヤ 2 インターフェイスです。アクセス リスト ip3 を適用しようとすると、スイッチのレイヤ 3 インターフェイスに適用された ACL がすでにあることが、エラー メッセージで示されます。

Switch(config)# interface gigabitethernet0/1
Switch(config-if)# ip access-group ip3 in
Switch(config-if)#
1d18h:%FM-3-CONFLICT:Port ACL ip3 conflicts with input router ACLs
 

ACL 設定の競合があるかを確認したり、ポートのポート ラベル番号を確認するには、インターフェイスに対して show fm interface 特権 EXEC コマンドを入力できます。その後、この例に示すように、 show fm port-label 特権 EXEC コマンドを入力して、より詳細な情報を表示できます。

Switch# show fm interface gigabitethernet0/1
Conflicts exist with layer 3 access groups.
Input Port Label:2
Switch# show fm port-label 2
Conflicts exist with layer 3 access groups.
Needed in CAM(s):1
Loaded into CAM(s):1
Sent to CPU by CAM(s):
Interfaces: Gi0/1
IP Access Group:ip3 0 VMRs
DHCP Broadcast Suppression Disabled.
MAC Access Group:(None) 0 VMRs
 

の例は、スイッチのレイヤ 2 インターフェイスにすでに ACL が適用されている場合に、SVI、VLAN 1 に ACL 121 を適用しようとした結果を示します。

Switch(config)# interface vlan 1
Switch(config-if)# ip access-group 121 in
Switch(config-if)#
1d18h:%FM-3-CONFLICT:Input router ACL 121 conflicts with port ACLs
 

VLAN に対して show fm vlan 特権 EXEC コマンドを入力して競合を表示し、VLAN の label-id を確認し、 show fm vlan-label コマンドを入力して詳細を表示できます。

Switch# show fm vlan 1
Conflicts exist with layer 2 access groups.
Input VLAN Label:1
Output VLAN Label:0 (default)
Priority:normal
Switch# show fm vlan-label 1
Conflicts exist with layer 2 access groups.
Input Features:
Interfaces or VLANs: Vl1
Priority:normal
Vlan Map:(none)
Access Group:121, 0 VMRs
Multicast Boundary:(none), 0 VMRs
Output Features:
Interfaces or VLANs:
Priority:low
Bridge Group Member:no
Vlan Map:(none)
Access Group:(none), 0 VMRs

ハードウェアに適合する ACL 設定

前述のように、Catalyst 3550 スイッチでの ACL 処理は、大部分がハードウェアで実行されます。しかし、ACL 設定を保存するための容量にハードウェアが到達すると、スイッチ ソフトウェアは、より単純な設定をハードウェアに適合しようとします。この単純な設定では、設定されたすべてのフィルタリングを行いませんが、代わりに、一部または全部のパケットを CPU に送信してソフトウェアによるフィルタリングを行います。このようにして、設定されたすべてのフィルタリングが実行されますが、ソフトウェアでフィルタリングが行われると、パフォーマンスは大幅に低下します。

たとえば、VLAN インターフェイスに適用されている入力ルータ ACL と、同じ VLAN に適用されている VLAN マップの組み合わせがハードウェアに適合しない場合、次のような結果が発生する場合があります。

VLAN マップのみがハードウェアで適合すると、ソフトウェアによってハードウェアは、フィルタリングと潜在的なルーティング(パケットがフィルタを通過する場合)を行うためにルーティングされる必要のあるすべてのパケットを CPU に送信するように設定されます。その場合でも、入力 VLAN 内でブリッジングのみを必要とするパケットはハードウェアによって完全に処理され、CPU に送信されません。

VLAN マップがハードウェアに適合しない場合、その VLAN 上のすべてのパケットをソフトウェアでフィルタリングおよび転送する必要があります。

ハードウェアへの設定の適合の問題はすべてログに記録されます。インターフェイスの設定または VLAN の設定がハードウェアに適合しなかったかどうかを確認するには、 show fm 特権 EXEC コマンドを使用できます。

ポート ACL の例

これは、使用可能な TCAM スペースに大きすぎるポート アクセス リストの例です。

Switch(config-if)# interface gigabitethernet0/3
Switch(config-if)# ip access-group 100 in
Switch(config-if)#
00:04:58:%FM-3-UNLOADING:Unloading port label 3 feature from TCAM 1
 

ポートのラベルを確認するか、ラベルがインターフェイスに割り当てられているかどうかを確認するには、 show fm interface コマンドを入力できます。

Switch# show fm interface gigabitethernet0/3
Input Port Label:3
 

show fm port-label 3 特権 EXEC コマンドを入力すると、ラベル 3 が CAM 1 で必要だが、CAM 1 でロードされておらず、代わりに、CPU に送信されることが表示されます。

Switch# show fm port-label 3
Needed in CAM(s):1
Loaded into CAM(s):
Sent to CPU by CAM(s):1
Interfaces: Gi0/3
IP Access Group:100 3400 VMRs
DHCP Broadcast Suppression Disabled.
MAC Access Group:(None) 2 VMRs
 

スイッチ上の TCAM の数は、スイッチ モデルによって変わります(1 ~ 3)。複数の TCAM があるスイッチで、同じポート ACL が複数のインターフェイスに適用されている場合は、必要な TCAM の一部(すべてではない)に設定が適合する可能性があります。この場合、ACL が適用されるときに生成されるログ メッセージに、ACL をロードできなかった TCAM が明記されます。

Switch(config)# interface gigabitethernet0/10
Switch(config-if)# ip access-group 101 in
Switch(config-if)#
01:46:25:%FM-3-UNLOADING:Unloading port label 4 feature from TCAM 1
 

ラベル 4 に対して show fm port-label コマンドを入力すると、機能がロードされている TCAM とそうでない TCAM が表示されます。

Switch# show fm port-label 4

Needed in CAM(s):1 3
Loaded into CAM(s):3
Sent to CPU by CAM(s):1
Interfaces: Gi0/3, Gi0/10
IP Access Group:101 379 VMRs
DHCP Broadcast Suppression Disabled.
MAC Access Group:(None) 2 VMRs
 

ポート ラベル 4 が CAM 1 および 3 で必要だが、CAM 1 には他のポート ラベル用のエントリがすでに含まれており、CAM 3 よりも使用可能なスペースが少ないため、CAM 1 には収まらなかったことが表示されます。出力は、ラベルが CAM 3 にロードされており、ポート ラベル 4 に対するポート ACL のエントリが CAM 1 からアンロードされたため、CAM 1 はこのラベルのパケットを CPU に送信することを示しています。

VLAN またはルータ ACL の例

次に、VLAN 1 の機能マネージャ情報を表示する例を示します。

Switch# show fm vlan 1
Input VLAN Label:1
Output VLAN Label:0 (default)
Priority:normal
 

show fm vlan-label 特権 EXEC コマンドからのこの出力は、入力アクセス グループのマージ失敗を示しています。

Switch# show fm vlan-label 1
Unloaded due to merge failure or lack of space:
InputAccessGroup
Merge Fail:input
Input Features:
Interfaces or VLANs: Vl1
Priority:normal
Vlan Map:(none)
Access Group:131, 6788 VMRs
Multicast Boundary:(none), 0 VMRs
Output Features:
Interfaces or VLANs:
Priority:low
Bridge Group Member:no
Vlan Map:(none)
Access Group:(none), 0 VMRs
 

show fm vlan-label 特権 EXEC コマンドからのこの出力は、ハードウェアの入力アクセス グループの空きが不十分であることを示しています。

Switch# show fm vlan-label 1
Unloaded due to merge failure or lack of space:
InputAccessGroup
Input Features:
Interfaces or VLANs: Vl1
Priority:normal
Vlan Map:(none)
Access Group:bigone, 11 VMRs
Multicast Boundary:(none), 0 VMRs
Output Features:
Interfaces or VLANs:
Priority:low
Bridge Group Member:no
Vlan Map:(none)
Access Group:(none), 0 VMRs
 

show fm vlan-label 特権 EXEC コマンドからのこの出力は、ラベル上の入力アクセス グループまたは出力アクセス グループに十分な空きがないことを示しています。(アクセス グループは、2 つの異なるインターフェイス上で設定されていることに注意してください。ラベルは入力および出力に対して別個に割り当てられます)。

Switch# show fm label 1
Unloaded due to merge failure or lack of space:
InputAccessGroup OutputAccessGroup
Input Features:
Interfaces or VLANs: Vl1
Priority:normal
Vlan Map:(none)
Access Group:bigone, 11 VMRs
Multicast Boundary:(none), 0 VMRs
Output Features:
Interfaces or VLANs: Vl2
Priority:normal
Bridge Group Member:no
Vlan Map:(none)
Access Group:bigtwo, 11 VMRs

) スイッチに ACL を設定するときに、ACL に最大のハードウェア リソースを割り当てる場合は、sdm prefer access グローバル コンフィギュレーション コマンドを使用して、アクセス テンプレートにスイッチ データベース管理機能を設定できます。SDM テンプレートの詳細については、「ユーザ選択機能のためのシステム リソースの最適化」を参照してください。


TCAM 使用率

ACL を設定する前後に、TCAM に残りの容量を表示することができます。また、 show tcam 特権 EXEC コマンドを使用して、特定のインターフェイスまたは VLAN にどの程度のスペースが TCAM で割り当てられているかを表示することもできます。

ACL が入力された、TCAM の領域の合計サイズを表示するには、 show tcam size を使用できます。

Switch# show tcam inacl 1 size
Ingress ACL TCAM Size:6592 Entries
 

さまざまな TCAM 領域に割り当てられている量を変更するには、 sdm prefer グローバル コンフィギュレーション コマンドを使用して、ACL、ルーティング、またはレイヤ 2 スイッチングにより多くのリソースを割り当てます。

入力または出力 TCAM 領域に対する show tcam statistics コマンドは、割り当て済みおよび使用可能なマスクおよびエントリを含め、その領域がどの程度埋まっているかを表示します。コマンド出力例は次のとおりです。

Switch# show tcam inacl 1 statistics
Ingress ACL TCAM#1:Number of active labels:3
Ingress ACL TCAM#1:Number of masks allocated: 14, available: 810
Ingress ACL TCAM#1:Number of entries allocated: 17, available:6575
 

インターフェイスまたは VLAN で ACL 設定によってどの程度の TCAM が使用されているかを判別するには、 show fm interface または show fm vlan コマンドを使用し、ポートまたは VLAN ACL 設定に使用されているポート ラベルまたは CLAN ラベルを判別します。次に、 show tcam port-label または show tcam vlan-label コマンドを使用して、どの程度の TCAM スペースがラベルに割り当てられているかを表示します。VLAN ラベルは、ルータ ACL および VLAN マップに使用されます。ポート ラベルはポート ACL 用に使用されます。

Switch# show fm vlan 1
Input VLAN Label:1
Output VLAN Label:0 (default)
Priority:normal
Switch# show tcam inacl 1 vlan-labels 1
Label Value : 8193(vlan label 1)
Number of entries :779
Entry List
----------
Mask Index :4
F7 00 00 00 00 00 00 00 00 80 FF C0 00 C0 FF FF 00 00
Entry Index :32 Timestamp:1
96 00 00 00 00 00 00 00 00 80 01 40 00 80 00 01 00 00 As Data(hex) :00260086
Mask Index :5
F7 00 00 00 00 00 00 00 00 80 FF C0 00 C0 00 00 FF FF
Entry Index :33 Timestamp:4
96 00 00 00 00 00 00 00 00 80 01 40 00 80 00 00 00 B3 As Data(hex) :00260086
Mask Index :6
F5 00 00 00 00 E0 00 00 00 80 FF C0 00 C0 00 00 00 00
Entry Index :48 Timestamp:1
94 00 00 00 00 E0 00 00 00 80 01 40 00 80 00 00 00 00 As Data(hex) :00210086
Mask Index :7
F7 00 00 00 00 00 00 00 00 80 FF C0 00 C0 00 00 00 00
Entry Index :49 Timestamp:4
96 00 00 00 00 00 00 00 00 80 01 40 00 80 00 00 00 00 As Data(hex) :00210086
Mask Index :8
F5 00 00 00 00 00 00 00 00 80 FF C0 00 C0 00 00 00 00
Entry Index :64 Timestamp:1
 
<output truncated>

show tcam vlan-label 出力では、Number of entries フィールドは 2 つのデフォルト エントリを考慮しないため、2 つのエントリはカウントから省略されます。デフォルト エントリはポート ラベルに使用されないため、同フィールドのカウントは、その出力に対して正確です。