今回は、ACL入門の第2回として、Packet Tracer を使いながら Standard ACL と Extended ACL の動きを実際に確認しました。
前回はACLの基本的な考え方を整理しましたが、今回は実際に設定してみたことで、「どこにACLを置くのか」 と 「どの通信が拒否されるのか」 をより具体的に理解できた気がします。特に、Standard ACL は宛先側に近く、Extended ACL は送信元側に近く置く、という考え方を図と実習の両方で確認できたのが大きな収穫でした。

Standard ACL を設定
まずは、Standard ACL の設定を試しました。
Standard ACL は、送信元IPアドレスをもとに大まかに通信を制御するACLです。今回の実習では、PC-A 側と PC-B 側をルータでつないだ構成を使い、Standard ACL を適用して ping の動作を確認しました。図でも、Standard ACL の例として 宛先側に近い位置 で適用する考え方が示されており、「PC-Aを拒否、その他は許可」というイメージで整理されています。
- ルータの fa0/1 に Standard ACL を設定
- PC-A ⇒ PC-B の Ping は失敗
- PC-B ⇒ PC-A の Ping も失敗
最初は「片方向だけ止まるのでは」と思っていたのですが、ここで自分が十分に理解できていなかったのは、PC-A からの echo そのものが拒否される と、結果として期待した動きにならないという点でした。
Extended ACL も最初は思った通りに動かなかった
次に、Extended ACL の設定も試しました。
Extended ACL は、Standard ACL よりも細かく条件を指定できるACLで、送信元・宛先・通信の種類 まで見て制御できます。図でも、Extended ACL の例として 送信元側に近い位置 に置くこと、そして「PC-A→PC-B の ping のみ拒否」のように、より細かい制御ができることが示されています。
- ルータの fa0/1 に Extended ACL を設定
- PC-A ⇒ PC-B の Ping は失敗
- PC-B ⇒ PC-A の Ping も失敗
ここでも、自分は 「PC-A からの echo も拒否される」 ことをきちんと意識できていませんでした。ACLはただ何となく片方を止めるものではなく、どの通信を、どの方向で、どのインターフェースで見ているのか を正確に考えないと、思った通りの結果にはならないのだと実感しました。
Extended ACL で通信の種類まで意識すると動きが見えてきた
そのあと、Extended ACL で 通信の種類まで意識した設定 を確認したことで、ようやく動きの違いが少し見えてきました。
添付の図では、ルータの G0/0 の in 側で拡張ACLを確認し、次のように整理されています。

- PC-A→PC-B の ping要求は拒否
- ping応答は許可
- その他は許可
図の結果としても、PC-A→PC-B の ping要求は拒否 され、PC-B→PC-A の ping要求は通過 し、さらに PC-A→PC-B の ping応答も通過 する流れが示されています。つまり、PC-A から PC-B への ping は失敗する一方で、PC-B から PC-A への ping は成功する という動きです。
- ルータの fa0/1 に Extended ACL を設定
- PC-A ⇒ PC-B への echo は許可
- PC-A ⇒ PC-B の Ping は失敗
- PC-B ⇒ PC-A の Ping は成功
この流れを見て、Extended ACL は単に「許可する・拒否する」だけではなく、どの相手からどの相手へ、どんな通信を行うのか まで細かく見て制御できるのだと、ようやく実感できました。図の下部にもある通り、Extended ACLは送信元・宛先・通信の種類まで指定できる という点が、今回いちばん印象に残ったポイントでした。
今回いちばん詰まったこと
今回いちばん詰まったのは、Standard ACL と Extended ACL のどちらでも、PC-A からの echo が拒否されると想定していた結果とずれる という点でした。
頭の中では何となく「片方向だけ止める」イメージを持っていたのですが、実際には ping には 要求 と 応答 があり、ACL はそのどちらを見ているのかまで考えないと整理できません。特に Extended ACL は細かく指定できるぶん、逆に言うと 送信元・宛先・プロトコル・方向 をきちんと意識しないと混乱しやすいのだと思いました。
まとめ
今回のPacket Tracer実習を通して、Standard ACL は大まかな制御、Extended ACL は細かい制御 という違いを、実際の通信結果とあわせて確認することができました。さらに、Standard ACL は宛先側に近く、Extended ACL は送信元側に近く置く という基本も、図と実習の両方で整理できました。
そして何より大きかったのは、「PC-A からの echo も拒否されることがある」 という点を、自分の中でちゃんと意識できるようになったことです。ACLはコマンドを覚えるだけではなく、どの通信がどこで判定されるのか を順番に考えることが大切だと感じました。次回は、今回の実習内容を踏まえて、もう少し設定と結果を落ち着いて結び付けられるようにしたいです。

コメント