第9章 アクセスリストでトラフィックを管理する
■ アクセスリストとは アクセスリストとは、 ルータを通過するパケットの転送可否を判断するための条件文を、 順列リスト形式で記述するものである。 パケットをアクセスリストと比較する場合は、以下のルールに従う。 - パケットは、アクセスリストの1行目から順に比較される。 - 条件が一致するとアクションを行い、以降の比較は行わない。 - どの行とも一致しない場合は非通過とする(暗黙のdeny) 管理者がアクセスリストを作成する際には、 まずルータ上で作成し、その後で各々のインターフェースに適用する。 その際、以下のルールに注意する必要がある。 - 新規ステートメントの追加は、常に最下行に行なわれる。 - 最終行には、必ずpermit anyステートメントを設けること。 - 既存のステートメントの中から、1行だけを削除することはできない。 アクセスリストは、5種類が使用できる。次項以下、順番に説明する。 - 標準IPアクセスリスト - 拡張IPアクセスリスト - 標準IPXアクセスリスト - 拡張IPXアクセスリスト - IPX SAPフィルター ■ 標準IPアクセスリスト ルータ上に標準IPアクセスリストを作成する。 標準IPアクセスリストは、送信元IPアドレスのみを参照してフィルタリングする。 アクセスリスト番号は、1〜99を使用する。 Router(config)#access-list 10 deny host 172.16.30.2 Router(config)#access-list 10 permit any 標準IPアクセスリストを特定のインターフェースに適用する。 シスコのデフォルトでは、ルータから出て行くパケットに適用されるが、 指定により、ルータへの入力パケットに適用することもできる。 Router(config-if)#ip access-group 10 out [またはin] ■ 拡張IPアクセスリスト ルータ上に拡張IPアクセスリストを作成する。 拡張IPアクセスリストでは、送信元/宛先IPアドレスのほか、 トランスポート層プロトコルやポート番号に基づいて、フィルタリングすることができる。 アクセスリスト番号は、100〜199を使用する。 Router(config)#access-list 110 deny tcp any host 172.16.30.2 eq 21 Router(config)#access-list 110 deny tcp any host 172.16.30.2 eq 23 Router(config)#access-list 110 permit ip any any 拡張IPアクセスリストを特定のインターフェースに適用する。 ip access-groupコマンドに続けて、外向きパケットへの適用(out)か、 内向きパケットへの適用(in)かを指定する。 Router(config-if)#ip access-group 110 out ■ ワイルドカードの使用 上記の例では、フィルタリングの対象となる送信元/宛先IPアドレスとして、 単一のホストアドレスを指定した。しかし、フィルタリングの対象として、 一定範囲のIPアドレスレンジを指定することも可能である。 フィルタリングの対象をIPアドレスの範囲で指定するには、 まず基準となるネットワーク・アドレスを示した上で、 続けて4オクテットのワイルドカードを併記すれば良い。 このワイルドカードは、インバースマスク方式(Inverse Mask)で記述する。 すなわち、基準アドレスと一致すべきビット列の範囲を0で表し、 自由な値を取れるビット列の範囲を1で表す方法である。 (これはサブネットマスクの記述方法とまったく逆である。) 以下に、ワイルドカードを使用したIPアクセスリストの作成例を記す。 [標準IPアクセスリスト] Router(config)#access-list 10 deny 172.16.30.64 0.0.0.31 Router(config)#access-list 10 permit any [拡張IPアクセスリスト] Router(config)#access-list 110 deny tcp any 172.16.30.64 0.0.0.31 eq 80 Router(config)#access-list 110 deny tcp any 172.16.30.64 0.0.0.31 eq 21 Router(config)#access-list 110 permit ip any any なお、ワイルドカードが指定するIPアドレス範囲に含まれるホストアドレスの数を、 ブロックサイズと呼ぶ。 ブロックサイズは、常にワイルドカードの値に1を加えた値になる。 ■ Telnet接続の制限 標準IPアクセスリストを作成し、 これをVTYインターフェースに適用することにより、 ルータにTelnet接続できるホストを限定したり、 ルータからTelnet接続できるホストを限定したりすることができる。 通常、IPアクセスリストをインターフェースに適用する場合には、 ip access-groupコマンドを使用するが、 VTYインターフェースに適用する場合には、 access-classという特別なコマンドを使用する。 このとき、in/outのどちらを指定するかによって、 アクセスリストで指定したIPアドレスの意味が異なってくるので注意する。 in / 指定した発信元アドレスからの接続のみ許可(禁止)する。 out/ 指定した送信先アドレスへの接続のみ許可(禁止)する。 Router(config)#access-list 50 permit host 172.16.30.2 Router(config)#line vty 0 4 Router(config-line)#access-class 50 in ■ IPアクセスリストの確認 ルータ上に作成された全てのアクセスリストを表示する。 Router#sh access-list ルータ上に作成されたIPアクセスリストを表示する。 Router#sh ip access-list インターフェースにIPアクセスリストが適用されているか確認する。 Router#sh ip interface ルータ上に作成された全てのアクセスリストと、 インターフェースへの割り当て状況を表示する。 Router#sh running-config ■ IPアクセスリストの削除 ルータ上に作成されたIPアクセスリストを削除する。 Router(config)#no access-list 1 インターフェースに割り当てられたIPアクセスリストを削除する。 Router(config-if)#no ip access-group 1 in ■ 標準IPXアクセスリスト ここからは、IPXで使うアクセスリストについて説明する。 IPXにおいても、IPと同様に、標準/拡張の2種類のアクセスリストがある。 ルータ上に標準IPXアクセスリストを作成する。 標準IPXアクセスリストでは、送信元/宛先ネットワーク番号(ホストアドレス) に基づいてフィルタリングを行なう。 アクセスリスト番号は、800〜899を使用する。 (IPアクセスリストのanyに相当するワイルドカードとしては、-1を使用する。) Router(config)#access-list 810 permit 20 40 特定のインターフェースに標準IPXアクセスリストを適用する。 Router(config-If)#ipx access-group 810 out ■ 拡張IPXアクセスリスト ルータ上に拡張IPXアクセスリストを作成する。 拡張IPXアクセスリストでは、送信元/宛先ネットワーク番号のほか、 上位プロトコルの種類、ソケット番号に基づいてフィルタリングを行なう。 アクセスリスト番号は、900〜999を使用する。 (IPアクセスリストのanyに相当するワイルドカードとしては、-1を使用する。) Router(config)#access-list 910 permit [protocol] 20 [socket] 40 [socket] 特定のインターフェースに拡張IPXアクセスリストを適用する。 Router(config-if)#ipx access-group 910 out ■ IPX SAPフィルター SAPフィルターとは、ルータが、 特定サービスの情報を受信、または転送しないようにするものである。 ルータ上にSAPフィルターを作成する。 SAPフィルターでは、送信元アドレスのほか、 サービスタイプ、サーバ名に基づいてフィルタリングを行なう。 アクセスリスト番号は、1000〜1099を使用する。 Router(config)#access-list 1010 permit -1 4 Netware SAPフィルターをインターフェースに適用する。 受信を拒否する場合はinput-sap-filterコマンドを、 転送を拒否する場合はoutput-sap-filterコマンドを使用する。 なお、SAPフィルターは一般に、送信元にできるだけ近い所に適用する。 [受信拒否] Router(config-if)#ipx input-sap-filter 1010 [転送拒否] Router(config-if)#ipx output-sap-filter 1010 ■ IPXアクセスリストの確認 ルータ上に作成された全てのアクセスリストを表示する。 Router#sh access-list ルータ上に作成されたIPXアクセスリストを表示する。 Router#sh ipx access-list インターフェースへのIPXアクセスリストが適用されているか確認する。 Router#sh ipx interface ルータ上に作成された全てのアクセスリストと、 インターフェースへの割り当て状況を表示する。 Router#sh running-config ■ アクセスリスト番号のまとめ 上記で説明した各アクセスリストが使用する、 アクセスリスト番号の範囲について、以下に再掲整理する。 +--------------------+---------------------------+ | アクセスリスト番号 | アクセスリストの種類 | +--------------------+---------------------------+ | 1〜99 | 標準IPアクセスリスト | +--------------------+---------------------------+ | 100〜199 | 拡張IPアクセスリスト | +--------------------+---------------------------+ | 800〜899 | 標準IPXアクセスリスト | +--------------------+---------------------------+ | 900〜999 | 拡張IPXアクセスリスト | +--------------------+---------------------------+ | 1000〜1099 | IPX SAPフィルター | +--------------------+---------------------------+ ■ 名前付きアクセスリストについて 補足。IOSリリース11.2以降では、 名前付きアクセスリストを使用できるようになった。 名前付きアクセスリストとは、アクセスリストを識別するために、 アクセスリスト番号の代わりに、名前(英数字文字列)を使うものである。 IPとIPXの両方のアクセスリストをサポートしている。 具体的な名前付きアクセスリストの作成方法。 まず、標準(standard)と拡張(extended)の区別を示し、 続けてアクセスリストの名前を指定する。 Router(config)#ip access-list standard [name] deny host 172.16.30.2 Router(config)#ip access-list extended [name] deny tcp any host ・・・ なお、名前付きアクセスリストでは、 アクセスリスト中の特定のステートメントだけを、後から削除することができる。 以上。 2004/01/05 pm