ACLラボの要点
- 主な作業
- 標準・拡張IPv4 ACLの設定と確認
- 構成
- 2つのクライアント網、1台のルーター、1つのサーバー網
- 主なコマンド
- IOSコマンド:access-list、ip access-group、show access-lists
- 重要な動作
- すべてのACL末尾には暗黙のdenyがある
- 確認した最新版
- Packet Tracer 9.0.0。これより新しい公開版は確認できず
- 公式入手先
- Cisco Networking Academy公式Resource Hub
ACLコマンドより先に通信方針と構成を作る
Client-Aを192.168.10.0/24、Client-Bを192.168.20.0/24、Server-1を192.168.30.10/24に置き、3つのネットワークをR1へ接続します。R1には192.168.10.1、192.168.20.1、192.168.30.1を設定し、ACL適用前に全端末間の疎通を確認します。正常な基準を作ると、ACLの誤りと配線・アドレス・経路の問題を切り分けられます。
方針を文章で記録します。Client-Aはサーバー網へ到達可能、Client-BはServer-1へ到達不可、その他の通信は課題で禁止されていない限り許可します。各試験について送信元、宛先、プロトコル、ポート、インターフェイス、方向、期待結果を表にします。
- 1
構成とアドレス
3つのネットワークを作り、全インターフェイスを有効化します。
- 2
基準を確認
フィルター前にpingで疎通を証明します。
- 3
期待結果を記録
許可と拒否を具体的に決めます。
- 4
初期版を保存
ACL適用前のPKTを比較用に残します。
標準ACLと拡張ACLの違いを比較する
標準IPv4 ACLが照合するのは送信元アドレスだけです。ある送信元ネットワーク全体を制御する場合に向きます。宛先やサービスを区別できないため、通常は宛先の近くへ配置し、無関係な宛先まで遮断しないようにします。
拡張IPv4 ACLはプロトコル、送信元、宛先、TCP/UDPポートを照合できます。HTTPは許可してICMPは拒否する、といった細かな方針に向きます。不要な通信を早く破棄するため、通常は送信元の近くへ配置します。
| 種類 | 照合項目 | 一般的な配置 | 用途 |
|---|---|---|---|
| 標準・番号 | 送信元IPv4 | 宛先の近く | 送信元ネットワークの制限 |
| 標準・名前 | 送信元IPv4 | 宛先の近く | 読みやすい送信元方針 |
| 拡張・番号 | プロトコル、送信元、宛先、ポート | 送信元の近く | Web許可とping拒否 |
| 拡張・名前 | プロトコル、送信元、宛先、ポート | 送信元の近く | 読みやすいサービス方針 |
標準ACL設定例:1つの送信元ネットワークを拒否する
192.168.20.0/24からサーバーLANへの通信を拒否するには、access-list 10 deny 192.168.20.0 0.0.0.255、続けてaccess-list 10 permit anyを入力します。後者がないと、最後の暗黙のdenyによって一致しなかった通信も拒否されます。
192.168.30.0/24へ向かうインターフェイスでinterface g0/2とip access-group 10 outを設定します。これによりClient-Bは他の宛先へ到達でき、サーバーLANへ出るときだけ拒否されます。機種に応じて実際のインターフェイス名へ読み替えてください。
- 1
拒否行を作る
192.168.20.0と0.0.0.255を指定します。
- 2
残りを許可
暗黙のdenyより前にpermit anyを置きます。
- 3
宛先近くへ適用
サーバー側インターフェイスのoutへ設定します。
- 4
両方を試験
Client-Bは失敗、Client-Aは成功することを確認します。
両方が失敗する場合は、許可行、適用インターフェイス、方向を先に確認します。
拡張ACL設定例:Webを許可しpingを拒否する
192.168.10.0/24からServer-1へのHTTPを許可する例はaccess-list 110 permit tcp 192.168.10.0 0.0.0.255 host 192.168.30.10 eq 80です。次にaccess-list 110 deny icmp 192.168.10.0 0.0.0.255 host 192.168.30.10 echoでICMP echoを拒否します。その他を許可する方針なら最後にpermit ip any anyを追加します。
ACL 110は192.168.10.0/24側インターフェイスのinへ適用します。ACLは上から順に評価され、最初に一致した行で処理が終わります。HTTPSも必要なら、広い拒否より前にポート443の許可行を追加します。
- 1
必要なサービスを許可
具体的なTCPポート行を先に置きます。
- 2
禁止通信を拒否
ICMPまたは対象サービスを正確に照合します。
- 3
残りを決める
方針が必要とする場合だけ最後の許可を追加します。
- 4
送信元近くへ適用
クライアント側のinへ設定して再試験します。
ワイルドカードマスクと方向を正しく選ぶ
一般的な連続サブネットでは、各オクテットを255から引きます。255.255.255.0は0.0.0.255、255.255.255.192は0.0.0.63です。0のビットは一致が必要で、1のビットは変化できます。単一ホストにはhost 192.168.30.10、全アドレスには意図を確認してanyを使います。
方向はルーターから見ます。inはそのインターフェイスからルーターへ入る通信、outはルーターから出る通信です。試験パケットを送信元から宛先まで追い、R1へ入る場所と出る場所を確認します。
| ネットワーク/ホスト | サブネットマスク | ワイルドカード | 記述 |
|---|---|---|---|
| 192.168.10.0/24 | 255.255.255.0 | 0.0.0.255 | 192.168.10.0 0.0.0.255 |
| 192.168.20.64/26 | 255.255.255.192 | 0.0.0.63 | 192.168.20.64 0.0.0.63 |
| 192.168.30.10/32 | 255.255.255.255 | 0.0.0.0 | host 192.168.30.10 |
| すべてのIPv4 | 該当なし | 255.255.255.255 | any |
許可と拒否の両方をPacket Tracerで確認する
各方針について成功する試験と失敗する試験を最低1つずつ実行します。ping失敗だけではACLが原因とは断定できません。Client-AとClient-BからServer-1へ試し、さらに無関係な宛先も試します。サービス別ACLではサーバーのHTTP機能を使い、pingだけに依存しないでください。
R1でshow access-listsを実行して順序と一致数を確認し、show ip interfaceで適用位置と方向を確認します。SimulationモードではARP、ICMP、TCP、HTTPを絞り込み、パケットが止まる位置を観察できます。
- 許可対象の基本疎通が残っていることを確認します。
- 拒否試験は送信元、宛先、プロトコル、ポートを一致させます。
- 試験後に一致カウンターを確認します。
- 期待結果と一致してから設定を保存します。
順序、配置、暗黙のdenyを切り分ける
まずケーブル、インターフェイス状態、IPアドレス、マスク、ゲートウェイ、経路を確認します。次にACLが存在するか、上から読んだ順序、適用インターフェイスと方向を確認します。広すぎる行が具体的な行より前にないか、ワイルドカード範囲、ポートの位置、必要な許可行を調べます。
一度に1条件だけ変更し、同じ試験を繰り返します。カウンターが0ならその行へ到達していないか、前の行で一致しています。違う行のカウンターが増える場合は順序または条件を修正し、無作為にコマンドを追加しないでください。
Packet Tracer ACLのよくある質問
ACLがすべての通信を止めるのはなぜですか?
明示的なpermitの不足、広すぎるdeny、誤ったインターフェイスや方向が主な原因です。
標準ACLはどこへ配置しますか?
送信元しか区別できないため、通常は無関係な宛先への通信を止めないよう宛先の近くへ置きます。
拡張ACLはどこへ配置しますか?
不要なプロトコルやサービスを早く破棄するため、通常は送信元の近くへ置きます。
どの行が一致したか確認する方法は?
制御した試験後にshow access-listsを実行し、一致カウンターを比較します。
ACLでpingを拒否できますか?
はい。拡張ACLでICMPや特定のICMPタイプを許可・拒否できます。他のサービスは別に試験します。
番号ACLと名前ACLのどちらがよいですか?
どちらも利用できます。名前ACLは読みやすく、番号ACLは小さなラボで簡潔です。
公式参考資料
- Ciscoアクセスリスト設定ガイド
標準・拡張IP ACLの動作と設定に関するCisco資料。
- Cisco Packet Tracer 9.0発表
2026年7月14日のCisco Community発表。
- Cisco Packet Tracerダウンロード資料
サインイン後に現在のパッケージを確認する公式Resource Hub。