ACL(アクセスコントロールリスト)とは?
ACL(Access Control List)は、通信を許可(permit)または拒否(deny)するためのルール集合です。主にルータやL3スイッチで使用され、IP通信の制御・セキュリティ確保・トラフィック制御に欠かせない技術です。
CCNAでは種類の違い・適用方向・評価順序・暗黙のdenyが頻出ポイントです。
ACLでできること
- 特定のIPアドレス/ネットワークからの通信制御
- 特定プロトコル(TCP/UDP/ICMP)の制御
- 特定ポート番号(HTTP, SSH など)の制御
- 管理アクセス(VTY)の制限
ACLの基本動作
- パケットがACL適用インターフェースに到達
- 上から順番に条件をチェック
- 最初に一致したルールが適用
- どれにも一致しない場合 → 暗黙の deny(deny any) が適用され、すべての通信が拒否される
🔴 ACLは「上から順番」「最初にマッチした1行だけ」が超重要
ACLの種類
| 種類 | 判定条件 | 番号範囲 | 特徴 | 配置原則 |
|---|---|---|---|---|
| 標準ACL | 送信元IPのみ | 1–99 1300–1999 | シンプル・ 粒度が粗い | 宛先側に近く |
| 拡張ACL | ・送信元IP ・宛先IP ・プロトコル ・ポート番号 | 100–199 2000–2699 | 詳細な制御が可能 | 送信元側に 近く |
| 名前付きACL | 上記と同様 | 名前で管理 | 可読性、 保守性が高い | 拡張ACLと 同様 |
標準ACL(Standard ACL)
- 判定条件:送信元IPアドレスのみ
- 制御がシンプルな分、誤って広範囲を遮断しやすい
access-list 1 permit 192.168.1.0 0.0.0.255
拡張ACL(Extended ACL)
- 判定条件:
- 送信元IP
- 宛先IP
- プロトコル(ip / tcp / udp / icmp)
- ポート番号
access-list 100 permit tcp 192.168.1.0 0.0.0.255 any eq 80
名前付きACL(Named ACL)
番号ではなく名前でACLを管理する方式です。
- ACLの可読性・保守性が向上
- シーケンス番号による編集が容易
- 実務では主流
ip access-list extended WEB-ACL
permit tcp any any eq 80
deny ip any any
ワイルドカードマスク
ACLではサブネットマスクではなくワイルドカードマスクを使用します。
| 値 | 意味 |
|---|---|
| 0 | ビット一致が必要 |
| 1 | ビット不問 |
プレフィックス別の例
| プレフィックス | サブネットマスク | ワイルドカード |
|---|---|---|
| /24 | 255.255.255.0 | 0.0.0.255 |
| /25 | 255.255.255.128 | 0.0.0.127 |
| /26 | 255.255.255.192 | 0.0.0.63 |
| /27 | 255.255.255.224 | 0.0.0.31 |
| /28 | 255.255.255.240 | 0.0.0.15 |
| /29 | 255.255.255.248 | 0.0.0.7 |
| /30 | 255.255.255.252 | 0.0.0.3 |
| /32 | 255.255.255.255 | 0.0.0.0 |
any / host の使い方
any:0.0.0.0 255.255.255.255host 192.168.1.10:特定1台指定
access-list 10 deny host 192.168.1.10
access-list 10 permit any
ACLの適用(方向が重要)
ACLはインターフェースまたはVLAN(SVI)に方向付きで適用します。
物理インターフェースへの適用
interface GigabitEthernet0/0
ip access-group 100 in
VLAN(SVI)への適用
interface Vlan10
ip access-group 100 in
| 方向 | 意味 |
|---|---|
| in | インターフェース/VLANに入ってくる通信 |
| out | インターフェース/VLANから出ていく通信 |
| in | インターフェースに入ってくる通信 |
| out | インターフェースから出ていく通信 |
標準ACLと拡張ACLの配置原則
| 種類 | 配置原則 |
|---|---|
| 標準ACL | 宛先に近い場所 |
| 拡張ACL | 送信元に近い場所 |
👉 不要な通信を早く捨てて負荷軽減
シーケンス番号と編集
ACLは内部的にシーケンス番号で管理されています。
ip access-list extended WEB-ACL
10 permit tcp any any eq 80
20 deny ip any any
- 途中にルールを追加可能
no 20で特定行削除可能
👉 ACLを作り直さなくて良い=実務向き
ACL設定のポイント(試験&実務)
- 暗黙の deny any を忘れる
- 上から評価される順序を考慮しない
- 標準ACLを送信元側に置いて通信断
- ワイルドカードの指定ミス
- in / out の方向ミス
確認コマンド
show access-lists
show ip access-lists
show ip access-lists interface GigabitEthernet0/0
show running-config
```text
show access-lists
show ip access-lists
show running-config
(補足)NATとACL
NAT設定では、変換対象となる通信を指定するためにACLを使用します。
NAT設定の一連の流れ
- NAT対象トラフィックをACLで定義
- inside / outside インターフェースを指定
- NAT変換ルールを設定
access-list 1 permit 192.168.1.0 0.0.0.255
interface GigabitEthernet0/0
ip nat inside
interface GigabitEthernet0/1
ip nat outside
ip nat inside source list 1 interface GigabitEthernet0/1 overload
👉 ACLは「遮断」ではなく「条件指定」としても使われる
NATの詳しい解説は下記でしています。
ACL設定コマンド例
一連の流れ
- ACLを作成
- 必要に応じて編集
- インターフェース/VLANへ適用
- 動作確認
ACLの作成(2パターン)
| 方法 | コマンド | メリット | デメリット |
|---|---|---|---|
| 番号ACL | access-list | 簡単・試験向き | 編集が困難 |
| 名前付きACL | ip access-list | 可読性・保守性が高い | コマンド量が多い |
① access-list コマンド
access-list 100 permit ip any any
② ip access-list コマンド(推奨)
ip access-list extended TEST-ACL
permit ip any any
ACLの編集
running-configで編集(再作成)
show running-config
no access-list 100
access-list 100 permit ip any any
copy running-config startup-config
シーケンス番号を使った編集
ip access-list extended TEST-ACL
10 permit tcp any any eq 80
20 deny ip any any
ip access-list extended TEST-ACL
no 10
ACLの適用
物理インターフェース
interface GigabitEthernet0/0
ip access-group TEST-ACL in
VLAN(SVI)
interface Vlan10
ip access-group TEST-ACL in
ACLの確認
show ip access-lists
show ip access-lists interface GigabitEthernet0/0
show running-config
まとめ
- ACLは通信制御・条件指定の基本技術
- 上から評価、暗黙のdenyを常に意識
- 実務では拡張ACL+名前付きACLが主流
- NATや管理アクセス制御にも活用される
確認テスト
- ACLの判断順序は?
- 暗黙のdenyとは何か?
- 標準ACLと拡張ACLの配置原則の違いは?
- VLANにACLを適用する場合のインターフェース名は?
- NATでACLが果たす役割は?



コメント