ACLとは?標準ACL・拡張ACL・ワイルドカードマスク・設定例を図解

ネットワーク中級編 24/全50記事

この記事は、 「ネットワーク中級編|構築・検証・障害切り分けを身につける」 の第24回です。

IPアドレスやルーティングの知識を使い、必要な通信だけを許可し、 不要な通信を拒否するACLの基本動作を学びます。

ACLとは?標準ACL・拡張ACL・ワイルドカードマスク・設定例を図解

ACLは、ルーターやレイヤー3スイッチを通過するパケットを条件と照合し、 通信を許可するか拒否するかを判断する仕組みです。 この記事では、上から順に評価される動作、暗黙のdeny、標準ACLと拡張ACL、 in・outの方向、Cisco IOSの設定・確認方法を実務で使える形で解説します。

対象レベル Level 2・中級
想定読了時間 約30分
身につく成果 ACLの通信可否を根拠付きで判断できる
前提知識 IPv4・ルーティング・TCP/UDP
演習環境 ブラウザ/Packet Tracer任意

ACLの設定では、1行の条件だけを見るのではなく、 ルールの順序、適用インターフェース、in・outの方向、戻り通信まで考える必要があります。

よくある障害は、「denyの条件を間違えた」ことよりも、 「permitを書き忘れた」「方向を逆にした」「広い条件を先に置いた」といった設計ミスです。

この記事を読み終えるとできること

  • ACLの役割と基本動作を説明できる
  • 標準ACLと拡張ACLを使い分けられる
  • ワイルドカードマスクを読み取れる
  • ACLが上から順に評価される理由を説明できる
  • in・outを機器視点で判断できる
  • 設定とカウンターから通信不可の原因を切り分けられる

ACLとは何か

最初に覚える定義

ACL(Access Control List)とは、パケットの条件を上から順に照合し、 一致したルールに従って通信をpermitまたはdenyする一覧です。

ACLは、ルーターやレイヤー3スイッチのインターフェースなどへ適用し、 通過するIPパケットを制御します。 条件として利用できる情報はACLの種類によって異なります。

1

送信元

どの端末・ネットワークから送られた通信かを判定します。

2

宛先

どのサーバー・ネットワークへ向かう通信かを判定します。

3

プロトコル

IP、TCP、UDP、ICMPなどの種類を判定します。

4

ポート番号

HTTPSの443番、DNSの53番など、サービス単位で判定します。

ACLによる通信制御のイメージ

💻 PC-A 192.168.10.10
🛡️ ACL 条件を上から照合
🖥️ Server-A 192.168.20.10
HTTPS(TCP/443)は許可 / Telnet(TCP/23)は拒否

ACLの主な利用目的

  • 利用者ネットワークからサーバーネットワークへの通信を必要最小限にする
  • 管理端末だけにSSHやSNMPを許可する
  • 特定の送信元やプロトコルを遮断する
  • NAT、QoS、ルート制御などで対象通信を識別する

ACLは「通信を拒否するためだけの機能」ではありません。

許可する通信を明確に定義し、不要な通信を通さないための制御表です。 また、機能によっては通信をpermit・denyするのではなく、対象トラフィックの分類にACLを利用する場合もあります。

ACLは基本的にステートレス

基本的なIP ACLは、通信セッションの状態を記憶せず、 パケットごとに条件を確認します。 そのため、行きの通信を許可しただけで、戻りの通信が自動的に許可されるとは限りません。

「PCからサーバーへの通信をpermitしたので、応答も必ず通る」とは限りません。 反対方向にもACLがある場合は、戻りパケットがそのACLで許可されるかを確認します。

ACLがパケットを判定する流れ

ACLを理解するうえで最も重要なのは、 上から順に評価し、最初に一致したルールで処理を終了することです。

  1. ACLの先頭行から条件を確認する 送信元、宛先、プロトコル、ポート番号などを順番に照合します。
  2. 一致しなければ次の行へ進む 条件が合わない行は処理せず、次のACEを確認します。
  3. 最初に一致したpermitまたはdenyを実行する 一致後は、それより下のルールを確認しません。
  4. 最後まで一致しなければ暗黙のdeny ACL末尾には、設定画面に見えない拒否ルールがあるものとして動作します。

ACLは上から順に評価される

上から順に照合し、最初に一致した行で終了

10 deny TCP/23を拒否
20 permit TCP/443を許可
30 permit その他のIP通信を許可
末尾 deny 暗黙のdeny(どの行にも一致しない通信を拒否)

ルールの順序が変わると結果も変わる

意図どおりの順序

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
パケット →

VLAN 10からルーターへ入る

L3スイッチ
SVI VLAN 10
サーバーVLAN
→ パケット

ルーターからVLAN 20へ出る

方向 意味 VLAN 10のSVIで考えた例
in そのインターフェースから機器内部へ入るパケット VLAN 10の端末からL3スイッチへ入る通信
out 機器内部からそのインターフェースへ出るパケット L3スイッチからVLAN 10の端末へ出る通信

同じ通信でも、見るインターフェースで方向が変わる

PC-AからServer-Aへ向かう通信

💻 PC-A VLAN 10
🔀 L3スイッチ ルーティング
🖥️ Server-A VLAN 20
VLAN 10 SVIではin / VLAN 20 SVIではout

方向が分からないときは、対象パケットを矢印で構成図へ書き込みます。

パケットが対象インターフェースから機器内部へ入るならin、 機器内部から対象インターフェースへ出るならoutです。

Cisco IOSの設定例

構成と通信要件

ユーザーVLANからサーバーVLANへの通信を制御する

👥 VLAN 10 192.168.10.0/24
🛡️ L3スイッチ VLAN 10のinへACL
🖥️ Server-A 192.168.20.10
通信要件 判定
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つの試験パケットを具体化して追跡します。

最初に試験パケットを定義する

送信元:192.168.10.50 / 宛先:192.168.20.10 / プロトコル:TCP / 宛先ポート:443
  1. 通信要件を確認する
    誰から誰へ、どのプロトコル・ポートを許可したいのかを明確にします。
  2. 実際の経路を確認する
    ルーティングテーブルや構成図から、パケットがACL適用インターフェースを通るか確認します。
  3. ACLの適用場所と方向を確認する
    対象インターフェースへin・outのどちらで設定されているか確認します。
  4. ACLを上から順に手作業で照合する
    試験パケットが最初に一致する行を特定します。
  5. matchカウンターを確認する
    試験通信によってpermitまたはdenyの値が増えるか確認します。
  6. 戻り通信の経路とACLを確認する
    反対方向のACL、サーバー側ファイアウォール、非対称経路を確認します。
  7. 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-INMGMT-ACCESSなど、用途が分かる名前を付けます。 remarkにはチケット番号、対象システム、通信目的など、運用に必要な情報を残します。

4.変更前に影響範囲を確認する

  • 現在のACL全体と適用インターフェース
  • 追加行を挿入する位置
  • 対象通信以外に一致する可能性
  • 冗長機器や別経路にも同じ設定が必要か
  • IPv4 ACLとIPv6 ACLの両方が必要か
  • 作業後の正常性確認と切り戻し条件

5.変更前後のカウンターを記録する

ACL行が意図した通信へ一致しているかを証明するため、 作業前後のshow ip access-listsを取得します。 疎通結果だけでなく、どのpermit行へ一致したかまで確認すると、試験の根拠が強くなります。

ACL設計の品質は、「止めたい通信」だけでなく「残すべき通信」を漏れなく定義できるかで決まります。

DNS、DHCP、NTP、監視、認証、名前解決、バックアップなど、 利用者が直接意識しない通信も忘れずに確認します。

ACLに関するよくある勘違い

ACLは書いた順番に関係なく、最も具体的な行が選ばれる

ルーティングの最長一致とは異なります。ACLは上から順に評価し、最初に一致した行で処理を終了します。

denyを書かなければ通信は許可される

ACL末尾には暗黙のdenyがあります。どのpermitにも一致しない通信は拒否されます。

ACLを作成した時点で通信制御が始まる

ACLを対象機能やインターフェースへ適用する必要があります。定義だけでは通常、通過パケットへ影響しません。

inは社内向け、outはインターネット向けという意味

in・outはインターフェースと機器から見たパケットの方向です。構成によって社内通信でもin・outのどちらにもなります。

行きの通信をpermitすれば戻り通信も自動的に許可される

基本的なIP ACLはステートレスです。反対方向のACLやサーバー側制御も確認します。

ACLは構成図・ルーティング・試験パケットと組み合わせて読む

ACL単体では、パケットが実際にその場所を通るか判断できません。通信経路と適用方向を含めて確認します。

理解度チェック

次の6問に答えてください。解答を見る前に、対象パケットがACLのどの行へ最初に一致するかを考えましょう。

問題1.ACLの基本的な評価方法として正しいものはどれですか。

  1. 最も具体的な条件を自動的に選ぶ
  2. 下から上へ評価する
  3. 上から順に評価し、最初に一致した行で終了する
  4. すべての行を評価して多数決で決める
解答を見る
正解:C

ACLは上から順に照合し、最初に一致したpermitまたはdenyで処理を終了します。

問題2.標準ACLが基本的に判定できる情報はどれですか。

  1. 送信元IPv4アドレス
  2. 宛先ポート番号だけ
  3. 送信元MACアドレス
  4. TCPセッションの状態
解答を見る
正解:A

標準IPv4 ACLは、基本的に送信元IPv4アドレスを条件にします。

問題3.192.168.10.0/24を指定するワイルドカードマスクはどれですか。

  1. 255.255.255.0
  2. 0.0.0.255
  3. 0.0.255.255
  4. 255.255.255.255
解答を見る
正解:B

先頭24ビットを一致させ、最後の8ビットを無視するため、0.0.0.255です。

問題4.ACL末尾までどの条件にも一致しなかったパケットはどうなりますか。

解答を見る
拒否されます。

ACL末尾には暗黙のdenyがあるため、明示的なpermitに一致しない通信は拒否されます。

問題5.VLAN 10の端末からL3スイッチへ入る通信を、VLAN 10のSVIで制御します。方向はinとoutのどちらですか。

解答を見る
inです。

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を読み、各通信が許可されるか拒否されるかを判断してください。

演習用ネットワーク

💻 PC-A 192.168.10.10
💻 PC-B 192.168.10.20
🛡️ ACL VLAN10-IN VLAN 10のin
🖥️ Server-A 192.168.20.10
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で確認する

  1. PC用VLAN 10とサーバー用VLAN 20を作成する
  2. レイヤー3スイッチまたはルーターでVLAN間ルーティングを設定する
  3. ACL設定前にpingとHTTP/HTTPS通信を確認する
  4. 演習用ACLをVLAN 10のin方向へ適用する
  5. 各通信を実行し、許可・拒否結果を記録する
  6. show ip access-listsでmatchカウンターを確認する
  7. ルール順序を入れ替え、結果が変わることを確認する

自分の言葉で説明する課題

後輩から「ACLの設定は、permitとdenyを書くだけですか」と質問されました。 60秒程度で説明してください。

ACLは、________________________________。
説明例を見る

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の基本を学びました。

次の記事では、通信セッションの状態を記録し、 行きの通信に対応する戻り通信を判断するステートフルファイアウォールを解説します。 ACLとの違いを理解すると、ファイアウォールポリシーを設計するときの考え方が明確になります。

参考資料

コマンド構文、利用可能なACL機能、ハードウェア処理、適用可能な方向は、 製品・OS・ライセンス・ソフトウェアバージョンによって異なる場合があります。 実機では対象製品の公式ドキュメントとヘルプを確認してください。

ネットワーク中級編 24/全50記事

中級編では、VLAN、STP、ルーティング、OSPF、ACL、VPN、 パケット解析、障害切り分けを順番に学びます。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次