ACLの仕組・動作

 アクセスリストを作成する上で気を付けなければならないのが、リストの順番です。作成したアクセスリストが全てチェックされるわけではありません。

 アクセスリストを作成するには、動作や仕組みを理解した上で、作成しなければなりません。ここでは、アクセスリストの動作や仕組みについて解説します。

アクセスリストの設置

アクセスリストは、インターフェイスの「IN」と「OUT」に仕掛けることができます。

●着信パケット

 例えば、ルータの「E0」インタフェースに着信するパケットをチェックしたい場合は、「E0」の「IN」の方向にアクセスリストを配置します。インバウンドアクセスリストと呼ばれることもあります。

●発信パケット

 例えば、ルータの「E0」インタフェースから発信されるパケットをチェックしたい場合は、「E0」の「OUT」の方向にアクセスリストを配置します。アウトバウンドアクセスリストと呼ばれることもあります。

パケットがアクセスリストの配置されたインタフェースを通過する時に、アクセスリストがチェックされます。

アクセスリストの作成

アクセスリストは、グローバルコンフィグレーションモードで、例えば、次のように作成します。

 例えば、標準IPアクセスリストを作成するのであれば、標準IPアクセスリストの番号の範囲である「1~99」の番号を選択します。

Router(config)#access-list 1 deny 192.168.1.0 0.0.0.255
Router(config)#access-list 1 deny 192.168.2.0 0.0.0.255
Router(config)#access-list 1 permit any

これで、この3つのリストが1つのグループの扱いになります。

次のように作成すると、別々のアクセスリストになってしまうので注意して下さい。

Router(config)#access-list 1 deny 192.168.1.0 0.0.0.255
Router(config)#access-list 2 deny 192.168.2.0 0.0.0.255
Router(config)#access-list 3 permit any

 アクセスリストは、並びが重要です。リストの上から順に条件文がチェックされていきます。一致する条件が見つかったところで、許可、または拒否のアクションが実行され、残りのアクセスリストはチェックされません。

 また、どのリストにも一致しなかった場合には、暗黙の「deny any」が実行され拒否のアクションが取られます。この「deny any」は、作成したアクセスリストの最後に自動的に追加される暗黙の全否定です。

 この「deny any」は、「show running-config」しても見ることはできません。アクセスリストを作成した時点で自動的に追加されます。

アクセスリストの動きは、図で表現すると下図のようになります。

 アクセスリストは、順番が大切です。困ったことに一度作成したアクセスリストの順番を変更したり、修正することができません。アクセスリストは、入力した順番にリストの最後尾に追加されていきます。

 つまり、アクセスリストを手直しする場合は、一度アクセスリスを全て削除してから作り直す必要があります。この後、紹介する名前付きアクセスリストでも同じことが言えます。

 名前付きアクセスリストの場合、指定したリストを削除することはできますが、リストの順番を変更したり、後から最後尾以外にリストを追加することができないので、結局、作り直すことが多くなります。

アクセスリストを削除する

作成したアクセスリストを削除するには、「no access-list」コマンドを使います。

Router(config)#no access-list {番号}

 アクセスリストを作成する時は、メモ帳などのテキストエディタを利用すると便利です。机上でよくデバックしてからルータに適用させましょう。もし、仮に間違えてルータに適用させたとしても、メモ帳からコピーアンドペーストすれば、直ぐに修正することができます。

次の「標準ACL」では、標準ACLの作成方法を解説していきます。