拡張ACLは、L3の送信元・宛先IPとプロトコルに加え、TCP/UDPではL4のポート番号まで条件にできます。ICMPにTCP/UDPポートを指定することはできず、プロトコルごとに読み取るフィールドが異なります。
本文では通信要件を送信元、宛先、プロトコル、宛先ポートへ分解し、host・any・ワイルドカード、eq・range、名前付きACLの設定例と試験方法を示します。
この記事はネットワークエンジニア転職完全ガイドの関連テーマです。工程の全体像から確認したい場合はそちらへ。
✅拡張ACLの設定をするときは
OSI参照モデルのL3/L4の理解が必要!?ACLはL3とL4の制御を行う部分
なので、OSI参照モデルの理解が必須!IP = L3
TCP/UDP = L4
ポート番号はL4の世界!OSI参照モデルを理解してないと
ACLの設定もわけわからん!
ってなりがちなので、一番基礎のOSI参照モデルは… pic.twitter.com/HhL8WgOGWT
— けんと@設計構築チャンネル (@yeiquer12) 2025年5月14日
拡張ACLはL3のIPとL4のTCP・UDP・ポート番号を理解して設定すると整理したポスト。
(出典:筆者のX投稿(X:拡張ACLはL3のIPとL4のTCP・UDP・ポート番号を理解して設定すると整理したポスト。))
拡張ACLとは?
拡張IPv4 ACLは、送信元・宛先IP、IPプロトコル、TCP/UDPポート、ICMPタイプなどを条件に通信を許可・拒否するCisco IOS/IOS XEのルールです。上から最初に一致したACEが適用され、どれにも一致しなければ末尾の暗黙denyになります。
| 要件表の項目 | ACLが参照する部分 | 例 |
|---|---|---|
| 送信元・宛先 | IPヘッダー(L3) | 10.10.0.0/16 → 192.0.2.10 |
| 通信種別 | IPプロトコル番号(L3) | TCP、UDP、ICMP |
| サービス | TCP/UDPヘッダーのポート(L4) | 宛先TCP/443 |
| ICMPの種類 | ICMPタイプ | echoなど。TCP/UDPポートではない |
拡張ACLは原則としてパケットごとの条件照合です。establishedのようなキーワードを、状態を追跡するファイアウォール全体と同一視しないでください。
根拠:Cisco IOS XE:Access Control Lists
標準ACLとは何が違う?
「標準ACLとの違い」は、対象レイヤー、判定フィールド、処理する機器、保持する状態、確認コマンドの5軸で比べます。拡張ACLはL3の送信元・宛先IPとIPプロトコル、L4のTCP・UDPポートなどを組み合わせ、通信を細かく識別するCisco IOSのフィルタリング機能です。
設計レビューではプロトコルがどの軸に属するかを表にし、「establishedをステートフルFWと同一視」という混同を防ぎます。差分をip access-list extended APP-ACLで説明できれば、設定の読み違いを減らせます。
| 確認軸 | 実務で押さえる内容 |
|---|---|
| ポイント1 | IPアドレスはホスト、any、ワイルドカードマスクで指定できる |
| ポイント2 | TCPとUDPでは同じポート番号でも別の通信として扱う |
| ポイント3 | eqは単一ポート、rangeは範囲を指定する |
| ポイント4 | ICMPはポートを持たずタイプで条件を細分化できる |
| ポイント5 | 名前付きACLは用途が分かる命名と行単位の管理がしやすい |
用語だけでなく、パケットフローと観測点に置いて確認します。
L3で見るIPとは?
L3の条件では、送信元IP、宛先IP、IPプロトコルを照合します。ネットワーク範囲はワイルドカードマスクで表し、どの送信元からどの宛先へ向かう通信かを要件表と一致させます。
- STEP 01通信要件表
- STEP 02L3 IP条件
- STEP 03L4 プロトコル/ポート
- STEP 04名前付き拡張ACL
L4で見るTCP・UDP・ポートとは?
eqをどこへ書くかで、送信元ポートか宛先ポートかが変わります。HTTPSサーバーへの通信を許可するなら、クライアントの一時ポートを固定せず、宛先のTCP/443を指定するのが基本です。
ip access-list extended APP-ACL
10 permit tcp 10.10.0.0 0.0.255.255 host 192.0.2.10 eq 443
この行は「10.10.0.0/16の送信元から192.0.2.10の宛先TCP/443へのパケット」を許可します。同じ数値443でもUDPは別のプロトコルです。逆方向に別のインターフェースACLを適用するなら、戻り通信の送信元・宛先とポートを反転して設計します。
設定後はshow ip access-lists APP-ACLで対象行のヒットを確認し、HTTPSの成功に加えて許可していないポートが拒否されることも試験します。
ICMP指定とは?
ICMPにはTCP・UDPのポート番号がないため、echo、echo-応答、unreachableなどのICMPタイプで識別します。pingだけを許可するのか、Path MTU Discoveryなどに必要なエラー通知も扱うのかを要件から決めます。
ホスト・any・ワイルドカードとは?
ホストは1つのIP、anyはすべてのIP、ワイルドカードは0のビットを一致対象、1のビットを無視する指定です。anyは範囲が広いため、通信要件で本当に必要かを確認し、ワイルドカードはサブネットマスクと逆に見える点に注意します。
eq・rangeとは?
eqは1つのポート、rangeは連続するポート範囲を指定します。サービス名を使える場合でも、対象OSで名前がどの番号へ解決されるかを確認し、TCPとUDPを取り違えないでください。
名前付きACL設定とは?
名前付きACLは用途を示す名称を付け、ACEを行単位で管理できます。通信要件のIDとACL名・シーケンス番号を対応させると、レビュー時に許可理由と削除条件を追いやすくなります。
投入前に「ルール順序・適用IF・NAT前後をレビュー」を行い、送信元/宛先IPと既存設定の干渉をレビューします。例として通信要件の『10.10.0.0/16から192.0.2.10のHTTPSを許可』を、送信元、宛先、TCP、443、方向へ分解して一行のACLへ変換します。 この条件を手順書と試験表にも引き継ぎます。
投入後はip access-list extended APP-ACLだけで完了にせず、実通信、カウンター、ログのいずれかで裏付けます。ICMPはポートを持たずタイプで条件を細分化できる。 戻せる設定差分と中止条件も同時に用意します。
通信要件からACLへ変換とは?
通信要件を送信元、宛先、プロトコル、送信元ポート、宛先ポート、方向へ分解し、NAT前後と適用インターフェースを確認してからACEへ変換します。要件表の一行とACLのシーケンス番号を対応付け、暗黙の拒否まで含めて試験します。
投入前に「許可・拒否・戻り通信を実行」を行い、プロトコルと既存設定の干渉をレビューします。例として通信要件の『10.10.0.0/16から192.0.2.10のHTTPSを許可』を、送信元、宛先、TCP、443、方向へ分解して一行のACLへ変換します。 この条件を手順書と試験表にも引き継ぎます。
投入後はip access-list extended APP-ACLだけで完了にせず、実通信、カウンター、ログのいずれかで裏付けます。名前付きACLは用途が分かる命名と行単位の管理がしやすい。 戻せる設定差分と中止条件も同時に用意します。
関連する記事
よくある疑問への答えは?
拡張ACLは上から順に評価され、最初に一致したACEで許可または拒否が決まります。合致する行がなければ暗黙に拒否されるため、広いpermitを先に置く、必要な制御通信を漏らす、TCP/UDPとICMPを混同するミスに注意します。
通信要件表をACLへ写すときに補う4点
実案件ではExcelの通信要件表をそのまま設定へ写さず、NAT前後、戻り通信、ステートフル/stateless、適用位置を補います。レビューでは要件表の一行とACL sequenceをひも付け、不要なany、ワイルドカードの桁、TCP/UDPの取り違えを機械的に確認します。
例えば、通信要件の『10.10.0.0/16から192.0.2.10のHTTPSを許可』を、送信元、宛先、TCP、443、方向へ分解して一行のACLへ変換します。 このとき「ip access-list extended APP-ACL」と「permit tcp 10.10.0.0 0.0.255.255 ホスト 192.0.2.10 eq 443」を闇雲に取るのではなく、どの仮説を確認する出力かを手順書に書きます。対象と時刻がないログは、後から正常・異常を判断できません。
レビューでは、ACLがL3/L4のすべてを完全に制御できるという表現や、established をステートフルファイアウォールと同一視する説明を通さないようにします。そのうえで、代わりに何のコマンド出力で確認するかまで決めておきます。通信要件表は送信元、宛先、プロトコル、ポート、方向、NAT前後、期待結果で管理する。 変更の一部が正常でも業務通信全体が成立するとは限らないため、層の異なる証跡を組み合わせます。
この観点を設計書、設定レビュー、試験仕様、作業手順の各成果物へ通して反映します。個人の経験に閉じず、第三者が同じ順序で再現できる状態にすることが、設計構築案件の品質につながります。
この内容は、設計構築チャンネルの動画でも解説しています。
まとめ:拡張ACLはL3・L4をどう見るの要点
拡張ACLはL3の送信元・宛先IPとプロトコル、L4のTCP・UDPポート、ICMPタイプを組み合わせて通信を識別します。要件を各フィールドへ分解し、ACEの順序、適用位置、暗黙の拒否、戻り通信を確認してください。
