PR
[画像のクリックで拡大表示]

 ACLの記述を問う実践的な問題だ。実はACLでは,条件を記述する順番も大きな意味を持っている。

 ACLは,一番上の行から順番に解釈される。条件に一致した行が見つかったら,それ以降の行は解釈しない。例えば,一番上の行に「すべての受信パケットを許可」と設定してしまうと,以降の行で厳しい制限をかけても解釈されず,結果的に全パケットを受信してしまう。

 もう一つ覚えておきたいのは,ACLのすべての行の条件に一致しない場合はパケットが拒否される点だ。つまり,ACLの最後の行には,「すべてのパケットを拒否する」という見えない一行がある。これを「暗黙のdeny」と呼ぶ。

 実際にACLの各行を記述する際には,ワイルドカード・マスクを使う。ワイルドカード・マスクは,IPアドレスの範囲を指定する32ビットの値だ。IPアドレスと組み合わせて表記する。ワイルドカード・マスクのビットが「0」の位は,IPアドレスの値そのまま,ワイルドカード・マスクが「1」の位は任意の値という意味になる。

 この問題では,送信元IPアドレス以外の条件が必要なので,拡張ACLを使う。図1に一般的な拡張ACLの記述例を挙げた。「access-list」コマンドに続けて,適用したいACL番号と処理,使用プロトコル,送信元/あて先IPアドレス,ポート番号などを指定する。

図1●拡張ACLの設定方法<br>拡張ACLでは,標準ACLよりも多くの要素を判定に使える。パケットを受け取ったら,ルーターはACLを上から順番にチェックして,指定の処理を実行する。どのルールにも当てはまらない場合は,最終的に拒否する。このしくみを「暗黙のdeny」と呼ぶ。
図1●拡張ACLの設定方法
拡張ACLでは,標準ACLよりも多くの要素を判定に使える。パケットを受け取ったら,ルーターはACLを上から順番にチェックして,指定の処理を実行する。どのルールにも当てはまらない場合は,最終的に拒否する。このしくみを「暗黙のdeny」と呼ぶ。
[画像のクリックで拡大表示]

 使用プロトコルとしては,IPのほかにTCP,UDP,ICMPなどを指定できる。なお,IPを指定すると「TCP,UDP,ICMPを含む,IPのトラフィックすべて」を指定したことになるので覚えておこう。

「暗黙のdeny」をうまく使おう

 以上を念頭に置いて,この問題の条件に当てはまる拡張ACLを記述したのが図1の下である。まず,問題文にある条件の上から2番目「ネットワークA内の全ホストから,ネットワークC内のサーバーBへのTelnetアクセスは拒否する」に当てはまる拡張ACLを先に設定しなくてはならない。1番目の「ネットワークA内の全ホストから,ネットワークC内の全ホストに対してはアクセスを許可する」を先に設定すると,Telnetアクセスも含めてすべてのパケットが許可されてしまうからだ。

 最後の条件は「暗黙のdeny」を利用するので,実際に設定する拡張ACLは2行で済む。この問題はコマンドの順番も尋ねているので,解答は選択肢d,aとなる。

Webサイトで確認!
IPアドレス編 第4回 拡張ACLを使う