この製品のマニュアルセットは、偏向のない言語を使用するように配慮されています。このマニュアルセットでの偏向のない言語とは、年齢、障害、性別、人種的アイデンティティ、民族的アイデンティティ、性的指向、社会経済的地位、およびインターセクショナリティに基づく差別を意味しない言語として定義されています。製品ソフトウェアのユーザーインターフェイスにハードコードされている言語、RFP のドキュメントに基づいて使用されている言語、または参照されているサードパーティ製品で使用されている言語によりドキュメントに例外が存在する場合があります。シスコのインクルーシブランゲージに対する取り組みの詳細は、こちらをご覧ください。
このドキュメントは、米国シスコ発行ドキュメントの参考和訳です。リンク情報につきましては、日本語版掲載時点で、英語版にアップデートがあり、リンク先のページが移動/変更されている場合がありますことをご了承ください。あくまでも参考和訳となりますので、正式な内容については米国サイトのドキュメントを参照ください。
アクセス コントロール リスト(ACL)は、ネットワーク トラフィック プロファイルをまとめて定義する 1 つ以上のアクセス コントロール エントリ(ACE)です。このプロファイルは、トラフィック フィルタリング、ルート フィルタリング、QoS 分類、アクセス コントロールなど、Cisco IOS XR ソフトウェアの機能で参照できます。次の 2 種類の ACL があります。
標準 ACL:パケットの送信元アドレスのみが検証されます。標準 ACL は、IP パケットの送信元アドレスと ACL に設定されているアドレスを比較して、トラフィックを制御します。
拡張ACL:パケットの送信元アドレスと宛先アドレス、特定の UDP/TCP/IP プロトコル、および宛先ポートが検証されます。
Cisco IOS XR ソフトウェアでは、標準アクセス リストと拡張アクセス リストは区別されません。標準アクセス リストをサポートしているのは、下位互換性を確保するためです。
[Restrictions(機能制限)]
出力 ACL はサポートされていません。
ここでは、アクセス リストとプレフィックス リストの機能のハイライトを示します。
アクセス リストとプレフィックス リストの詳細については、次を参照してください。 アクセス リストおよびプレフィックス リストについて
ACL の実装には以下の手順が必要です。
標準または拡張 ACL を作成する
アクション要素(許可または拒否)と、基準に基づくフィルタ要素(送信元アドレス、宛先アドレス、プロトコル、プロトコル固有のパラメータなど)が含まれている ACL を作成します。
特定のインターフェイスに ACL を適用する
アクセス リストを設定したら、機能させるためにそのアクセス リストを参照する必要があります。アクセス リストは着信インターフェイスに適用できます。パケットを受信すると、Cisco IOS XR ソフトウェアはアクセス リストと照合してパケットの送信元アドレスをチェックします。アクセス リストがアドレスを許可している場合は、パケットの処理を継続します。アクセス リストでアドレスが拒否された場合は、パケットを破棄し、ICMP ホスト到達不能メッセージを返します。 ICMP メッセージは設定可能です。
まだ定義されていないアクセス リストをインターフェイスに適用すると、アクセス リストがまだインターフェイスに適用されていないものと解釈し、すべてのパケットを容認します。ネットワークで未定義のアクセス リストをセキュリティの手段として使用する場合は、この動作に留意してください。
![]() (注) |
パケットが許可または拒否のいずれにも該当しない場合、デフォルトのアクションはパケットの破棄です。 |
IPv4 名前付きアクセス リスト「acl_1」を作成します。このアクセス リストは、送信元または宛先として IPv4 アドレスを持つ ICMP プロトコル パケットを許可し、送信元または宛先として IPv4 アドレスを持ち、ポートが 5000 よりも大きい TCP プロトコル パケットを拒否します。
Router#configure Router(config)#ipv4 access-list acl_1 Router(config-ipv4-acl)#20 permit icmp any any Router(config-ipv4-acl)#30 deny tcp any any gt 5000 Router(config-ipv4-acl)#commit
Router# show running-config ipv4 access-list acl_1 ipv4 access-list acl_1 20 permit icmp any any 30 deny tcp any any gt 5000 !
許可と拒否の設定が設定されているコンフィギュレーションに合致していることを確認します。
Router# show access-lists acl_1 ipv4 access-list acl_1 20 permit icmp any any 30 deny tcp any any gt 5000 Router#
次の作業
アクセス リストを作成したら、それを回線またはインターフェイスに適用する必要があります。一意のアクセス リスト エントリ(ACE)の追加または削除中に、ACL コミットが失敗します。これは、割り当てられたマネージャ プロセスが存在しないために発生します。config-ipv4-acl モードを終了してコンフィギュレーション モードに戻り、再び config-ipv4-acl モードを開始してから、最初の ACE を追加してください。
「Do not allow user1 to telnet out」というコメントが付いた、IPv4 名前付きアクセス リスト「acl_1」を作成します。このアクセス リストは、ワイルドカード マスク「0.0.255.255」が付いた送信元アドレス「172.16.0.0」からのパケットを許可します。
Router# configure Router(config)# ipv4 access-list acl_1 Router(config-ipv4-acl)# 10 remark Do not allow user1 to telnet out Router(config-ipv4-acl)# 20 permit 172.16.0.0 0.0.255.255 */Repeat the above step as necessary, adding statements by sequence number where you planned. Use the no sequence-number command to delete an entry*/ Router(config-ipv4-acl)# commit
Router# show running-config ipv4 access-list acl_1 ipv4 access-list acl_1 10 remark Do not allow user1 to telnet out 20 permit ipv4 172.16.0.0 0.0.255.255 any !
許可とコメントの設定が設定されているコンフィギュレーションに合致していることを確認します。
Router# show access-lists ipv4 acl_1 ipv4 access-list acl_1 10 remark Do not allow user1 to telnet out 20 permit ipv4 172.16.0.0 0.0.255.255 any
次の作業
アクセス リストを作成したら、それを回線またはインターフェイスに適用する必要があります。一意のアクセス リスト エントリ(ACE)の追加または削除中に、ACL コミットが失敗します。これは、割り当てられたマネージャ プロセスが存在しないために発生します。config-ipv4-acl モードを終了してコンフィギュレーション モードに戻り、再び config-ipv4-acl モードを開始してから、最初の ACE を追加してください。
TenGigE インターフェイス 0/0/0/2 から着信したパケットのフィルタとして機能するインターフェイスにアクセス リストを適用します。
Router# configure Router(config)# interface TenGigE 0/0/0/2 Router(config-if)# ipv4 access-group acl_1 ingress Router(config-ipv4-acl)# commit
インターフェイスに適用した ACL(acl_1)が表示されることを確認します。
Router #show access-lists interface TenGigE 0/0/0/2 Input ACL (common): N/A (interface): acl_1 Output ACL: N/A Router#
アクセス リストのエントリにシーケンス番号を割り当て、アクセス リストに対してエントリを追加または削除する方法を示します。この設定では、ユーザがアクセス リストの変更を望んでいると想定しています。
アクセス リスト「acl_1」のエントリを並べ替えます。並べ替えた後のアクセス リストの開始値は 20、増分値は 15 です。
![]() (注) |
ACL をインターフェイスで設定し、並べ替えてロールバックすると、インターフェイスで短時間だけトラフィックの損失が発生します。 |
Router#configure Router(config)#ipv4 access-list acl_1 Router(config-ipv4-acl)#10 permit 10.1.1.1 */Repeat the above step as necessary adding statements by sequence number where you planned*/ Router(config-ipv4-acl)#20 permit 10.2.0.0 0.0.255.25 Router(config-ipv4-acl)#no 25 */Use the no sequence-number command to delete an entry with that specific sequence number*/ Router(config-ipv4-acl)#30 permit tcp host 10.2.2.2 255.255.0.0 any eq telnet Router(config-ipv4-acl)#commit end Router#resequence access-list ipv4 acl_1 20 15
Before resequencing: Router#show running-config ipv4 access-list acl_1 ipv4 access-list acl_1 10 remark Do not allow user1 to telnet out 20 permit ipv4 172.16.0.0 0.0.255.255 any ! */After resequencing using the resequence access-list ipv4 acl_1 20 15 command*/: Router# show running-config ipv4 access-list acl_1 ipv4 access-list acl_1 20 permit ipv4 host 10.1.1.1 any 35 permit ipv4 10.2.0.0 0.0.255.25 any 50 permit ipv4 10.1.1.1/24 any 65 permit tcp host 10.2.2.2 any eq telnet !
設定されていたすべての許可オプションと拒否オプションが、(並べ替えの後に)アクセス リスト(acl_1)に含まれていることを確認します。
Router#show access-lists ipv4 acl_1 ipv4 access-list acl_1 20 permit ipv4 host 10.1.1.1 any 35 permit ipv4 10.2.0.0 0.0.255.25 any 50 permit ipv4 10.1.1.1/24 any 65 permit tcp host 10.2.2.2 any eq telnet
この使用例では、新しいエントリの作成、並べ替え、追加、エントリの削除、および ACL の検証について方法を説明します。
*/ Create an Access List*/ Router(config)#ipv4 access-list acl_1 */Add entries (ACEs) to the ACL*/ Router(config-ipv4-acl)#10 permit ip host 10.3.3.3 host 172.16.5.34 Router(config-ipv4-acl)#20 permit icmp any any Router(config-ipv4-acl)#30 permit tcp any host 10.3.3.3 Router(config-ipv4-acl)#end */Verify the entries of the ACL*/: Router#show access-lists ipv4 acl_1 ipv4 access-list acl_1 10 permit ip host 10.3.3.3 host 172.16.5.34 20 permit icmp any any 30 permit tcp any host 10.3.3.3 */Resequence the ACL*/: Router(config)#resequence ipv4 access-list acl_1 10 20 */10 indicates the starting value in the resequenced ACL and the subsequent entries in the original ACL are incremented by 20*/ */Verify the entries of the ACL*/: Router#show access-lists ipv4 acl_1 10 permit ip host 10.3.3.3 host 172.16.5.34 30 permit icmp any any 50 permit tcp any host 10.3.3.3 */Add new entries, one with a sequence number "15" and another without a sequence number to the ACL. Delete an entry with the sequence number "30":*/ Router(config)#ipv4 access-list acl_1 Router(config-ipv4-acl)# 15 permit 10.5.5.5 0.0.0.255 Router(config-ipv4-acl)# no 30 Router(config-ipv4-acl)# permit 10 .4.4.4 0.0.0.255 */When an entry is added without a sequence number, it is automatically given a sequence number that puts it at the end of the access list. Because the default increment is 10, the entry will have a sequence number 10 higher than the last entry in the existing access list*/ */Verify the entries of the ACL:*/ Router(config)#show access-lists ipv4 acl_1 10 permit ip host 10.3.3.3 host 172.16.5.34 15 permit 10.5.5.5 0.0.0.255---*/newly added ACE (with the sequence number)*/ 50 permit tcp any host 10.3.3.3 60 permit 10 .4.4.4 0.0.0.255---*/newly added ACE (without the sequence number)*/ */The entry with the sequence number 30, that is, "30 permit icmp any any" is deleted from the ACL*/
コマンドでプレフィックス リストを使用するには、あらかじめプレフィックス リストをセットアップしておく必要があります。プレフィックス リストのエントリには、シーケンス番号を割り当ててください。
シーケンス番号は自動的に生成されます。ただし、この自動生成をディセーブルにしている場合を除きます。シーケンス番号の自動生成をディセーブルにしている場合は、IPv4 のプレフィックス リスト コンフィギュレーション コマンドで、permit と deny コマンドの sequence-number 引数を使用して、各エントリのシーケンス番号を指定する必要があります。プレフィックス リストのエントリを削除するには、permit または deny コマンドの no 形式を使用して、sequence-number 引数を指定します。
show コマンドの出力には、シーケンス番号が含まれます。
「Deny all routes with a prefix of 10/8」というコメントが付いたプレフィックス リスト「pfx_2」を作成します。このプレフィックス リストは、128.0.0.0/8 の /24 に一致するプレフィックスをすべて拒否します。
Router#configure Router(config)#ipv4 prefix-list pfx_2 Router(config-ipv4_pfx)#10 remark Deny all routes with a prefix of 10/8 Router(config-ipv4_pfx)#20 deny 128.0.0.0/8 eq 24 *Repeat the above step necessary. Use the no sequence-number command to delete an entry. Router(config-ipv4_pfx)#commit
Router#show running-config ipv4 prefix-list pfx_2 ipv4 prefix-list pfx_2 10 remark Deny all routes with a prefix of 10/8 20 deny 128.0.0.0/8 eq 24 !
許可とコメントの設定が設定されているコンフィギュレーションに合致していることを確認します。
Router# show prefix-list pfx_2 ipv4 prefix-list pfx_2 10 remark Deny all routes with a prefix of 10/8 20 deny 128.0.0.0/8 eq 24 RP/0/RP0/CPU0:ios#
名前付きプレフィックス リストのエントリにシーケンス番号を割り当て、プレフィックス リストに対してエントリを追加または削除する方法を示します。プレフィックス リストを変更することを前提に説明します。プレフィックス リストの並べ替えは任意です。
Router#config Router(config)#ipv4 prefix-list cl_1 Router(config)#10 permit 172.16.0.0 0.0.255.255 */Repeat the above step as necessary adding statements by sequence number where you planned; use the no sequence-number command to delete an entry*/ Router(config)#commit end Router#resequence prefix-list ipv4 cl_1 20 15
/*Before resequencing/* Router#show running-config ipv4 prefix-list cl_1 ipv4 prefix-list cl_1 10 permit 172.16.0.0/16 ! /*After resequencing using the resequence prefix-list ipv4 cl_1 20 15 command:/* Router#show running-config ipv4 prefix-list cl_1 ipv4 prefix-list cl_1 35 permit 172.16.0.0/16 !
プレフィックス リストが並べ替えられたことを確認します。
Router#show prefix-list cl_1 ipv4 prefix-list cl_1 35 permit 172.16.0.0/16
アクセス リストは、パケット フィルタリングを実行して、ネットワークを介して移動するパケットとその場所を制御します。この処理は、ネットワーク トラフィックを制限したり、ユーザやデバイスによるネットワークへのアクセスを制限したりするのに役立ちます。アクセス リストの用途は多様なので、多くのコマンドの構文でアクセス リストが参照されます。アクセス リストを使用して、次のようなことを実行できます。
アクセス リストは、permit ステートメントと deny ステートメントで構成される順次リストです。これらのステートメントは、IP アドレス、場合によっては上位層 IP プロトコルに適用されます。アクセス リストには、参照に使用される名前があります。多くのソフトウェア コマンドは、構文の一部としてアクセス リストを受け取ります。
アクセス リストを設定して名前を付けることは可能ですが、アクセス リストを受け取るコマンドによってアクセス リストが参照されるまで、有効にはなりません。複数のコマンドから同じアクセス リストを参照できます。アクセス リストで、ルータに到達するトラフィック、またはルータ経由で送信されるトラフィックは制御できますが、ルータが送信元のトラフィックは制御できません。
アクセス リストの条件に対してフィルタリングされる各パケットの送信元アドレスや宛先アドレス、またはプロトコルがテストされます。一度に 1 つの条件(permit ステートメントまたは deny ステートメント)がテストされます。
パケットがアクセス リストのステートメントに一致しないと、そのパケットはリスト内の次のステートメントに対してテストされます。
パケットとアクセス リストのステートメントが一致すると、リスト内の残りのステートメントはスキップされ、パケットは一致したステートメントに指定されたとおりに許可または拒否されます。パケットが許可されるか拒否されるかは、パケットが一致する最初のエントリによって決まります。つまり、一致すると、それ以降のエントリは考慮されません。
アクセス リストでアドレスまたはプロトコルが拒否されると、パケットは廃棄され、インターネット制御メッセージ プロトコル(ICMP)ホスト到達不能メッセージが返されます。ICMP は Cisco IOS XR ソフトウェア で設定できます。
各アクセス リストの最後には暗黙の deny ステートメントがあるため、一致する条件がない場合は、パケットはドロップされます。つまり、各ステートメントに対してテストするときまでにパケットを許可または拒否しないと、パケットは拒否されます。
アクセス リストには permit ステートメントを 1 つ以上含める必要があります。そうしないと、パケットはすべて拒否されます。
最初に一致が見つかった後は条件のテストが終了するため、条件の順序は重要です。同じ permit ステートメントまたは deny ステートメントでも、順序が異なる場合、ある状況では通過し、別の状況では拒否されるパケットが生じる可能性があります。
1 つのインターフェイス、1 つのプロトコル、1 つの方向につき、許可されるアクセス リストは 1 つだけです。
インバウンド アクセス リストは、ルータに到達するパケットを処理します。着信パケットの処理後に、アウトバウンド インターフェイスへのルーティングが行われます。インバウンド アクセス リストが効率的なのは、フィルタリング テストで拒否されたことでパケットが廃棄される場合、ルーティング検索のオーバーヘッドが抑えられるためです。パケットがテストで許可されると、そのパケットに対してルーティングの処理が実施されます。インバウンド リストの場合、許可とは、インバウンド インターフェイスで受信したパケットを引き続き処理することを意味します。拒否とは、パケットを破棄することです。
アウトバウンド アクセス リストの場合、パケットの処理後にルータから送信されます。着信パケットはアウトバウンド インターフェイスにルーティングされてから、アウトバウンド アクセス リストで処理されます。アウトバウンド リストの場合、許可とは、出力バッファに対して送信されることを示し、拒否とは、パケットが廃棄されることを示します。
アクセス リストは、使用中のアクセス グループによって適用されている場合には削除できません。アクセス リストを削除するには、まずアクセス リストを参照しているアクセス グループを削除してから、アクセス リストを削除します。
ipv4 access group コマンドを使用するには、アクセス リストが存在している必要があります。
IP アクセス リストを作成する場合は、次の事項を考慮してください。
送信元アドレスと宛先アドレスは、IP パケットの最も一般的な 2 つのフィールドで、アクセス リストの基礎となります。送信元アドレスを指定して、特定のネットワーキング デバイスまたはホストからのパケットを制御します。宛先アドレスを指定して、特定のネットワーキング デバイスまたはホストに送信されるパケットを制御します。
アドレス フィルタリングでは、アクセス リスト エントリ内のアドレス ビットとアクセス リストに送信されるパケットを比較するときに、ワイルドカード マスクを使用して、対応する IP アドレス ビットを確認するか無視するかを指定します。管理者は、ワイルドカード マスクを慎重に設定することにより、許可または拒否のテストに 1 つまたは複数の IP アドレスを選択できます。
IP アドレス ビット用のワイルドカード マスクでは、数値 1 と数値 0 を使用して、対応する IP アドレス ビットをどのように扱うかを指定します。1 と 0 は、サブネット(ネットワーク)マスクで意味する内容が逆になるため、ワイルドカード マスクは逆マスクとも呼ばれます。
アクセス リスト ステートメントでは、送信元アドレスまたは宛先アドレスにワイルドカード マスクを指定する必要はありません。host キーワードを使用すると、ワイルドカード マスクとして 0.0.0.0 を指定したものと見なされます。
サブネット マスクでは、ネットワークとサブネットを示す隣接ビットをマスクにする必要がありますが、それとは異なり、ワイルドカード マスクではマスクに非隣接ビットを使用できます。
ワイルドカード ビットの代わりに、CIDR 形式(/x)を使用することもできます。たとえば、IPv4 アドレス 1.2.3.4 0.255.255.255 は 1.2.3.4/8 に相当し、IPv6 アドレスの場合、2001:db8:abcd:0012:0000:0000:0000:0000 は 2001:db8:abcd:0012::0/64 に相当します。
トランスポート層の情報(パケットが TCP、UDP、ICMP、IGMP のいずれのパケットであるかなどの情報)に基づいてパケットをフィルタリングできます。
IP アクセス リスト エントリにシーケンス番号を適用する機能によって、アクセス リストの変更が簡易になります。この機能がない頃は、アクセス リスト内のエントリの位置を指定する方法はありませんでした。以前は、既存のリストの途中にエントリ(ステートメント)を挿入する場合、目的の位置の後にあるすべてのエントリを削除してから、新しいエントリを追加し、削除したすべてのエントリを再入力する必要がありました。これは手間がかかり、エラーが起こりやすい方法です。
IP アクセス リスト エントリ シーケンス番号機能を使用すると、アクセス リスト エントリにシーケンス番号を追加し、リスト内のエントリを並べ替えることができます。新しいエントリを追加する場合、アクセス リストの目的の位置に挿入されるようにシーケンス番号を選択します。必要に応じて、アクセス リストの現在のエントリを並べ替えて、新しいエントリを挿入できる場所を作成できます。
ここでは、シーケンス番号の動作を詳しく説明します。
シーケンス番号のないエントリを複数適用すると、最初のエントリにシーケンス番号 10 が割り当てられ、それ以降のエントリには 10 ずつ増分したシーケンス番号が割り当てられます。最大シーケンス番号は 2147483646 です。生成したシーケンス番号がこの最大値を超えると、次のメッセージが表示されます。
Exceeded maximum sequence number.
Cisco IOS XR ソフトウェアでは、標準 IP アクセス リストで許可または拒否されたパケットに関するログ メッセージが表示されます。つまり、パケットがアクセス リストに一致すると、そのパケットに関するログ メッセージ情報がコンソールに送信されます。ログをコンソールに送信するメッセージのレベルは、グローバル コンフィギュレーション モードの logging console コマンドで制御します。
最初にパケットがアクセス リストをトリガーすると、すぐにログ メッセージが生成されます。その後、5 分間隔でパケットが収集されて表示または記録されます。ログ メッセージにはアクセス リスト番号、パケットの許可または拒否に関する状況、パケットの送信元 IP アドレス、および直前の 5 分間に許可または拒否された送信元からのパケット数が示されます。
ただし、ipv4 access-list log-update threshold コマンドを使用すると、パケットがアクセス リストに一致して許可または拒否される際にログ メッセージの生成を引き起こす、パケットの数を設定できます。この手順は、5 分間隔よりも短い頻度でログ メッセージを受信する場合に実行することを推奨します。
![]() 注意 |
number-of-matches 引数を 1 に設定すると、ログ メッセージはキャッシュされずにただちに送信されます。この場合、アクセス リストに一致するすべてのパケットについてログ メッセージが生成されます。大量のログ メッセージでシステムが過負荷になる可能性があるため、1 に設定することは推奨されません。 |
ipv4 access-list log-update threshold コマンドを使用する場合でも、5 分タイマーは有効なままなので、各キャッシュ内のメッセージ数に関係なく、5 分が経過すると各キャッシュは空になります。ログ メッセージを送信するタイミングに関係なく、しきい値が指定されていない場合と同様に、ログ メッセージのキャッシュは消去され、カウントは 0 にリセットされます。
![]() (注) |
ログ メッセージが多すぎて処理できない場合や、1 秒以内に 2 つ以上のログ メッセージを処理した場合には、ログ メッセージ パケットの一部がドロップされることがあります。この動作により、ログを生成するパケットの数が多くなっても、ルータが CPU サイクルを過度に使用することはありません。したがって、ロギング機能は課金ツールや、アクセス リストとの一致数を正確に把握するための情報源として使用しないでください。 |
非フラグメント パケットとパケットの先頭フラグメントは、IP 拡張アクセス リストで処理されていましたが(このアクセス リストを適用した場合)、先頭以外のフラグメントはデフォルトで許可されていました。しかし、現在では、フラグメント制御機能付きの IP 拡張アクセス リストによって、パケットの先頭以外のフラグメントもさらにきめ細かく制御できるようになりました。この機能を使用すると、IP 拡張アクセス リストを適用するときに、パケットの先頭以外の IP フラグメントを調べるかどうかを指定できます。
先頭以外のフラグメントにはレイヤ 3 情報だけしか含まれていないので、レイヤ 3 情報のみを含んでいるアクセスリスト エントリを先頭以外のフラグメントに適用できるようになりました。フラグメントにはフィルタリングに必要な情報がすべて含まれているため、アクセスリスト エントリをパケットのフラグメントに適用できるのです。
この機能により、オプションの fragments キーワードが、IP アクセス リスト コマンドの deny と permit に追加されます。アクセスリスト エントリに fragments キーワードを指定することにより、その特定のアクセスリスト エントリは、パケットの先頭以外のフラグメントにのみ適用されます。フラグメントは指定に応じて許可または拒否されます。
fragments キーワードの有無に応じたアクセスリスト エントリの動作の概要は、以下のとおりです。
アクセス リスト エントリの状態 |
結果 |
||
---|---|---|---|
fragments キーワードがなく、すべてのアクセスリスト エントリ情報が一致する |
アクセス リスト エントリにレイヤ 3 情報のみが含まれている場合: アクセス リスト エントリにレイヤ 3 情報とレイヤ 4 情報が含まれている場合: |
||
fragments キーワードがあり、すべてのアクセスリスト エントリ情報が一致する |
アクセスリスト エントリは、先頭以外のフラグメントにのみ適用されます。
|
すべてのアクセスリスト エントリに fragments キーワードを追加しないでください。IP パケットの先頭フラグメントは非フラグメントと見なされ、それ以降のフラグメントとは独立して扱われるためです。先頭フラグメントは、fragments キーワードが含まれているアクセス リストの permit または deny エントリとは一致しないため、パケットは次のアクセスリスト エントリと比較されます。この比較は、fragments キーワードが含まれていないアクセスリスト エントリによってパケットが許可または拒否されるまで続きます。したがって、deny エントリごとに、2 つのアクセス リスト エントリが必要になる場合があります。ペアの最初の deny エントリは fragments キーワードを含んでおらず、先頭フラグメントに適用されます。ペアの 2 番目の deny エントリは fragments キーワードを含んでおり、以降のフラグメントに適用されます。同じホストに対して複数の deny アクセスリスト エントリがあり、それぞれのレイヤ 4 ポートが異なる場合は、そのホスト用として、fragments キーワードを含む deny アクセスリスト エントリを 1 つだけ追加する必要があります。このように、パケットのすべてのフラグメントは、アクセス リストによって同様に扱われます。
IP データグラムのパケット フラグメントは個々のパケットと見なされ、各フラグメントはアクセス リスト アカウンティングとアクセス リスト違反カウントの 1 つのパケットとして個別にカウントされます。
![]() (注) |
アクセス リストおよび IP フラグメントに関するあらゆるケースを fragments キーワードで解決できるわけではありません。 |
![]() (注) |
ACL 処理の範囲内で、レイヤ 3 情報は IPv4 ヘッダー内のフィールド(送信元、宛先、プロトコルなど)を参照します。レイヤ 4 情報は、TCP または UDP の送信元ポートと宛先ポート、TCP のフラグ、ICMP のタイプとコードなど、IPv4 ヘッダーの後ろに含まれるその他のデータを参照します。 |
remark アクセス リスト コンフィギュレーション コマンドを使用すると、名前付き IP アクセス リストにエントリに関するコメント(注釈)を含めることができます。コメントを含めると、ネットワーク管理者がアクセス リストを理解し、精査しやすくなります。1 つのコメント行の最大長は 255 文字です。
コメントは、permit ステートメントまたは deny ステートメントの前後どちらにでも配置できます。コメントがどの permit ステートメントまたは deny ステートメントの説明であるのかが明確になるように、コメントの位置に関して一貫性を保つようにしてください。たとえば、一部のコメントが permit または deny ステートメントの前にあり、他のコメントがステートメントの後ろにあると、混乱を招きます。コメントに順番を付けることができます。
アクセス リストの作成後、アクセス リストをインターフェイスまたは端末回線に適用することを忘れないでください。
Cisco IOS XR ソフトウェアでは、ACL のカウンタはハードウェアとソフトウェアの両方で維持されます。ハードウェア カウンタは、アクセス グループをインターフェイスに適用するなど、パケット フィルタリングの用途に使用します。ソフトウェア カウンタは、主にソフトウェア パケット処理に関するあらゆる用途に使用できます。
パケット フィルタリングでは、ACE ごとに 32 ビットのハードウェア カウンタが使用されます。
特定のアクセス グループのハードウェア カウンタを表示するには、EXEC モードで show access-lists ipv4 [access-list-namehardware {ingress} [interfacetypeinterface-path-id] {locationnode-id}] コマンドを使用します。
ハードウェア カウンタをクリアするには、EXEC モードで clear access-list ipv4access-list-name [hardware {ingress } [interfacetype interface-path-id] {locationnode-id}] コマンドを使用します。
ソフトウェア カウンタは、ソフトウェアがパケットを処理すると更新されます。たとえば、例外パケットを LC CPU にパントして処理した場合や、ルーティング プロトコルが ACL を使用した場合などです。維持されるソフトウェア カウンタというのは、その ACL を使用するすべてのソフトウェア アプリケーションの集合体です。ソフトウェア専用の ACL カウンタを表示するには、EXEC モードで show access-lists ipv4access-list-name [sequencenumber] コマンドを使用します。