アクセス リストの概要
アクセス リストは、パケット フィルタリングを実行して、ネットワークを介して移動するパケットとその場所を制御します。この処理は、ネットワーク トラフィックを制限したり、ユーザやデバイスによるネットワークへのアクセスを制限したりするのに役立ちます。アクセス リストの用途は多様なので、多くのコマンドの構文でアクセス リストが参照されます。アクセス リストを使用して、次のようなことを実行できます。
アクセス コントロール リスト(ACL)は、ネットワーク トラフィック プロファイルをまとめて定義する 1 つ以上のアクセス コントロール エントリ(ACE)です。このプロファイルは、トラフィック フィルタリング、ルート フィルタリング、QoS 分類、アクセス コントロールなど、Cisco IOS XR ソフトウェアの機能で参照できます。次の 2 種類の ACL があります。
-
標準的な ACL:パケットの送信元 IP アドレスのみを確認します。トラフィックは、ACL に設定されたアドレスまたはプレフィックスの比較と、パケットにある送信元アドレスで制御されます。
-
拡張 ACL:パケットの発信元アドレス以外の属性も確認します。確認する属性は、送信先アドレス、特定の IP プロトコル、UDP または TCP ポート番号、DSCP などです。ACL に記載されている属性と、着信パケットまたは発信パケット内の属性を比較することで、トラフィックが制御されます。
Cisco IOS XR は標準アクセス リストと拡張アクセス リストとを区別しません。標準アクセス リストをサポートしているのは、下位互換性を確保するためです。
IP アクセス リストの目的
-
インターフェイスで着信パケットまたは発信パケットをフィルタリングします。
-
ミラーリングのためにパケットをフィルタリングします。
-
必要に応じて、トラフィックをリダイレクトします。
-
ルーティング アップデートの内容の制限
-
アドレスまたはプロトコルに基づくデバッグ出力の制限
-
vty へのアクセスの制御
-
輻輳回避、輻輳管理、プライオリティ キューイング、カスタム キューイングなどの高度な機能に使用されるトラフィックの特定または分類
IP アクセス リストの機能
アクセス リストは、permit ステートメントと deny ステートメントで構成される順次リストです。これらのステートメントは、IP アドレス、場合によっては上位層 IP プロトコルに適用されます。アクセス リストには、参照に使用される名前があります。多くのソフトウェア コマンドは、構文の一部としてアクセス リストを受け取ります。
アクセス リストを設定して名前を付けることは可能ですが、アクセス リストを受け取るコマンドによってアクセス リストが参照されるまで、有効にはなりません。複数のコマンドから同じアクセス リストを参照できます。アクセス リストで、ルータに到達するトラフィック、またはルータ経由で送信されるトラフィックは制御できますが、ルータが送信元のトラフィックは制御できません。
送信元アドレスと宛先アドレスは、IP パケットの最も一般的な 2 つのフィールドで、アクセス リストの基礎となります。送信元アドレスを指定して、特定のネットワーキング デバイスまたはホストからのパケットを制御します。宛先アドレスを指定して、特定のネットワーキング デバイスまたはホストに送信されるパケットを制御します。
また、トランスポート層の情報(パケットが TCP、UDP、ICMP、IGMP のいずれであるかなどの情報)に基づいてパケットをフィルタリングすることもできます。
ACL のワークフロー
次の図に、ACL のワークフローを示します。
IP アクセス リストのプロセスとルール
IP アクセス リストを設定するときは、次のプロセスとルールを使用してください。-
アクセス リストの条件に対してフィルタリングされる各パケットの送信元アドレスや宛先アドレス、またはプロトコルがテストされます。一度に 1 つの条件(permit ステートメントまたは deny ステートメント)がテストされます。
-
パケットがアクセス リストのステートメントに一致しないと、そのパケットはリスト内の次のステートメントに対してテストされます。
-
パケットとアクセス リストのステートメントが一致すると、リスト内の残りのステートメントはスキップされ、パケットは一致したステートメントに指定されたとおりに許可または拒否されます。パケットが許可されるか拒否されるかは、パケットが一致する最初のエントリによって決まります。つまり、一致すると、それ以降のエントリは考慮されません。
-
アクセス リストでアドレスまたはプロトコルが拒否されると、パケットは廃棄され、インターネット制御メッセージ プロトコル(ICMP)ホスト到達不能メッセージが返されます。ICMP は、Cisco IOS XR ソフトウェアで設定できます。
-
各アクセス リストの最後には暗黙の deny ステートメントがあるため、一致する条件がない場合は、パケットはドロップされます。つまり、各ステートメントに対してテストするときまでにパケットを許可または拒否しないと、パケットは拒否されます。
-
アクセス リストには permit ステートメントを 1 つ以上含める必要があります。そうしないと、パケットはすべて拒否されます。
-
最初に一致が見つかった後は条件のテストが終了するため、条件の順序は重要です。同じ permit ステートメントまたは deny ステートメントでも、順序が異なる場合、ある状況では通過し、別の状況では拒否されるパケットが生じる可能性があります。
-
1 つのインターフェイス、1 つのプロトコル、1 つの方向につき、許可されるアクセス リストは 1 つだけです。
-
インバウンド アクセス リストは、ルータに到達するパケットを処理します。着信パケットの処理後に、アウトバウンド インターフェイスへのルーティングが行われます。インバウンド アクセス リストが効率的なのは、フィルタリング テストで拒否されたことでパケットが廃棄される場合、ルーティング検索のオーバーヘッドが抑えられるためです。パケットがテストで許可されると、そのパケットに対してルーティングの処理が実施されます。インバウンド リストの場合、permit はインバウンド インターフェイスで受信したパケットが引き続き処理されることを意味し、 deny はパケットが廃棄されることを意味します。
-
アウトバウンド アクセス リストの場合、パケットの処理後にルータから送信されます。着信パケットはアウトバウンド インターフェイスにルーティングされてから、アウトバウンド アクセス リストで処理されます。アウトバウンド リストの場合、許可とは、出力バッファに対して送信されることを示し、拒否とは、パケットが廃棄されることを示します。
-
アクセス リストは、使用中のアクセス グループによって適用されている場合には削除できません。アクセス リストを削除するには、まずアクセス リストを参照しているアクセス グループを削除してから、アクセス リストを削除します。
-
特定のトラフィックを拒否する ACL で設定されているインターフェイスを削除する前に、その ACL を削除し、設定をコミットする必要があります。これを実行しないと、no interface <interface-name> コマンドが設定され、コミットされるとすぐにインターフェイスを通じて一部のパケットがリークします。
-
ipv4 access group コマンドを使用するには、アクセス リストが必要です。
ワイルドカード マスクと暗黙的なワイルドカード マスクを使用した ACL フィルタリング
アドレス フィルタリングでは、アクセス リスト エントリ内のアドレス ビットとアクセス リストに送信されるパケットを比較するときに、ワイルドカード マスクを使用して、対応する IP アドレス ビットを確認するか無視するかを指定します。管理者は、ワイルドカード マスクを慎重に設定することにより、許可または拒否のテストに 1 つまたは複数の IP アドレスを選択できます。
IP アドレス ビット用のワイルドカード マスクでは、数値 1 と数値 0 を使用して、対応する IP アドレス ビットをどのように扱うかを指定します。1 と 0 は、サブネット(ネットワーク)マスクで意味する内容が逆になるため、ワイルドカード マスクは逆マスクとも呼ばれます。
-
ワイルドカード マスク ビット 0 は、対応するビット値を確認することを示します。
-
ワイルドカード マスクのビット 1 は、対応するビット値を無視することを意味します。
アクセス リスト ステートメントでは、送信元アドレスまたは宛先アドレスにワイルドカード マスクを指定する必要はありません。 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 に相当します。
アクセス リストのコメントの組み入れ
remark アクセス リスト コンフィギュレーション コマンドを使用すると、名前付き IP アクセス リストにエントリに関するコメント(注釈)を含めることができます。コメントを含めると、ネットワーク管理者がアクセス リストを理解し、精査しやすくなります。1 つのコメント行の最大長は 255 文字です。
コメントは、permit ステートメントまたは deny ステートメントの前後どちらにでも配置できます。コメントがどの permit ステートメントまたは deny ステートメントの説明であるのかが明確になるように、コメントの位置に関して一貫性を保つようにしてください。たとえば、一部のコメントが permit または deny ステートメントの前にあり、他のコメントがステートメントの後ろにあると、混乱を招きます。コメントに順番を付けることができます。
アクセス リストの作成後、アクセス リストをインターフェイスまたは端末回線に適用することを忘れないでください。