Cisco CCNA アクセスリストの設定

アクセスリストの設定

では、実際にアクセスリストの設定を考えていきましょう。アクセスリストの設定では2つのステップがありました。それに対応して、アクセスリストの設定では基本的に、次の2つのコマンドを使います。

1.アクセスリストの定義

(config)#access-list [ACL-num] [permit|deny] [criteria]

2.アクセスリストをインタフェースに適用

(config-if)#ip access-group [ACL-num] [in|out]


アクセスリストの条件の内容は、標準アクセスリストと拡張アクセスリストで異なります。標準アクセスリストの場合、

criteria=[Source-address] [wildcard-mask]

という形で送信元IPアドレスを指定します。
ここで重要なものがワイルドカードマスクです。ワイルドカードマスクはどのビットが一致している必要があるかを示す32ビットの値です。ビット「0」の部分が一致している必要があり、ビット「1」の部分は一致している必要はありません。たとえば、「送信元IPアドレスが192.168.1.1」ならば、

192.168.1.1 0.0.0.0

という条件になります。「送信元IPアドレスがネットワーク192.168.1.0/24」であれば、

192.168.1.0 0.0.0.255

です。そして、「送信元IPアドレスがなんでもいい」のであれば、

0.0.0.0 255.255.255.255

と記述します。

ワイルドカードマスクを利用することによって、特定のIPアドレスだけでなくIPアドレスの範囲を指定することができるようになります。サブネットマスクのビットをちょうど反転したイメージで考えるとよいでしょう。
そして、拡張アクセスリストの条件は、

criteria = [protocol] [Source-address] [wildcard-mask] {eq|lt|gt} {Source-port} [Destination-address] [wildcard-mask] {eq|lt|gt} {Source-port}

※{ }は省略可

のように記述します。たとえば、「送信元IPアドレスはすべてのアドレス、送信先アドレスが200.1.1.1のサーバへのWWWアクセス」という条件は、

tcp 0.0.0.0 255.255.255.255 200.1.1.1 0.0.0.0 eq www

と記述します。また、アクセスリストの入力を少なくするために、次の表のようなキーワードがあります。

表 アクセスリストのキーワード
キーワード 意味
any 「0.0.0.0 255.255.255.255」の代わりに使いすべてのIPアドレスを示す
host ワイルドカードマスク「0.0.0.0」を表す


先ほどの拡張アクセスリストを表のキーワードによって書き直すと、次のようになります。

tcp any host 200.1.1.1 eq www


1行につき1つの条件を記述することができます。もしも、複数の条件がある場合には同じアクセスリスト番号を使って設定を行います。
アクセスリストの条件の比較は設定された順番に行われます。最後に暗黙のdenyがあるので、必ず1つは許可を入れておかないとすべてのパケットが拒否されることになるので気をつけなければいけません。



アクセスリストの設定例

では、実際にアクセスリストの設定を行って見ましょう。IPアドレスの偽装を防ぐために、よく使うパケットフィルタリングの条件を設定します。図のインターネットに接続されているルータAで標準アクセスリストを設定します。インターネットから入ってくるパケットの送信元IPアドレスが次のアドレスのパケットは拒否します。

・プライベートアドレス
・内部ネットワークのアドレス





アクセスリストの設定とインターフェースへの適用は、次の通りです。


1. RouterA(config)#access-list 1 deny 10.0.0.0 0.255.255.255
2. RouterA(config)#access-list 1 deny 172.16.0.0 0.15.255.255
3. RouterA(config)#access-list 1 deny 192.168.0.0 0.0.255.255
4. RouterA(config)#access-list 1 deny 200.1.1.0 0.0.0.31
5. RouterA(config)#access-list 1 permit any
6. (access-list 1 deny any) ←暗黙のdeny
7. RouterA(config)#interface serial 0
8. RouterA(config-if)#ip access-group 1 in

1〜3行目でクラスA〜Cのプライベートアドレスの範囲を送信元IPアドレスに持つパケットを拒否します。4行目で内部ネットワークのアドレス(200.1.1.0/27)のアドレスを持つパケットを拒否しています。
ここで注意しなくてはいけないことが、アクセスリストの最後には、暗黙のdenyがあるということです(7行目)。ですから、
1〜5行目だけの条件であれば、どこにも許可の条件がないので、暗黙のdenyによってすべてのパケットが拒否されてしまいます。暗黙のdenyを回避するために、6行目ですべての送信元IPアドレスを持つパケットを許可しています。

アクセスリストをルータAのS0インタフェースのインバウンドで適用するか、E0インタフェースのアウトバウンドに適用するか、どちらがいいでしょう?
どちらも指定されたとおりにパケットをフィルタすることができますが、
E0インタフェースのアウトバンドに適用すると、いったんルーティングされてからパケットがフィルタされます。どうせフィルタすることになるパケットであるなら、わざわざルーティングする必要はありません。ですから、この場合はS0インタフェースのインバウンドに適用する方が効率よくフィルタリングを行うことができます。






『ネットワークのおべんきょしませんか?』 を購読しませんか?
めろんぱん E-mail
メールマガジンも購読してくださいね!!購読者限定のプレゼントあり!!


(C) Copyright 2000-2004 Gene All Rights Reserved