IPv4 ACL

ACL によるネットワーク セキュリティに関する情報

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

ACL の概要

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

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

アクセス コントロール エントリ

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


(注)  


中央スイッチングのアクセスポリシー(ACL)の下で適用できる ACE の最大数は 256 ACE です。Flex モードまたはローカルスイッチングに適用できる ACE の最大数は 64 ACE です。

ACL でサポートされるタイプ

スイッチは、IP ACL とイーサネット(MAC)ACL をサポートします。

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

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

このスイッチは、Quality of Service(QoS)分類 ACL もサポートします。

サポートされる ACL

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

  • ポート ACL は、レイヤ 2 インターフェイスに入るトラフィックをアクセス コントロールします。IPv4 と MAC どちらのアクセス リスト タイプのどの方向に対してでも、レイヤ 2 インターフェイスにポート ACL を適応できます。

  • ルータ ACL は、VLAN 間でルーティングされたトラフィックのアクセスを制御し、レイヤ 3 インターフェイスで特定の方向(着信または発信)に適用されます。

  • FQDN ACL:FQDN ACL は、IPv6 ACL とともにエンコードされ、AP に送信されます。FQDN ACL は常にカスタム ACL です。AP は、DNS スヌーピングを行い、IPv4 および IPv6 アドレスをコントローラに送信します。

ACL 優先順位

ポート ACL、およびルータ ACL が同じスイッチに設定されている場合、入力トラフィックの場合のフィルタの優先順位は上からポート ACL、およびルータ ACL です。出力トラフィックの場合、フィルタの優先順位は、ルータ ACL、ポート ACL です。

次の例で、簡単な使用例を説明します。

  • スイッチ仮想インターフェイス(SVI)に入力ルータ ACL および入力ポート ACL が設定されている場合に、ポート ACL が適用されているポートにパケットが着信すると、このパケットはポート ACL によってフィルタリングされます。ポートで受信した着信のルーティング IP パケットには、ルータ ACL のフィルタが適用されます。他のパケットはフィルタリングされません。

  • SVI に出力ルータ ACL および入力ポート ACL が設定されている場合に、ポート ACL が適用されているポートにパケットが着信すると、このパケットはポート ACL によってフィルタリングされます。発信するルーティング IP パケットには、ルータ ACL のフィルタが適用されます。他のパケットはフィルタリングされません。

ポート ACL

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

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

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

スイッチは、インターフェイス上の ACL を調べ、パケットが ACL 内のエントリとどのように一致するかに基づいてパケットの転送を許可または拒否します。このように、ACL がネットワークまたはネットワークの部分へのアクセスを制御します。

図 1. ACL によるネットワーク内のトラフィックの制御
ACL を使用してネットワークへのトラフィックを制御します。

次に、すべてのワークステーションが同じ VLAN にある場合にポート ACL を使用してネットワークへのアクセスを制御する例を示します。レイヤ 2 の着信方向に適用された ACL は、ホスト A がヒューマン リソース ネットワークにアクセスすることを許可しますが、ホスト B が同一のネットワークにアクセスすることは拒否します。ポート ACL は、着信方向のレイヤ 2 インターフェイスだけに適用できます。

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

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


(注)  


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


ルータ ACL

VLAN へのレイヤ 3 インターフェイスであるスイッチ仮想インターフェイス(SVI)、物理層 3 インターフェイス、およびレイヤ 3 EtherChannel インターフェイスに、ルータ ACL を適用できます。ルータ ACL はインターフェイスの特定の方向(着信または発信)に対して適用されます。1 つのインターフェイスの方向ごとに、ルータ ACL を 1 つ適用できます。

スイッチは、IPv4 トラフィックの次のアクセス リストをサポートしています。

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

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

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

ACL は ACL 内のエントリとパケットの一致結果に応じて、パケット転送を許可するか、拒否するかを決めます。ACL を使用すると、ネットワーク全体またはネットワークの一部に対するアクセス コントロールが行えます。

ACE およびフラグメント化されたトラフィックとフラグメント化されていないトラフィック

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

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

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


    (注)  


    L4 Ops をともなう ACE の TCP では、フラグメント化パケットは RFC 1858 ごとにドロップします。


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

ACE およびフラグメント化されたトラフィックとフラグメント化されていないトラフィックの例

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


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


(注)  


最初の 2 つの ACE には宛先アドレスの後に eq キーワードがありますが、これは既知の TCP 宛先ポート番号がそれぞれシンプル メール転送プロトコル(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 と一致します。

標準 IPv4 ACL および拡張 IPv4 ACL

ここでは、IP ACL について説明します。

ACL は、許可条件と拒否条件の順序付けられた集まりです。スイッチは、アクセス リスト内の条件を 1 つずつ調べ、パケットをテストします。最初に一致した条件によって、スイッチがパケットを受け入れるか拒否するかが決定されます。スイッチは一致する最初の条件が見つかった時点でパケットのテストを停止するため、条件の順序が重要な意味を持ちます。一致する条件がない場合、スイッチはパケットを拒否します。

このソフトウェアは、IPv4 について次の ACL(アクセス リスト)をサポートします。

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

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


(注)  


拡張 ACL のみがサポートされており、標準 ACL はサポートされていません。


IPv4 ACL スイッチでサポートされていない機能

このスイッチで IPv4 ACL を設定する手順は、他のシスコスイッチやルータで IPv4 ACL を設定する手順と同じです。

以下の ACL 関連の機能はサポートされていません。

  • 非 IP プロトコル ACL または

  • IP アカウンティング

  • 再帰 ACL、URL リダイレクト ACL、およびダイナミック ACL はサポートされていません。

アクセス リスト番号

ACL を識別するために使用する番号は、作成するアクセス リストのタイプを表します。

次の一覧に、アクセス リスト番号と対応するアクセス リスト タイプを挙げ、このスイッチでサポートされるかどうかを示します。このスイッチは、IPv4 標準アクセス リストおよび拡張アクセス リスト(1 ~ 199 および 1300 ~ 2699)をサポートします。

表 1. アクセス リスト番号

アクセス リスト番号

タイプ

サポートあり

1 ~ 99

IP 標準アクセス リスト

あり

100 ~ 199

IP 拡張アクセス リスト

あり

200 ~ 299

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

なし

300 ~ 399

DECnet アクセス リスト

なし

400 ~ 499

XNS 標準アクセス リスト

なし

500 ~ 599

XNS 拡張アクセス リスト

なし

600 ~ 699

AppleTalk アクセス リスト

なし

700 ~ 799

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

なし

800 ~ 899

IPX 標準アクセス リスト

なし

900 ~ 999

IPX 拡張アクセス リスト

なし

1000 ~ 1099

IPX SAP アクセス リスト

なし

1100 ~ 1199

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

なし

1200 ~ 1299

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

なし

1300 ~ 1999

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

あり

2000 ~ 2699

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

あり

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

番号付き標準 IPv4 ACL

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

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

作成した番号付き標準 IPv4 ACL を端末回線(仮想テレタイプ(VTY)回線)、またはインターフェイスに適用できます。

番号付き拡張 IPv4 ACL

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

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

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

拡張 TCP、UDP、ICMP、IGMP、またはその他の IP ACL を定義できます。また、このスイッチはこれらの IP プロトコルをサポートします。

これらの IP プロトコルがサポートされます。

  • 認証ヘッダー プロトコル(ahp

  • カプセル化セキュリティペイロード(esp

  • Enhanced Interior Gateway Routing Protocol(eigrp

  • 総称ルーティング カプセル化(gre

  • インターネット制御メッセージ プロトコル(icmp

  • インターネット グループ管理プロトコル(igmp

  • すべての内部プロトコル(ip

  • IP-in-IP トンネリング(ipinip

  • KA9Q NOS 互換 IP over IP トンネリング(nos

  • Open Shortest Path First ルーティング(ospf

  • ペイロード圧縮プロトコル(pcp

  • プロトコル独立マルチキャスト(pim

  • 伝送制御プロトコル(tcp

  • ユーザ データグラム プロトコル(udp

名前付き IPv4 ACL

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


(注)  


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


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

  • また、番号付き ACL も使用できます。

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

ACL ロギング

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


(注)  


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


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


(注)  


ロギング メッセージが多すぎて処理できない場合、または 1 秒以内に処理する必要があるロギング メッセージが複数ある場合、ロギング設備ではロギング メッセージ パケットの一部をドロップすることがあります。この動作によって、ロギング パケットが多すぎてルータがクラッシュすることを回避します。そのため、課金ツールや、アクセス リストと一致する数の正確な情報源としてロギング設備をを使用しないでください。

ハードウェアおよびソフトウェアによる IP ACL の処理

ACL 処理はハードウェアで実行されます。ハードウェアで ACL の設定を保存する領域が不足すると、そのインターフェイス上のすべてのパケットがドロップします。

コントローラの ACL スケールは次のとおりです。

  • Cisco Catalyst 9800-40 ワイヤレスコントローラ、Cisco Catalyst 9800-L ワイヤレスコントローラ、Cisco Catalyst 9800-CL ワイヤレスコントローラ(中規模および小規模)は、128 の ACL と 128 のアクセスリストエントリ(ACE)をサポートします。

  • Cisco Catalyst 9800-80 ワイヤレスコントローラおよび Cisco Catalyst 9800-CL ワイヤレスコントローラ(大規模)は、256 の ACL と 256 の ACE をサポートします。

  • FlexConnect およびファブリックモード AP は、96 の ACL をサポートします。


(注)  


コントローラのリソース不足が原因でハードウェアに ACL を設定できない場合、影響を受けるのは、コントローラに着信した該当 VLAN 内のトラフィックだけです。


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

IPv4 ACL のインターフェイスに関する注意事項

インバウンド ACL の場合、パケットの受信後コントローラはパケットを ACL と照合します。ACL がパケットを許可する場合、コントローラはパケットの処理を継続します。ACL がパケットを拒否する場合、コントローラはパケットを廃棄します。

アウトバウンド ACL の場合、パケットを受信し制御対象インターフェイスにルーティングした後、コントローラはパケットを ACL と照合します。ACL がパケットを許可する場合、コントローラはパケットを送信します。ACL がパケットを拒否する場合、コントローラはパケットを廃棄します。

未定義の ACL に何もリストされていない場合、それは空のアクセスリストです。

IPv4 アクセス コントロール リストの設定に関する制約事項

次は、ACL によるネットワーク セキュリティの設定の制約事項です。

一般的なネットワーク セキュリティ

次は、ACL によるネットワーク セキュリティの設定の制約事項です。

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

  • AppleTalk は、コマンドラインのヘルプ ストリングに表示されますが、deny および permit MAC アクセスリスト コンフィギュレーション モード コマンドの一致条件としてサポートされていません。

  • DNS トラフィックは、Web 認証を待機しているクライアントの ACL エントリの有無にかかわらず、デフォルトで許可されます。

IPv4 ACL ネットワーク インターフェイス

次の制限事項が、ネットワーク インターフェイスへの IPv4 ACL に適用されます。

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

  • レイヤ 2 インターフェイスに ACL を適用する場合、ルーティングを有効にする必要はありません。

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

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

  • 同じレイヤ 2 インターフェイスには、IP アクセス リストと MAC アクセス リストを 1 つずつしか適用できません。IP アクセス リストは IP パケットだけをフィルタリングし、MAC アクセス リストは非 IP パケットをフィルタリングします。

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


(注)  


mac access-group インターフェイス コンフィギュレーション コマンドは、物理レイヤ 2 インターフェイスに適用される場合のみ有効です。このコマンドは、EtherChannel ポート チャネルでは使用できません。


IP アクセス リスト エントリ シーケンス番号

  • この機能は、ダイナミック アクセス リスト、再帰アクセス リスト、またはファイアウォール アクセス リストをサポートしていません。

ACL の設定方法

IPv4 ACL の設定(GUI)

手順


ステップ 1

[Configuration] > [Security] > [ACL]を選択します。

ステップ 2

[Add] をクリックします。

ステップ 3

[Add ACL Setup] ダイアログボックスで、次のパラメータを入力します。

  • [ACL Name]:ACL の名前を入力します。

  • [ACL Type]:[IPv4 Standard]。

  • [Sequence]:シーケンス番号を入力します。

  • [Action]:ドロップダウン リストからパケット フローの [Permit] または [Deny] を選択します。

  • [Source Type]:パケットの送信元として [any]、[Host]、または [Network] を選択します。

  • [Log]:ロギングを有効または無効にします。

ステップ 4

[Add] をクリックします。

ステップ 5

残りのルールを追加し、[Apply to Device] をクリックします。


IPv4 ACL の設定

スイッチで IP ACL を使用するには、次の手順に従います。

手順


ステップ 1

アクセス リストの番号または名前とアクセス条件を指定して、ACL を作成します。

ステップ 2

ACL をインターフェイスまたは端末回線に適用します。


番号付き標準 ACL の作成(GUI)

手順


ステップ 1

[Configuration] > [Security] > [ACL]を選択します。

ステップ 2

[ACL] ページで、[Add] をクリックします。

ステップ 3

[Add ACL Setup] ウィンドウで、次のパラメータを入力します。

  • [ACL Name]:ACL の名前を入力します。

  • [ACL Type]:[IPv4 Standard]。

  • [Sequence]:シーケンス番号を入力します。

  • [Action]:ドロップダウン リストからアクセスの [Permit] または [Deny] を選択します。

  • [Source Type]:[any]、[Host]、または [Network] を選択します。

  • [Log]:ロギングを有効または無効にします。これは、レイヤ 3 インターフェイスに関連付けられている ACL のみに限定されます。

ステップ 4

[Add] をクリックします。

ステップ 5

[Save & Apply to Device] をクリックします。


番号付き標準 ACL の作成(CLI)

番号付き標準 ACL を作成するには、次の手順に従います。

手順

  コマンドまたはアクション 目的

ステップ 1

enable

例:


Device> enable

特権 EXEC モードを有効にします。パスワードを入力します(要求された場合)。

ステップ 2

configure terminal

例:


Device# configure terminal

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

ステップ 3

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

例:


Device(config)# access-list 2 deny your_host

送信元アドレスとワイルドカードを使用して標準 IPv4 アクセス リストを定義します。

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

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

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

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

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

  • キーワード host は送信元および source 0.0.0.0 の source-wildcard の省略形です。

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

(注)  

 

ロギングは、レイヤ 3 インターフェイスに割り当てられた ACL でだけサポートされます。

ステップ 4

end

例:


Device(config)# end

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

ステップ 5

show running-config

例:


Device# show running-config

入力を確認します。

ステップ 6

copy running-config startup-config

例:


Device# copy running-config startup-config

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

番号付き拡張 ACL の作成(GUI)

手順


ステップ 1

[Configuration] > [Security] > [ACL]を選択します。

ステップ 2

[ACL] ページで、[Add] をクリックします。

ステップ 3

[Add ACL Setup] ウィンドウで、次のパラメータを入力します。

  • [ACL Name]:ACL の名前を入力します。

  • [ACL Type]:[IPv4 Extended]。

  • [Sequence]:シーケンス番号を入力します。

  • [Action]:ドロップダウン リストからパケット フローの [Permit] または [Deny] を選択します。

  • [Source Type]:パケットの送信元として [any]、[Host]、または [Network] を選択します。

  • [Destination Type]:パケットの宛先として [any]、[Host]、または [Network] を選択します。

  • [Protocol]:ドロップダウン リストからプロトコルを選択します。

  • [Log]:ロギングを有効または無効にします。

  • [DSCP]:パケットを DSCP 値に合わせる場合に入力します。

ステップ 4

[Add] をクリックします。

ステップ 5

[Save & Apply to Device] をクリックします。


番号付き拡張 ACL の作成(CLI)

番号付き拡張 ACL を作成するには、次の手順に従います。

手順

  コマンドまたはアクション 目的

ステップ 1

configure terminal

例:


Device# configure terminal

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

ステップ 2

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

例:


Device(config)# access-list 101 permit ip host 10.1.1.2 any precedence 0 tos 0 log

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

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

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

protocol には、インターネット プロトコルの名前または番号を入力します。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 の追加の特定パラメータについては、次のステップを参照してください。

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)です。

  • time-range :時間範囲の名前を指定します。

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

    (注)  

     

    コントローラは次の機能をサポートしている必要があります。

(注)  

 

dscp 値を入力する場合は、tos または precedence を入力できません。dscp を入力せずに tos precedence の両方の値を入力できます。

ステップ 3

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

例:


Device(config)# access-list 101 permit tcp any any eq 500

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

次に示す例外を除き、拡張 IPv4 ACL に対して説明するパラメータと同じパラメータを使用します。

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

port には、10 進数(0 ~ 65535)のポート番号または TCP ポート名を入力します。TCP をフィルタリングするときには、TCP ポートの番号または名前だけを使用します。

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

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

ステップ 4

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

例:


Device(config)# access-list 101 permit udp any any eq 100

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

UDP パラメータは TCP の説明にあるパラメータと同じです。ただし、[operator [port]] ポート番号またはポート名は、UDP ポートの番号または名前でなければなりません。また、UDP では、flag は無効です。

ステップ 5

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] [ time-range time-range-name] [ dscp dscp]

例:


Device(config)# access-list 101 permit icmp any any 200

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

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

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

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

  • icmp-message:ICMP パケットを ICMP メッセージ タイプ名または ICMP メッセージ タイプとコード名でフィルタリングする場合に入力します。

ステップ 6

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

例:


Device(config)# access-list 101 permit igmp any any 14

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

IGMP パラメータは拡張 IPv4 ACL の IP プロトコルの説明にあるパラメータとほとんど同じですが、次に示すオプションのパラメータが追加されています。

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

ステップ 7

end

例:


Device(config)# end

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

名前付き標準 ACL の作成(GUI)

手順


ステップ 1

[Configuration] > [Security] > [ACL] の順にクリックします。

ステップ 2

[Add] をクリックして、新しい ACL 設定を作成します。

ステップ 3

[Add ACL Setup] ウィンドウで、次のパラメータを入力します。

  • [ACL Name]:ACL の名前を入力します。

  • [ACL Type]:[IPv4 Standard]。

  • [Sequence]:有効な範囲は 1 ~ 99 または 1300 ~ 1999 です。

  • [Action]:ドロップダウン リストからアクセスの [Permit] または [Deny] を選択します。

  • [Source Type]:[any]、[Host]、または [Network] を選択します。

  • [Log]:ロギングを有効または無効にします。これは、レイヤ 3 インターフェイスに関連付けられている ACL のみに限定されます。

ステップ 4

[Add] をクリックしてルールを追加します。

ステップ 5

[Save & Apply to Device] をクリックします。


名前付き標準 ACL の作成

名前を使用して標準 ACL を作成するには、次の手順に従います。

手順

  コマンドまたはアクション 目的

ステップ 1

enable

例:


Device> enable

特権 EXEC モードを有効にします。パスワードを入力します(要求された場合)。

ステップ 2

configure terminal

例:


Device# configure terminal

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

ステップ 3

ip access-list standard name

例:


Device(config)# ip access-list standard 20

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

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

ステップ 4

次のいずれかを使用します。

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

例:


Device(config-std-nacl)# deny 192.168.0.0 0.0.255.255 255.255.0.0 0.0.255.255

または


Device(config-std-nacl)# permit 10.108.0.0 0.0.0.0 255.255.255.0 0.0.0.0

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

  • host source :送信元および送信元ワイルドカードの値である source 0.0.0.0。

  • any :送信元および送信元ワイルドカードの値である 0.0.0.0 255.255.255.255

ステップ 5

end

例:


Device(config-std-nacl)# end

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

ステップ 6

show running-config

例:


Device# show running-config

入力を確認します。

ステップ 7

copy running-config startup-config

例:


Device# copy running-config startup-config

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

名前付き拡張 ACL の作成(GUI)

手順


ステップ 1

[Configuration] > [Security] > [ACL]を選択します。

ステップ 2

[Add] をクリックします。

ステップ 3

[Add ACL Setup] ウィンドウで、次のパラメータを入力します。

  • [ACL Name]:ACL の名前を入力します。

  • [ACL Type]:[IPv4 Extended]。

  • [Sequence]:シーケンス番号を入力します。

  • [Action]:ドロップダウン リストからパケット フローの [Permit] または [Deny] を選択します。

  • [Source Type]:パケットの送信元として [any]、[Host]、または [Network] を選択します。

  • [Destination Type]:パケットの宛先として [any]、[Host]、または [Network] を選択します。

  • [Protocol]:ドロップダウン リストからプロトコルを選択します。

  • [Log]:ロギングを有効または無効にします。

  • [DSCP]:パケットを DSCP 値に合わせる場合に入力します。

ステップ 4

[Add] をクリックします。

ステップ 5

残りのルールを追加し、[Apply to Device] をクリックします。


名前付き拡張 ACL の作成

名前を使用して拡張 ACL を作成するには、次の手順に従います。

手順

  コマンドまたはアクション 目的

ステップ 1

enable

例:


Device> enable

特権 EXEC モードを有効にします。パスワードを入力します(要求された場合)。

ステップ 2

configure terminal

例:


Device# configure terminal

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

ステップ 3

ip access-list extended name

例:


Device(config)# ip access-list extended 150

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

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

ステップ 4

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

例:


Device(config-ext-nacl)# permit 0 any any

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

  • host source :送信元および送信元ワイルドカードの値である source 0.0.0.0。

  • host destination :接続先および接続先ワイルドカードの値である destination 0.0.0.0。

  • any:送信元および送信元ワイルドカードの値または接続先および接続先ワイルドカードの値である 0.0.0.0 255.255.255.255。

ステップ 5

end

例:


Device(config-ext-nacl)# end

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

ステップ 6

show running-config

例:


Device# show running-config

入力を確認します。

ステップ 7

copy running-config startup-config

例:


Device# copy running-config startup-config

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

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

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

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

次のタスク

作成した名前付き ACL は、インターフェイスまたは VLAN に適用できます。

インターフェイスへの IPv4 ACL の適用(GUI)

手順


ステップ 1

[Configuration] > [Security] > [ACL] の順に選択します。

ステップ 2

[Associating Interfaces] をクリックします。

ステップ 3

[Available Interfaces] リストからインターフェイスを選択して、右側に ACL の詳細を表示します。必要に応じて、ACL の詳細を変更できます。

ステップ 4

[Save & Apply to Device] をクリックします。


インターフェイスへの IPv4 ACL の適用(CLI)

ここでは、IPv4 ACL をネットワーク インターフェイスへ適用する方法について説明します。

インターフェイスへのアクセスを制御するには、特権 EXEC モードで次の手順に従います。

手順

  コマンドまたはアクション 目的

ステップ 1

configure terminal

例:


Device# configure terminal

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

ステップ 2

interface interface-id

例:


Device(config)# 

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

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

ステップ 3

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

例:


Device(config-if)# ip access-group 2 in

指定されたインターフェイスへのアクセスを制御します。

ステップ 4

end

例:


Device(config-if)# end

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

ステップ 5

show running-config

例:


Device# show running-config

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

ステップ 6

copy running-config startup-config

例:


Device# copy running-config startup-config

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

ポリシープロファイルへの ACL の適用(GUI)

手順


ステップ 1

[Configuration] > [Tags & Profiles] > [Policy] を選択します。

ステップ 2

[Policy Profile] ページで、[Add] をクリックします。

ステップ 3

[Add Policy Profile] ウィンドウで、[Access Policies] タブをクリックします。

ステップ 4

[WLAN ACL] 領域で、[IPv4 ACL] ドロップダウンリストから [IPv4 ACL] を選択します。

ステップ 5

[Apply to Device] をクリックします。


ポリシープロファイルへの ACL の適用

手順

  コマンドまたはアクション 目的

ステップ 1

configure terminal

例:

Device# configure terminal

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

ステップ 2

wireless profile policy profile-policy

例:

Device(config)# wireless profile policy profile-policy

WLAN ポリシー プロファイルを設定し、ワイヤレス ポリシー コンフィギュレーション モードを開始します。

ステップ 3

ipv4 acl acl-name

例:

Device(config-wireless-policy)# ipv4 acl test-acl

IPv4 ACL を設定します。

ステップ 4

end

例:

Device(config-wireless-policy)# end

特権 EXEC モードに戻ります。また、Ctrl+Z キーを押しても、グローバル コンフィギュレーション モードを終了できます。

ACL の設定例

例: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 のワークステーションにはアクセスを許可しません。


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

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

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


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

例:ワイヤレス環境でのポリシー プロファイルへの IPv4 ACL の適用

次に、ワイヤレス環境でポリシー プロファイルに IPv4 ACL を適用する例を示します。


(注)  


すべての IPv4 ACL をポリシー プロファイルに関連付ける必要があります。


この例では、拡張 ACL を使用して TCP トラフィックを許可しています。

  1. IPv4 ACL を作成します。

    Device(config)# ip access-list extended <acl-name>
    Device(config-ext-nacl)# 10 permit ip any 10.193.48.224 0.0.0.31
    Device (config-ext-nacl)# 20 permit ip any any
  2. ポリシー プロファイルに IPv4 ACL を適用します。

    Device(config)# wireless profile policy <policy-profile-name>
    Device(config-wireless-policy)# shutdown
    Device(config-wireless-policy)# ipv4 acl <acl-name>
    Device(config-wireless-policy)# no shutdown
    

IPv4 ACL の設定例

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

小規模ネットワークが構築されたオフィス用の ACL

図 2. ルータ ACL によるトラフィックの制御
ルータ ACL を使用したトラフィックの制御

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

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

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

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

例:小規模ネットワークが構築されたオフィスの ACL

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


Device(config)# access-list 6 permit 172.20.128.64 0.0.0.31
Device(config)# end
Device# how access-lists
Standard IP access list 6
    10 permit 172.20.128.64, wildcard bits 0.0.0.31
Device(config)# interface gigabitethernet1/0/1
Device(config-if)# ip access-group 6 out

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


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

例:番号付き ACL

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


Device(config)# access-list 2 permit 10.48.0.3
Device(config)# access-list 2 deny 10.48.0.0 0.0.255.255
Device(config)# access-list 2 permit 10.0.0.0 0.255.255.255 
Device(config)# 
Device(config-if)# ip access-group 2 in

例:拡張 ACL

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


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

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

SMTP は、接続の一端では TCP ポート 25、もう一端ではランダムなポート番号を使用します。接続している間は、同じポート番号が使用されます。インターネットから着信するメール パケットの宛先ポートは 25 です。安全なネットワーク システムでは常にポート 25 でのメール接続が使用されているため、着信サービスを個別に制御できます。


Device(config)# access-list 102 permit tcp any 128.88.0.0 0.0.255.255 eq 23
Device(config)# access-list 102 permit tcp any 128.88.0.0 0.0.255.255 eq 25
Device(config)# 
Device(config-if)# ip access-group 102 in

例:名前付き ACL

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

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


Device(config)# ip access-list standard Internet_filter
Device(config-ext-nacl)# permit 1.2.3.4
Device(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 トラフィックを拒否して、結果を示すログが表示されます。


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

Internet_filter ACL は発信トラフィックに適用され、marketing_group ACL はレイヤ 3 ポートの着信トラフィックに適用されます。


Device(config)# interface gigabitethernet3/0/1

Device(config-if)# ip address 2.0.5.1 255.255.255.0
Device(config-if)# ip access-group Internet_filter out
Device(config-if)# ip access-group marketing_group in

名前付き ACL からの個別 ACE の削除

次に、名前付きアクセス リスト border-list から ACE を個別に削除する例を示します。


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

IPv4 ACL のモニタリング

スイッチに設定されている ACL、およびインターフェイスと VLAN に適用済みの ACL を表示することで、IPv4 ACL をモニターできます。

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

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

show access-lists [number | name]

最新の 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 アクセス リストや、どのアクセス グループがインターフェイスに適用されたかなど)を表示します。