この記事は、 「ネットワーク中級編|構築・検証・障害切り分けを身につける」 の第24回です。
IPアドレスやルーティングの知識を使い、必要な通信だけを許可し、 不要な通信を拒否するACLの基本動作を学びます。
ACLとは?標準ACL・拡張ACL・ワイルドカードマスク・設定例を図解
ACLは、ルーターやレイヤー3スイッチを通過するパケットを条件と照合し、 通信を許可するか拒否するかを判断する仕組みです。 この記事では、上から順に評価される動作、暗黙のdeny、標準ACLと拡張ACL、 in・outの方向、Cisco IOSの設定・確認方法を実務で使える形で解説します。
ACLの設定では、1行の条件だけを見るのではなく、 ルールの順序、適用インターフェース、in・outの方向、戻り通信まで考える必要があります。
よくある障害は、「denyの条件を間違えた」ことよりも、 「permitを書き忘れた」「方向を逆にした」「広い条件を先に置いた」といった設計ミスです。
この記事を読み終えるとできること
- ACLの役割と基本動作を説明できる
- 標準ACLと拡張ACLを使い分けられる
- ワイルドカードマスクを読み取れる
- ACLが上から順に評価される理由を説明できる
- in・outを機器視点で判断できる
- 設定とカウンターから通信不可の原因を切り分けられる
ACLとは何か
ACL(Access Control List)とは、パケットの条件を上から順に照合し、 一致したルールに従って通信をpermitまたはdenyする一覧です。
ACLは、ルーターやレイヤー3スイッチのインターフェースなどへ適用し、 通過するIPパケットを制御します。 条件として利用できる情報はACLの種類によって異なります。
送信元
どの端末・ネットワークから送られた通信かを判定します。
宛先
どのサーバー・ネットワークへ向かう通信かを判定します。
プロトコル
IP、TCP、UDP、ICMPなどの種類を判定します。
ポート番号
HTTPSの443番、DNSの53番など、サービス単位で判定します。
ACLによる通信制御のイメージ
ACLの主な利用目的
- 利用者ネットワークからサーバーネットワークへの通信を必要最小限にする
- 管理端末だけにSSHやSNMPを許可する
- 特定の送信元やプロトコルを遮断する
- NAT、QoS、ルート制御などで対象通信を識別する
ACLは「通信を拒否するためだけの機能」ではありません。
許可する通信を明確に定義し、不要な通信を通さないための制御表です。 また、機能によっては通信をpermit・denyするのではなく、対象トラフィックの分類にACLを利用する場合もあります。
ACLは基本的にステートレス
基本的なIP ACLは、通信セッションの状態を記憶せず、 パケットごとに条件を確認します。 そのため、行きの通信を許可しただけで、戻りの通信が自動的に許可されるとは限りません。
「PCからサーバーへの通信をpermitしたので、応答も必ず通る」とは限りません。 反対方向にもACLがある場合は、戻りパケットがそのACLで許可されるかを確認します。
ACLがパケットを判定する流れ
ACLを理解するうえで最も重要なのは、 上から順に評価し、最初に一致したルールで処理を終了することです。
- ACLの先頭行から条件を確認する 送信元、宛先、プロトコル、ポート番号などを順番に照合します。
- 一致しなければ次の行へ進む 条件が合わない行は処理せず、次のACEを確認します。
- 最初に一致したpermitまたはdenyを実行する 一致後は、それより下のルールを確認しません。
- 最後まで一致しなければ暗黙のdeny ACL末尾には、設定画面に見えない拒否ルールがあるものとして動作します。
ACLは上から順に評価される
上から順に照合し、最初に一致した行で終了
ルールの順序が変わると結果も変わる
意図どおりの順序
10 permit tcp 192.168.10.0 0.0.0.255 host 192.168.20.10 eq 443
20 deny ip 192.168.10.0 0.0.0.255 192.168.20.0 0.0.0.255
30 permit ip any any
HTTPSだけを先に許可し、その後でサーバーネットワークへのその他通信を拒否します。
誤った順序
10 deny ip 192.168.10.0 0.0.0.255 192.168.20.0 0.0.0.255
20 permit tcp 192.168.10.0 0.0.0.255 host 192.168.20.10 eq 443
30 permit ip any any
10行目で先に一致するため、20行目のHTTPS許可には到達しません。
ACLは、より具体的な条件を上、より広い条件を下に配置するのが基本です。
「特定通信だけ許可し、そのほかを拒否する」場合は、例外となるpermitを先に記述します。
暗黙のdenyとは
ACLの末尾には、明示していなくてもすべての未一致通信を拒否する条件があります。 IPv4拡張ACLでは、概念的には次の行が末尾に存在すると考えます。
deny ip any any
たとえば、ACLへ1行だけdeny tcp any any eq 23を設定した場合、
「Telnetだけ拒否して、その他は許可」とはなりません。
その他の通信はどのpermitにも一致せず、最後の暗黙のdenyで拒否されます。
特定通信だけを拒否し、その他を通したい場合は、
ACL末尾へ意図的なpermit ip any anyなどが必要です。
標準ACLと拡張ACLの違い
IPv4 ACLの基本分類は、標準ACLと拡張ACLです。 最大の違いは、どの情報を条件にできるかです。
| 比較項目 | 標準ACL | 拡張ACL |
|---|---|---|
| 主な判定条件 | 送信元IPv4アドレス | プロトコル、送信元、宛先、TCP/UDPポート番号など |
| 制御の細かさ | 大まか | 細かい |
| 利用例 | 管理アクセスを特定送信元だけに限定 | 特定サーバーへのHTTPSだけを許可 |
| 配置の考え方 | 宛先に近い場所が基本 | 送信元に近い場所が基本 |
標準ACL
標準ACLは、基本的に送信元IPv4アドレスだけで判定します。 宛先やTCP/UDPポート番号を区別できないため、広い範囲の通信へ影響しやすい点に注意します。
ip access-list standard MGMT-SOURCE
10 permit 192.168.100.0 0.0.0.255
20 deny any
このACLは、送信元が192.168.100.0/24かどうかを判定できます。 「どの宛先への通信か」「SSHかHTTPSか」は区別できません。
拡張ACL
拡張ACLは、送信元と宛先に加えて、IPプロトコルやTCP/UDPポート番号などを指定できます。 実務でユーザーVLANとサーバーVLANの通信を制御するときは、拡張ACLを使う場面が多くあります。
ip access-list extended USER-TO-SERVER
10 permit tcp 192.168.10.0 0.0.0.255 host 192.168.20.10 eq 443
20 deny ip 192.168.10.0 0.0.0.255 192.168.20.0 0.0.0.255
30 permit ip any any
なぜ配置場所の基本が異なるのか
標準ACLは宛先寄り
送信元しか見られないため、送信元近くで拒否すると、 本来許可したい別宛先への通信まで止める可能性があります。
拡張ACLは送信元寄り
宛先やサービスを細かく指定できるため、 不要な通信を早い段階で遮断しやすくなります。
「標準ACLは必ず宛先側、拡張ACLは必ず送信元側」という絶対ルールではありません。 実際には、影響範囲、管理性、既存設計、機器性能、障害時の調査方法を含めて配置を決めます。
ワイルドカードマスクの読み方
Cisco IOSのIPv4 ACLでは、アドレス範囲を指定するときに ワイルドカードマスクを使用することがあります。
0のビットは「一致させる」、1のビットは「無視する」と考えます。
| 指定したい範囲 | ACLでの表記 | 意味 |
|---|---|---|
| 192.168.10.10だけ | host 192.168.10.10 |
1台だけに一致 |
| 192.168.10.0/24 | 192.168.10.0 0.0.0.255 |
先頭24ビットを一致、最後の8ビットを無視 |
| 10.0.0.0/8 | 10.0.0.0 0.255.255.255 |
先頭8ビットを一致 |
| すべてのIPv4アドレス | any |
任意のアドレスに一致 |
サブネットマスクから求める方法
連続したサブネットを指定する場合は、各オクテットを255から引くとワイルドカードマスクを求められます。
サブネットマスク 255.255.255.0
各オクテットを255から引く
ワイルドカードマスク 0.0.0.255
| プレフィックス | サブネットマスク | ワイルドカードマスク |
|---|---|---|
| /32 | 255.255.255.255 | 0.0.0.0 |
| /24 | 255.255.255.0 | 0.0.0.255 |
| /16 | 255.255.0.0 | 0.0.255.255 |
| /8 | 255.0.0.0 | 0.255.255.255 |
サブネットマスクとワイルドカードマスクを取り違えると、 想定より広い通信を許可・拒否する可能性があります。 設定前に対象アドレス範囲を具体的なIPアドレスで確認してください。
in・outの方向を理解する
ACLをインターフェースへ適用するときは、
inまたはoutを指定します。
この方向は、利用者やサーバーから見た方向ではなく、
ACLを設定する機器・インターフェースから見た方向です。
VLAN 10からルーターへ入る
SVI VLAN 10
ルーターからVLAN 20へ出る
| 方向 | 意味 | VLAN 10のSVIで考えた例 |
|---|---|---|
in |
そのインターフェースから機器内部へ入るパケット | VLAN 10の端末からL3スイッチへ入る通信 |
out |
機器内部からそのインターフェースへ出るパケット | L3スイッチからVLAN 10の端末へ出る通信 |
同じ通信でも、見るインターフェースで方向が変わる
PC-AからServer-Aへ向かう通信
方向が分からないときは、対象パケットを矢印で構成図へ書き込みます。
パケットが対象インターフェースから機器内部へ入るならin、 機器内部から対象インターフェースへ出るならoutです。
Cisco IOSの設定例
構成と通信要件
ユーザーVLANからサーバーVLANへの通信を制御する
| 通信要件 | 判定 |
|---|---|
| VLAN 10からServer-AへのHTTPS(TCP/443) | 許可 |
| VLAN 10からサーバーVLANへのその他通信 | 拒否 |
| VLAN 10からサーバーVLAN以外へのIP通信 | 許可 |
名前付き拡張ACLを作成する
L3SW(config)# ip access-list extended VLAN10-IN
L3SW(config-ext-nacl)# 10 remark Permit HTTPS to Server-A
L3SW(config-ext-nacl)# 20 permit tcp 192.168.10.0 0.0.0.255 host 192.168.20.10 eq 443
L3SW(config-ext-nacl)# 30 remark Deny other traffic to server VLAN
L3SW(config-ext-nacl)# 40 deny ip 192.168.10.0 0.0.0.255 192.168.20.0 0.0.0.255
L3SW(config-ext-nacl)# 50 remark Permit traffic to other destinations
L3SW(config-ext-nacl)# 60 permit ip any any
L3SW(config-ext-nacl)# exit
設定を1行ずつ読む
| 行 | 意味 |
|---|---|
| 20 | VLAN 10からServer-AのTCP/443への通信を許可 |
| 40 | VLAN 10から192.168.20.0/24へのその他のIP通信を拒否 |
| 60 | その他の宛先へのIP通信を許可 |
20行目を40行目より前へ置くことで、HTTPSだけを例外として許可しています。 40行目でサーバーVLANへのその他通信を止め、60行目で別宛先への通信を許可します。
ACLをインターフェースへ適用する
L3SW(config)# interface Vlan10
L3SW(config-if)# ip access-group VLAN10-IN in
L3SW(config-if)# end
VLAN 10の端末からL3スイッチへ入る通信を確認したいため、
VLAN 10のSVIへin方向で適用します。
ACLは、作成しただけではパケットを制御しません。 対象インターフェースへ正しい方向で適用されているかを確認してください。
シーケンス番号とremarkを使う理由
名前付きACLでは、シーケンス番号を使ってルールの順序を管理できます。 途中へ新しい条件を追加しやすくなるため、10、20、30のように間隔を空けて設定するのが一般的です。
L3SW(config)# ip access-list extended VLAN10-IN
L3SW(config-ext-nacl)# 15 permit icmp host 192.168.10.50 host 192.168.20.10 echo
L3SW(config-ext-nacl)# end
remarkはACLの目的を説明するコメントです。
「誰が、どこへ、何のために通信するのか」を残すと、変更作業や障害調査で判断しやすくなります。
設計書や作業手順書には、コマンドだけでなく通信要件も記載します。
例:「利用者VLANから業務WebサーバーへのHTTPS通信を許可し、 サーバーセグメントへのその他通信を拒否する」。 要件とACL行を対応付けると、レビュー時に不足や過剰許可を発見しやすくなります。
ACLの確認コマンドとカウンター
ACLの内容を確認する
L3SW# show ip access-lists VLAN10-IN
Extended IP access list VLAN10-IN
10 remark Permit HTTPS to Server-A
20 permit tcp 192.168.10.0 0.0.0.255 host 192.168.20.10 eq 443 (25 matches)
30 remark Deny other traffic to server VLAN
40 deny ip 192.168.10.0 0.0.0.255 192.168.20.0 0.0.0.255 (7 matches)
50 remark Permit traffic to other destinations
60 permit ip any any (310 matches)
| 確認項目 | 読み取り方 |
|---|---|
| ACL名・種類 | 意図した名前付き拡張ACLか |
| ルール順序 | 具体的な例外が広いdenyより上にあるか |
| アドレス範囲 | 送信元・宛先・ワイルドカードマスクが正しいか |
| プロトコル・ポート | TCP/UDP、宛先ポート番号が要件と一致するか |
| match数 | 実際のパケットがどの行へ一致したか |
インターフェースへの適用状況を確認する
L3SW# show ip interface Vlan10
Vlan10 is up, line protocol is up
Internet address is 192.168.10.1/24
Inbound access list is VLAN10-IN
Outgoing access list is not set
ACLの内容が正しくても、別インターフェースへ適用されていたり、 in・outが逆だったりすると意図した通信を制御できません。
running-configを確認する
L3SW# show running-config | section ip access-list
L3SW# show running-config interface Vlan10
カウンターを使った切り分け
permitのmatchが増える
対象パケットはACLへ到達し、意図した許可行に一致しています。
denyのmatchが増える
パケットはACLへ到達していますが、拒否条件へ一致しています。
どのmatchも増えない
経路、適用箇所、方向、試験通信、別装置のACLなどを確認します。
カウンターは強力な確認材料ですが、過去の通信による値を含む場合があります。 作業前後の値を記録し、対象通信を発生させたときに増加したかを確認します。
ACL障害の切り分け
ACLが原因と疑われる場合は、設定全体を眺めるだけでなく、 1つの試験パケットを具体化して追跡します。
最初に試験パケットを定義する
- 通信要件を確認する
誰から誰へ、どのプロトコル・ポートを許可したいのかを明確にします。 - 実際の経路を確認する
ルーティングテーブルや構成図から、パケットがACL適用インターフェースを通るか確認します。 - ACLの適用場所と方向を確認する
対象インターフェースへin・outのどちらで設定されているか確認します。 - ACLを上から順に手作業で照合する
試験パケットが最初に一致する行を特定します。 - matchカウンターを確認する
試験通信によってpermitまたはdenyの値が増えるか確認します。 - 戻り通信の経路とACLを確認する
反対方向のACL、サーバー側ファイアウォール、非対称経路を確認します。 - ACL以外の原因を確認する
ルーティング、NAT、TCP待ち受け、サーバー設定などを切り分けます。
よくある原因1:ACLを作成したが適用していない
ip access-listでACLを定義しても、
ip access-groupでインターフェースへ適用しなければ通信へ影響しません。
よくある原因2:in・outを逆にしている
VLAN 10から機器へ入る通信を制御したいのに、VLAN 10のSVIへoutで適用すると、 VLAN 10へ戻る方向の通信を確認するACLになります。
よくある原因3:広い条件が先にある
10 permit ip any any
20 deny tcp 192.168.10.0 0.0.0.255 host 192.168.20.10 eq 23
すべてのIP通信が10行目へ一致するため、20行目は使用されません。 Telnetを拒否したい場合はdenyを先に配置します。
よくある原因4:暗黙のdenyで必要通信が止まる
新しいdeny行だけを追加し、「それ以外は今までどおり通る」と考えると、 permitされていない通信が暗黙のdenyで止まる場合があります。
よくある原因5:送信元ポートと宛先ポートを混同する
WebサーバーへのHTTPS通信では、クライアントの送信元ポートは通常動的な番号で、
サーバーの宛先ポートが443です。
基本的な許可条件では、宛先側へeq 443を指定します。
よくある原因6:戻り通信が別ACLで拒否される
行きのHTTPSが許可されても、反対方向のインターフェースに厳しいACLがあると、 Server-AからPC-Aへ返るTCPパケットが拒否されることがあります。
一時的にpermit ip any anyを追加して原因確認する方法は、
セキュリティ上の影響があります。本番環境では無断で実施せず、
対象範囲、実施時間、戻し手順、承認を明確にしてください。
切り分けチェックリスト
- 送信元・宛先IPアドレスは実際の試験端末と一致しているか
- プロトコルはTCP・UDP・ICMPのどれか
- ポート番号は送信元側か宛先側か
- ワイルドカードマスクの範囲は正しいか
- より広いpermit・denyが上にないか
- ACL末尾の暗黙のdenyを考慮したか
- 正しいインターフェースへ適用されているか
- in・outは機器視点で正しいか
- 戻り通信にも別のACLがないか
- matchカウンターは試験通信で増加したか
調査結果の報告例
確認結果: PC-A(192.168.10.50)からServer-A(192.168.20.10)へのTCP/443通信は、 VLAN 10のin方向に適用されたACL「VLAN10-IN」を通過します。 試験実施時にシーケンス20のpermitカウンターが25から26へ増加したため、 当該ACLでは許可されていると判断します。 次に、Server-AのTCP/443待ち受け状態、サーバー側ファイアウォール、戻り経路を確認します。
実務での設計・変更ポイント
1.通信要件を先に表へする
コマンドから考え始めるのではなく、送信元、宛先、プロトコル、ポート番号、許可・拒否を整理します。
| No. | 送信元 | 宛先 | サービス | 処理 | 目的 |
|---|---|---|---|---|---|
| 1 | 利用者VLAN | 業務Webサーバー | TCP/443 | permit | 業務システム利用 |
| 2 | 利用者VLAN | サーバーVLAN | その他 | deny | 不要な横方向通信を制限 |
| 3 | 利用者VLAN | その他 | IP | permit | 既存通信を維持 |
2.最小権限を基本にする
必要な送信元、宛先、プロトコル、ポート番号だけを許可します。 ただし、要件が未整理のまま厳しくすると業務通信を止めるため、ログや現行通信を確認して段階的に設計します。
3.名前付きACL・remark・シーケンス番号を使う
VLAN10-INやMGMT-ACCESSなど、用途が分かる名前を付けます。
remarkにはチケット番号、対象システム、通信目的など、運用に必要な情報を残します。
4.変更前に影響範囲を確認する
- 現在のACL全体と適用インターフェース
- 追加行を挿入する位置
- 対象通信以外に一致する可能性
- 冗長機器や別経路にも同じ設定が必要か
- IPv4 ACLとIPv6 ACLの両方が必要か
- 作業後の正常性確認と切り戻し条件
5.変更前後のカウンターを記録する
ACL行が意図した通信へ一致しているかを証明するため、
作業前後のshow ip access-listsを取得します。
疎通結果だけでなく、どのpermit行へ一致したかまで確認すると、試験の根拠が強くなります。
ACL設計の品質は、「止めたい通信」だけでなく「残すべき通信」を漏れなく定義できるかで決まります。
DNS、DHCP、NTP、監視、認証、名前解決、バックアップなど、 利用者が直接意識しない通信も忘れずに確認します。
ACLに関するよくある勘違い
ルーティングの最長一致とは異なります。ACLは上から順に評価し、最初に一致した行で処理を終了します。
ACL末尾には暗黙のdenyがあります。どのpermitにも一致しない通信は拒否されます。
ACLを対象機能やインターフェースへ適用する必要があります。定義だけでは通常、通過パケットへ影響しません。
in・outはインターフェースと機器から見たパケットの方向です。構成によって社内通信でもin・outのどちらにもなります。
基本的なIP ACLはステートレスです。反対方向のACLやサーバー側制御も確認します。
ACL単体では、パケットが実際にその場所を通るか判断できません。通信経路と適用方向を含めて確認します。
理解度チェック
次の6問に答えてください。解答を見る前に、対象パケットがACLのどの行へ最初に一致するかを考えましょう。
問題1.ACLの基本的な評価方法として正しいものはどれですか。
- 最も具体的な条件を自動的に選ぶ
- 下から上へ評価する
- 上から順に評価し、最初に一致した行で終了する
- すべての行を評価して多数決で決める
解答を見る
ACLは上から順に照合し、最初に一致したpermitまたはdenyで処理を終了します。
問題2.標準ACLが基本的に判定できる情報はどれですか。
- 送信元IPv4アドレス
- 宛先ポート番号だけ
- 送信元MACアドレス
- TCPセッションの状態
解答を見る
標準IPv4 ACLは、基本的に送信元IPv4アドレスを条件にします。
問題3.192.168.10.0/24を指定するワイルドカードマスクはどれですか。
- 255.255.255.0
- 0.0.0.255
- 0.0.255.255
- 255.255.255.255
解答を見る
先頭24ビットを一致させ、最後の8ビットを無視するため、0.0.0.255です。
問題4.ACL末尾までどの条件にも一致しなかったパケットはどうなりますか。
解答を見る
ACL末尾には暗黙のdenyがあるため、明示的なpermitに一致しない通信は拒否されます。
問題5.VLAN 10の端末からL3スイッチへ入る通信を、VLAN 10のSVIで制御します。方向はinとoutのどちらですか。
解答を見る
VLAN 10のSVIから見て、パケットがL3スイッチ内部へ入るためです。
問題6.次のACLで、PC-AからServer-AへのHTTPS通信は許可されますか。
10 deny ip 192.168.10.0 0.0.0.255 192.168.20.0 0.0.0.255
20 permit tcp host 192.168.10.10 host 192.168.20.10 eq 443
30 permit ip any any
解答を見る
HTTPS通信もIPパケットであり、最初に10行目のdenyへ一致します。 20行目のpermitは評価されません。
実践演習:ACLから通信可否を判断する
次の構成とACLを読み、各通信が許可されるか拒否されるかを判断してください。
演習用ネットワーク
ip access-list extended VLAN10-IN
10 permit tcp host 192.168.10.10 host 192.168.20.10 eq 443
20 permit icmp 192.168.10.0 0.0.0.255 host 192.168.20.10 echo
30 deny ip 192.168.10.0 0.0.0.255 192.168.20.0 0.0.0.255
40 permit ip any any
!
interface Vlan10
ip access-group VLAN10-IN in
課題1.PC-AからServer-AへのHTTPS
送信元192.168.10.10、宛先192.168.20.10、TCP/443です。許可・拒否のどちらですか。
解答を見る
許可。10行目に一致します。
送信元、宛先、TCP、宛先ポート443のすべてが条件と一致します。
課題2.PC-BからServer-AへのHTTPS
送信元192.168.10.20、宛先192.168.20.10、TCP/443です。許可・拒否のどちらですか。
解答を見る
拒否。30行目に一致します。
10行目は送信元がPC-Aだけなので一致しません。 20行目はICMPだけなので一致せず、30行目のサーバーVLAN向けdenyへ一致します。
課題3.PC-BからServer-Aへのping
ICMP Echo Requestです。許可・拒否のどちらですか。
解答を見る
許可。20行目に一致します。
VLAN 10内の送信元からServer-AへのICMP Echo Requestを許可しています。
課題4.PC-Aから8.8.8.8へのDNS通信
宛先はサーバーVLANではなく、UDP/53の通信です。許可・拒否のどちらですか。
解答を見る
許可。40行目に一致します。
10~30行目には一致せず、最後のpermit ip any anyへ一致します。
課題5.PC-BにもHTTPSを許可する
PC-BからServer-AへのHTTPSを追加で許可したい場合、どこへどのルールを追加しますか。
解答例を見る
15 permit tcp host 192.168.10.20 host 192.168.20.10 eq 443
サーバーVLAN向けdenyである30行目より前へ追加します。 PC-AとPC-Bをまとめて許可できるアドレス範囲が設計上適切であれば、ルール統合も検討します。
任意演習:Packet Tracerで確認する
- PC用VLAN 10とサーバー用VLAN 20を作成する
- レイヤー3スイッチまたはルーターでVLAN間ルーティングを設定する
- ACL設定前にpingとHTTP/HTTPS通信を確認する
- 演習用ACLをVLAN 10のin方向へ適用する
- 各通信を実行し、許可・拒否結果を記録する
show ip access-listsでmatchカウンターを確認する- ルール順序を入れ替え、結果が変わることを確認する
自分の言葉で説明する課題
後輩から「ACLの設定は、permitとdenyを書くだけですか」と質問されました。 60秒程度で説明してください。
説明例を見る
ACLは、送信元や宛先IPアドレス、プロトコル、ポート番号などを条件にして、 パケットを許可または拒否するルール一覧です。 上から順に確認し、最初に一致した行で処理を終了します。 どの行にも一致しない通信は末尾の暗黙のdenyで拒否されます。 また、ACLを作るだけではなく、正しいインターフェースへinまたはoutの方向で適用し、 戻り通信やmatchカウンターも確認する必要があります。
「上から順に評価」「最初に一致した行で終了」「暗黙のdeny」「適用場所と方向」 の4点を含めて説明できれば、この記事の到達目標を満たしています。
まとめ
- ACLは、パケットの条件を照合してpermitまたはdenyするルール一覧
- ACLは上から順に評価され、最初に一致した行で処理を終了する
- どの行にも一致しない通信は、末尾の暗黙のdenyで拒否される
- 標準ACLは主に送信元IPv4アドレス、拡張ACLは送信元・宛先・プロトコル・ポート番号などを判定する
- ワイルドカードマスクは、0を一致、1を無視として読む
- in・outは、ACLを適用するインターフェースと機器から見た方向
- ACLを作成しただけではなく、対象インターフェースへ適用する必要がある
- 基本的なIP ACLはステートレスであり、戻り通信も別途確認する
- 障害切り分けでは、通信経路、ルール順序、適用方向、matchカウンターを組み合わせて判断する
ACLを正しく読むには、1行だけでなく、上からの順序とパケットが通る方向をセットで考えることが重要です。
参考資料
コマンド構文、利用可能なACL機能、ハードウェア処理、適用可能な方向は、 製品・OS・ライセンス・ソフトウェアバージョンによって異なる場合があります。 実機では対象製品の公式ドキュメントとヘルプを確認してください。

コメント