[index] CentreCOM AR550S コマンドリファレンス 2.9

# IP/IPフィルター

      - 基本動作
       - フィルターの構成
       - フィルター処理の流れ
        - 概要
        - 詳細
      - 設定手順
       - フィルタリング条件の指定
       - 処理内容の指定
       - マッチしたパケットの記録
       - インターフェースへの適用
       - フィルターの削除
      - トラフィックフィルターの設定例
      - ポリシーフィルターの設定例
      - プライオリティーフィルターの設定例
      - その他

> Note - 以下の説明内容は、旧バージョン仕様のものです。最新バージョンでは、任意の番号のIDに対して、IPフィルターの種類を設定できるよう拡張されています。（参照：ADD IP FILTERコマンドのTYPEパラメーター）

IPフィルターは、送受信インターフェースにおいてIPパケットのフィルタリングを行う機能です。
ここでのフィルタリングとは、IPおよび上位プロトコルヘッダーの情報に基づいてパケットをふるいわけ、一定の条件を満たしたパケットに対して何らかの処理を行うことを意味します。
IPフィルターの機能は、ふるいわけ後の処理内容によって次の3つに分類できます。

表 1
種類 | フィルター番号 | 機能
トラフィックフィルター | 0〜99 | 受信パケットのヘッダー情報に基づき、パケットを破棄または許可する。不正アクセスを防ぐなど、おもにセキュリティーを高めるために使用する
ポリシーフィルター | 100〜199 | 受信パケットのヘッダー情報に基づき、パケットに内部的な経路選択ポリシー（サービスタイプ）を割り当て、経路選択時の動作に影響を与える。別途、サービスタイプ指定の経路エントリーを作成することにより、パケットごとに異なる経路をとらせることができる（ポリシールーティング）。また、パケットのTOSビット（D、T、R）書き換えも可
プライオリティーフィルター | 200〜299 | 送信パケットのヘッダー情報に基づき、出力時の絶対優先度を設定する。特定のアプリケーショントラフィックを最優先で出力するような設定ができる（プライオリティールーティング）

> Note - プライオリティーフィルターは送信側インターフェースに設定するため、Firewall NATやIP NATと併用時、フィルターの条件にソースアドレスを指定する場合、NAT変換後のアドレスを指定する必要があります。

> Note - Eth/PPPoEインターフェースでプライオリティーフィルターが動作する条件は、受信インターフェースの速度の合計より送信インターフェースの速度の合計が小さい場合になりますのでご注意ください。(例1) 100Mbpsの受信インターフェース1つに対して、10Mbpsの送信インターフェースが1つあるとき。 (例2) 100Mbpsの受信インターフェース2つに対して、100Mbpsの送信インターフェースが1つあるとき。

> Note - QoS機能とプライオリティーフィルターは併用できません。

> Note - IPsec、L2TPなどパケットのカプセリングを行う機能と併用時、フィルターはカプセリング処理後のパケットに対して適用されます。

> Note - 上記以外にフィルター番号300〜399も使用できますが、この範囲はBGP-4の経路交換を制御するプレフィックスフィルター用の番号であり、パケットフィルタリングとは異なるためここでは扱いません。プレフィックスフィルターの使用方法については「IP」/「経路制御（BGP-4）」をご覧ください。

基本動作

IPフィルターの基本動作について説明します。

フィルターの構成

IPフィルターは、複数のフィルターエントリーで構成されるリストです。各フィルターはフィルター番号で、フィルター内の各エントリーはエントリー番号で識別します。
また、フィルター番号はフィルターの種類（トラフィックフィルター、ポリシーフィルター、プライオリティーフィルター）によって使用できる範囲が決まっています。
個々のフィルターエントリーでは、パケットをふるいわけるための条件と、マッチ時のアクションを指定します。アクションはフィルターの種類によって異なります。

作成可能なフィルター数は次のとおりです。

- トラフィックフィルター100個（フィルター番号0〜99）
- ポリシーフィルター100個（フィルター番号100〜199）
- プライオリティーフィルター100個（フィルター番号200〜299）

各フィルターに追加できるエントリー数（エントリー番号1〜）は空きメモリー容量により変化します。
作成したフィルターは、IPインターフェースに適用して初めて効果を発揮します。フィルターの条件チェック（ふるいわけ）は、トラフィックフィルターとポリシーフィルターは受信インターフェース、プライオリティーフィルターは送信インターフェースで行われます。
一方、フィルターの効果は、トラフィックフィルターでは受信直後（破棄・許可）、ポリシーフィルターでは受信直後（TOSビット書き換え）と経路表検索時（サービスタイプに基づく経路選択）、プライオリティーフィルターでは出力時（優先度の高いものから出力）に現れます。
IPインターフェースには、トラフィックフィルター、ポリシーフィルター、プライオリティーフィルターをそれぞれ1つずつ適用できます。同じフィルターを複数のインターフェースに割り当ててもかまいません。

フィルター処理の流れ

#### 概要

IPフィルターの処理内容は、次の2段階に大きく分けられます。

1. 受信（入力）IPインターフェース（トラフィック、ポリシーフィルター）または送信（出力）IPインターフェース（プライオリティーフィルター）において、ヘッダー情報（IPアドレス、ポート番号など）に基づきパケットをふるいわける（フィルタリング）
2. 選別されたパケットに対してなんらかの処理（破棄、経路選択ポリシー設定、優先度設定など）を実行する

トラフィックフィルター、ポリシーフィルター、プライオリティーフィルターは2の処理内容が異なるだけであり、パケットを選別するプロセスは共通です。

#### 詳細

IPフィルターの詳細な処理順序について説明します。
ルーターの基本動作をパケット受信、経路選択（転送先決定）、送信の3ステップに分けた場合、トラフィックフィルターとポリシーフィルターのチェックはパケット受信時、プライオリティーフィルターのチェックはパケット送信時に行われます。

> Note - 以下の説明は、設定上の便宜を最優先して書いたものであり、実際の内部動作を正確に記述したものではありません。あらかじめご了承ください。

1. IPパケットを受信すると、受信インターフェースに適用されているフィルターを、トラフィックフィルター、ポリシーフィルターの順にチェックします。
2. 受信インターフェースにトラフィックフィルターが適用されている場合、フィルター内の各エントリーをエントリー番号の若い順にチェックし、受信パケットのヘッダー情報と一致するものがあるかどうかを調べていきます。
   受信インターフェースにトラフィックフィルターが適用されていない場合は、ポリシーフィルターのチェックに移ります。
   1. マッチするエントリーが見つかった場合は、該当エントリーのACTIONパラメーターで指定されている処理（アクション）を実行します。トラフィックフィルターでは、最初にマッチしたエントリーが適用されます。
      - EXCLUDE（破棄）の場合はパケットを破棄し、該当パケットの処理を完了します。
      - INCLUDE（許可）の場合はトラフィックフィルターのチェックを終了し、ポリシーフィルターのチェックに移ります。
   2. すべてのエントリーをチェックしてもマッチするエントリーが見つからなかった場合は、パケットを破棄して該当パケットの処理を完了します。このように、トラフィックフィルターの末尾には「すべてを破棄する」暗黙のエントリーが存在するので、フィルター作成時には注意が必要です。
3. 受信インターフェースにポリシーフィルターが適用されている場合、フィルター内の各エントリーをエントリー番号の若い順にチェックし、受信パケットのヘッダー情報と一致するものがあるかどうかを調べていきます。
   受信インターフェースにポリシーフィルターが適用されていない場合は、受信インターフェースにおけるIPフィルター処理を完了し、通常のパケット処理（転送先決定など）に移ります。
   1. マッチするエントリーが見つかった場合は、該当エントリーのPOLICYパラメーターの指定に基づき、経路選択ポリシー（0〜7）をパケットに割り当てます。ポリシーフィルターでは、最初にマッチしたエントリーが適用されます。
      - POLICYパラメーターの値（ここでは「P」とします）が0〜7の場合は、経路選択ポリシー「P」をパケットに割り当てます。
      - POLICYパラメーターの値が8〜15の場合は、経路選択ポリシー「P - 8」をパケットに割り当て、さらにパケットのTOSビット（D、T、R）を「P - 8」に書き換えます。たとえば、マッチしたエントリーのPOLICYパラメーターが10であれば、経路選択ポリシーは2（10 - 8）になります。また、TOSビットも2（D=0、T=1、R=0）に書き換えられます。
      ここで割り当てる経路選択ポリシーは、経路選択時にのみ使用する内部的な値です。同一宛先に対し、サービスタイプの異なる経路エントリーを複数作成しておくことにより、パケットごとに異なる経路をとらせることができます。

      > Note - 経路エントリーの作成はADD IP ROUTEコマンドで行います。また、経路エントリーのサービスタイプ（0〜7）は同コマンドのPOLICYパラメーターで指定します。

   2. すべてのエントリーをチェックしてもマッチするエントリーが見つからなかった場合は、受信インターフェースにおけるIPフィルター処理を完了し、通常のパケット処理（転送先決定など）に移ります。
4. パケットの最終宛先がルーター自身でない場合、経路表を検索して転送先（送信インターフェースとネクストホップアドレス）を決定します。このとき、パケットに割り当てられた経路選択ポリシー値と経路エントリーのサービスタイプ（0〜7）が比較され、マッチした経路が優先的に使用されます。経路表に該当するサービスタイプの経路がないときは、デフォルトサービスタイプ（0）の経路エントリーが使用されます。また、ポリシーフィルターにマッチしなかったパケットはポリシー値0を持つものとみなされます。転送先が決定すると、パケット送信のための処理に移ります。
5. 送信インターフェースにプライオリティーフィルターが適用されている場合、フィルター内の各エントリーをエントリー番号の若い順にチェックし、送信パケットのヘッダー情報と一致するものがあるかどうかを調べていきます。
   送信インターフェースにプライオリティーフィルターが適用されていない場合は、通常の優先度でパケットを出力し、IP層の出力処理を完了します。
   1. マッチするエントリーが見つかった場合は、該当エントリーのPRIORITYパラメーターで指定されている優先度をパケットに割り当てます。パケットの出力は、つねに優先度の高いパケットから順に行われます。より高い優先度を持つパケットがある場合、下位のパケットは送信されません。これにより、特定のパケット（たとえばUDPのビデオストリーム）を最優先で送信するような設定が可能です。プライオリティーフィルターでは、最初にマッチしたエントリーが適用されます。
   2. すべてのエントリーをチェックしてもマッチするエントリーが見つからなかった場合は、送信インターフェースにおけるIPフィルター処理を完了し、通常の優先度でパケットを出力します。

設定手順

IPフィルターの設定は、次の流れで行います。

1. フィルターの作成
   パケットのフィルタリング条件を指定し、マッチしたときのアクション（トラフィックフィルター）、経路選択ポリシー（ポリシーフィルター）、優先度（プライオリティーフィルター）を指定します。フィルターはADD IP FILTERコマンド/SET IP FILTERコマンドで作成・編集します。
2. インターフェースへの適用
   作成したフィルターをIPインターフェースに適用します。フィルターを作成しただけではフィルタリングが行われないので注意してください。フィルターの条件チェック（ふるいわけ）は、トラフィックフィルターとポリシーフィルターは受信インターフェース、プライオリティーフィルターは送信インターフェースで行われます。一方、フィルターの効果がいつ現れるかはフィルターの種類によって異なります。フィルターの適用はADD IP INTERFACEコマンド/SET IP INTERFACEコマンドで行います。
   IPインターフェースには、トラフィックフィルター、ポリシーフィルター、プライオリティーフィルターをそれぞれ1つずつ適用できます。1つのフィルターを複数のインターフェースに割り当ててもかまいません。

以下、各手順について詳しく解説します。

フィルタリング条件の指定

パケットをふるいわけるためのパラメーターとしては、以下のものがあります。これらはフィルターの種類に関係なく共通です。

表 2：IPフィルターの条件パラメーター
パラメーター | 説明
SOURCE | 始点IPアドレス。必須パラメーター
SMASK | 始点マスク（始点IPアドレスに対するマスク）
DESTINATION | 終点IPアドレス
DMASK | 終点マスク（終点IPアドレスに対するマスク）
PROTOCOL | IPの上位プロトコル
OPTIONS | IPオプション付きかどうか
SIZE | フラグメント再構成後の最大データグラムサイズ
SPORT | 始点TCP/UDPポート
DPORT | 終点TCP/UDPポート
ICMPTYPE | ICMPメッセージタイプ
ICMPCODE | ICMPサブコード
SESSION | TCPセッションの方向。すべて、接続開始（Syn=1、Ack=0）、接続済み（Ack=1）から選択する

以下、条件指定の部分だけの例を挙げます。
SOURCEパラメーター（始点アドレス）は必須です。任意の始点アドレスを対象とするときは、SOURCE=0.0.0.0のように指定します。また、SOURCEに有効なアドレス（0.0.0.0以外）を指定するときは、必ずSMASKパラメーターでネットマスクも指定してください。
■ ホスト192.168.20.100からのIPパケット

`SOURCE=192.168.20.100 SMASK=255.255.255.255 ↓`

■ ホスト10.10.10.1宛てのIPパケット

`SOURCE=0.0.0.0 DESTINATION=10.10.10.1 ↓`

> Note - DMASK省略時は255.255.255.255（ホスト）と見なされます。

■ サブネット172.16.20.0/24からのパケット

`SOURCE=172.16.20.0 SMASK=255.255.255.0 ↓`

■ サブネット10.10.10.0/24宛てのパケット

`SOURCE=0.0.0.0 DESTINATION=10.10.10.0 DMASK=255.255.255.0 ↓`

■ すべてのIPパケット

`SOURCE=0.0.0.0 ↓`

■ すべてのTCPパケット

`SOURCE=0.0.0.0 PROTOCOL=TCP ↓`

■ すべてのPing（ICMP echo）パケット

`SOURCE=0.0.0.0 PROTOCOL=ICMP ICMPTYPE=ECHO ↓`

■ Webサーバー192.168.10.5からの接続済みHTTPパケット

`SOURCE=192.168.10.5 SMASK=255.255.255.255 PROTOCOL=TCP SPORT=80 SESSION=ESTABLISHED ↓`

■ 10.1.2.3宛てのPing（ICMP echo）パケット

`SOURCE=0.0.0.0 DESTINATION=10.1.2.3 PROTOCOL=ICMP ICMPTYPE=ECHO ↓`

> Note - SMASKまたは、DMASKパラメーターで指定したサブネットマスク長に対応するネットワークアドレスが、SOURCEまたは、DESTINATIONパラメーターで設定されていない場合フィルタールールにマッチしません。

処理内容の指定

処理内容の指定方法は、フィルターの種類によって異なります。

表 3：IPフィルターの処理内容パラメーター
フィルターの種類 | パラメーター | 指定内容
トラフィックフィルター（0〜99） | ACTION | EXCLUDE（パケットを破棄する）かINCLUDE（通過させる）を選択する。トラフィックフィルターは、エントリーリストの末尾に「すべてを破棄」する暗黙のエントリーが存在するので、「デフォルト拒否」のフィルターを作成するときは、例外的に許可するルールだけを記述すればよい。一方、「デフォルト許可」のフィルターを作成するときは、拒否するトラフィックのルールを列挙した上で、リストの最後に「すべて許可」のルールを必ず作成すること。そうでないと、暗黙の「すべて破棄」ルールによってすべてのトラフィックが拒否されてしまう。トラフィックフィルターは受信インターフェースで条件のチェックが行われ、マッチした場合はただちにアクションが実行される
ポリシーフィルター（100〜199） | POLICY | パケットに割り当てる「経路選択ポリシー」を指定する。経路選択ポリシー値の範囲は0〜7だが、POLICYパラメーターには0〜15の範囲を指定することができる。0〜7を指定した場合は、指定値がそのまま経路選択ポリシー値となる。8〜15を指定した場合は、経路選択ポリシーとして「POLICY - 8」を割り当て、さらに、パケットのTOSビット（D、T、R）を「POLICY - 8」に書き換える。たとえば、ポリシーフィルターのエントリー作成時に「POLICY=15」を指定した場合、該当エントリーにマッチしたパケットには経路選択ポリシー「7」（15 - 8）が割り当てられ、TOSビットも7（15 - 8）、すなわち、「D=1、T=1、R=1」に書き換えられる。経路選択時には、パケットに割り当てられた経路選択ポリシー値と経路エントリーのサービスタイプ（0〜7）が比較され、マッチした経路が優先的に使用される。経路表に該当するサービスタイプの経路がないときは、デフォルトサービスタイプ（0）の経路エントリーが使用される。ポリシーフィルターにマッチしなかったパケットはポリシー値0を持つものとみなされる。また、登録時にサービスタイプを指定しなかった経路エントリーはサービスタイプ0とみなされる。ポリシーフィルターは受信インターフェースで条件のチェックとポリシー値の付与（とオプションでTOSビットの書き換え）が行われ、経路選択時にポリシー値に基づいた選択が行われる
プライオリティーフィルター（200〜299） | PRIORITY | パケット送信時の絶対優先度をP0（最高）〜P7（最低）で指定する。パケットの送信は、つねに優先度の高いパケットから順に行われる。上位のパケットがある限り、下位のパケットは送信されない。プライオリティーフィルターは送信インターフェースで条件のチェックが行われ、マッチした場合はフィルターが設定した優先度に基づいてパケットの送信順序が決められる

以下、条件指定の例と処理内容の例を組み合わせた、完全なコマンド行の例を示します。
■ ネットワーク172.16.20.0/24からのパケットを破棄するトラフィックフィルターを作成する。

`ADD IP FILTER=0 SOURCE=172.16.20.0 SMASK=255.255.255.0 ACTION=EXCLUDE ↓`

■ すべてのTCPトラフィックに経路選択ポリシー「1」を設定する。

`ADD IP FILTER=100 SOURCE=0.0.0.0 PROTOCOL=TCP POLICY=1 ↓`

■ ホスト192.168.10.100からのパケットに経路選択ポリシー「7」（= 15 - 8）を設定し、パケットのTOSビット（TOSオクテットのD、T、Rビット）を7（= 15 - 8）に書き換える。

`ADD IP FILTER=100 SOURCE=192.168.10.100 SMASK=255.255.255.255 POLICY=15 ↓`

192.168.10.100からのパケットを他のパケットとは別経路で送信したいときは、たとえば次のような経路エントリーを登録してください。

`ADD IP ROUTE=0.0.0.0 INT=ppp0 NEXT=0.0.0.0 ↓
ADD IP ROUTE=0.0.0.0 INT=ppp1 NEXT=0.0.0.0 POLICY=7 ↓
`

192.168.10.100からのパケットには経路選択ポリシー「7」が割り当てられるため、デフォルト経路の選択では2番目の経路エントリーが選択されます。結果的に同パケットは、ppp1インターフェースから送出されます。
一方、その他のパケット（ポリシーフィルターにマッチしなかったパケット）は、デフォルトの経路選択ポリシー「0」を持つものとして扱われます。よって、デフォルト経路の選択では1番目の経路エントリーが選択され、ppp0インターフェースから送出されます。

> Note - ADD IP ROUTEコマンドでスタティック経路を登録する際にPOLICYパラメーターを省略した場合、同経路のサービスタイプは「0」となります。

> Note - パケットに割り当てられているのと同じポリシー値（サービスタイプ）を持つ経路エントリーがないときは、デフォルトサービスタイプ（0）の経路エントリーが使用されます。

ADD IP FILTERコマンドのPOLICYパラメーターに指定した値（0〜15）と、パケットに割り当てられる経路選択ポリシー値（0〜7）、TOSビット書き換えの有無と書き換え後の値の関係を次の表にまとめます。

表 4：POLICYパラメーターの指定値とその効果
POLICYに指定した値 | パケットに割り当てる経路選択ポリシー | TOSビットの書き換え
0 | 0 | しない
1 | 1 | しない
2 | 2 | しない
3 | 3 | しない
4 | 4 | しない
5 | 5 | しない
6 | 6 | しない
7 | 7 | しない
8 | 0（8 - 8） | 0（D=0, T=0, M=0）
9 | 1（9 - 8） | 1（D=0, T=0, M=1）
10 | 2（10 - 8） | 2（D=0, T=1, M=0）
11 | 3（11 - 8） | 3（D=0, T=1, M=1）
12 | 4（12 - 8） | 4（D=1, T=0, M=0）
13 | 5（13 - 8） | 5（D=1, T=0, M=1）
14 | 6（14 - 8） | 6（D=1, T=1, M=0）
15 | 7（15 - 8） | 7（D=1, T=1, M=1）

- 「POLICYに指定した値」とは、ADD IP FILTERコマンドのPOLICYパラメーターに指定した値（0〜15）のことです。
- 「パケットに割り当てる経路選択ポリシー」とは、該当エントリーにマッチしたパケットに割り当てられる内部的な経路選択ポリシー値（サービスタイプ値）のことです。経路表を検索するときは、この値と経路エントリーのサービスタイプが比較され、一致したものが優先的に使用されます。経路エントリーのサービスタイプ値は、ADD IP ROUTEコマンドのPOLICYパラメーターで指定できます（0〜7）。
- 「TOSビットの書き換え」とは、該当エントリーにマッチしたパケットのTOSビットを書き換えるかどうか、書き換える場合はどのような値に書き換えるかを示します。

■ Telnetトラフィックを最優先で転送する。

`ADD IP FITLER=200 SOURCE=0.0.0.0 PROTOCOL=TCP DPORT=23 PRIORITY=P0 ↓`

マッチしたパケットの記録

トラフィックフィルターでは、マッチしたパケットをログに記録するよう設定することもできます。これには、ADD IP FILTERコマンドのLOGパラメーターを使います。LOGパラメーターを指定しなかった場合は、ログには記録されません。

表 5：LOGオプションの指定値と記録される情報
値 | ログタイプ/サブタイプ | 記録される情報
NONE |  | 記録しない（デフォルト）
4〜1600 | 「IPFIL/PASS」（INCLUDE時）、「IPFIL/FAIL」（EXCLUDE時） | フィルター番号、エントリー番号、IPヘッダー情報（IPアドレス、プロトコル、ポート番号、サイズ）
「IPFIL/DUMP」 | TCP/UDP/ICMPの場合はデータ部分の先頭4〜1600バイト。その他プロトコルの場合はIPデータの先頭4〜1600バイト
DUMP | 「IPFIL/PASS」（INCLUDE時）、「IPFIL/FAIL」（EXCLUDE時） | フィルター番号、エントリー番号、IPヘッダー情報（IPアドレス、プロトコル、ポート番号、サイズ）
「IPFIL/DUMP」 | TCP/UDP/ICMPの場合はデータ部分の先頭32バイト。その他プロトコルの場合はIPデータの先頭32バイト。「LOG=32」と指定した場合と同じ
HEADER | 「IPFIL/PASS」（INCLUDE時）、「IPFIL/FAIL」（EXCLUDE時） | フィルター番号、エントリー番号、IPヘッダー情報（IPアドレス、プロトコル、ポート番号、サイズ）

■ フィルター「2」のエントリー「1」（2/1）により許可（Pass）。IPアドレスは始点が192.168.20.100で、終点が192.168.10.100。プロトコルはTCPで、始点ポート1040、終点ポート21。セッション開始パケット（Start）。サイズは44バイト（44:0）。

    16 22:52:29 3 IPG  IPFIL PASS  2/1 Pass 192.168.20.100>192.168.10.100 TCP
                                   1040>21 Start 44:0

このログは次のフィルターエントリーにマッチしたときのものです。

`ADD IP FILT=2 SO=192.168.20.100 SMA=255.255.255.255 DEST=192.168.10.100 DMA=255.255.255.255 AC=INCLUDE ↓
SET IP FILT=2 ENTRY=1 PROTO=TCP DPORT=FTP LOG=HEADER ↓
`

■ フィルター「2」のエントリー「3」（2/3）により拒否（Fail）。IPアドレスは始点が192.168.20.100で、終点が192.168.10.100。プロトコルはTCPで、始点ポート1042、終点ポート23。セッション開始パケット（Start）。サイズは44バイト（44:0）。

    16 22:59:48 3 IPG  IPFIL FAIL  2/3 Fail 192.168.20.100>192.168.10.100 TCP
                                   1042>23 Start 44:0

このログは次のフィルターエントリーにマッチしたときのものです。

`ADD IP FILT=2 SO=0.0.0.0 DPORT=23 PROTO=TCP AC=EXCLUDE LOG=HEADER ↓
`

■ フィルター「0」のエントリー「1」（0/1）により拒否（Fail）。IPアドレスは始点が192.168.20.100で、終点が192.168.20.1。プロトコルはICMPで、タイプが8、コードは0（8/0）。サイズは1328:1304バイト（1328:1304）。

    16 23:04:03 3 IPG  IPFIL FAIL  0/1 Fail 192.168.20.100>192.168.20.1 ICMP 8/0
                                   1328:1304

このログは次のフィルターエントリーにマッチしたときのものです。

`ADD IP FILT=0 AC=EXCLUDE LOG=HEADER SO=0.0.0.0 PROTO=ICMP ICMPTYPE=ECHO ↓
`

インターフェースへの適用

作成したフィルターはIPインターフェースに適用して初めて効果を発揮します。トラフィックフィルター、ポリシーフィルターは受信インターフェースに、プライオリティーフィルターは送信インターフェースに適用してください。すでに存在するインターフェースにフィルターを割り当てるときはSET IP INTERFACEコマンドを使います。
IPインターフェースには、トラフィックフィルター、ポリシーフィルター、プライオリティーフィルターをそれぞれ1つずつ適用できます。1つのフィルターを複数のインターフェースに割り当ててもかまいません。
■ トラフィックフィルター「0」をppp0に割り当て。

`SET IP INT=ppp0 FILTER=0 ↓`

■ ポリシーフィルター「100」をvlan1に割り当て。

`SET IP INT=vlan1 POLICYFILTER=100 ↓`

■ プライオリティーフィルター「200」をppp0に割り当て。

`SET IP INT=pp0 PRIORITYFILTER=200 ↓`

■ フィルターの適用をとりやめるには、フィルター番号の代わりにキーワードNONEを指定します。

`SET IP INT=ppp0 FILTER=NONE ↓`

基本は以上です。各フィルタータイプの詳細設定については、以下の各節をご覧ください。

フィルターの削除

■ IPフィルターから特定のエントリーを削除するには、DELETE IP FILTERコマンドを使います。エントリー番号は可変なので、削除時には必ずSHOW IP FILTERコマンドで希望するエントリーの番号を調べてから指定してください。

`DELETE IP FILTER=10 ENTRY=2 ↓`

> Note - エントリーを削除しても、他のエントリーの番号は変わりません。

■ フィルター内の全エントリーを削除するには、ALLを指定します。

`DELETE IP FILTER=10 ENTRY=ALL ↓`

■ インターフェースに設定したフィルターの適用を取りやめるには、SET IP INTERFACEコマンドのFILTER、POLICYFILTER、PRIORITYFILTERパラメーターにNONEを指定します。

`SET IP INT=vlan1 POLICYFILTER=NONE ↓`

トラフィックフィルターの設定例

トラフィックフィルターは、受信IPインターフェースにおいて、ヘッダー情報に基づきパケットの破棄・通過を決定するフィルターです。トラフィックフィルターにはフィルター番号0〜99番を割り当てます。
■ 192.168.20.7からのパケットだけをvlan1インターフェースで拒否するには次のようにします。その他のIPトラフィックはすべて許可します。いわゆる「デフォルト許可」の設定になります。

`ADD IP FILTER=0 SOURCE=192.168.20.7 SMASK=255.255.255.255 ACTION=EXCLUDE ↓
ADD IP FILTER=0 SOURCE=0.0.0.0 ACTION=INCLUDE ↓
SET IP INT=vlan1 FILTER=0 ↓
`

「デフォルト許可」の設定では、拒否するパターンだけを記述します（1行目）。ただし、トラフィックフィルターのエントリーリストの末尾には、「すべて破棄」を意味する暗黙のエントリーが存在しているため、拒否パターンの後に必ず「すべて許可」のエントリーを明示的に作成する必要があります（2行目）。拒否パターンだけを書くとすべてのトラフィックが拒否されてしまいますのでご注意ください。
なお、vlan1側に192.168.20.0/24しかサブネットがない場合は、2行目を次のように書いた方が不正なパケットを遮断できるのでより好ましいかもしれません。

`ADD IP FILTER=0 SOURCE=192.168.20.0 SMASK=255.255.255.0 ACTION=INCLUDE ↓`

3行目では、作成したフィルター「0」をIPインターフェースvlan1に適用しています。フィルターはインターフェースに適用して初めて効果を持ちます。
■ フィルターにかかったパケットをログに記録するには、LOGパラメーターを使います。LOGパラメーターはエントリーごとに設定するものです。つまり、該当エントリーにマッチしたパケットがログに記録されます。トラフィックフィルター「0」の先頭エントリー（エントリー番号「1」）にマッチしたパケットをログに記録するには次のようにします。

`SET IP FILTER=0 ENTRY=1 LOG=HEADER ↓`

> Note - エントリー番号は可変なので、必ずSHOW IP FILTERコマンドで希望するエントリーの番号を調べてから指定してください。

■ vlan1では原則すべてのパケットを遮断し、192.168.20.7から192.168.10.5のTelnetサービスへのパケットだけを通過させるよう設定するには、次のようにします。いわゆる「デフォルト拒否」の設定です。

`ADD IP FILT=1 SO=192.168.20.7 SMA=255.255.255.255 DEST=192.168.10.5 DMA=255.255.255.255 AC=INCLUDE ↓
SET IP FILT=1 ENTRY=1 PROTO=TCP DPORT=TELNET ↓
SET IP INT=vlan1 FILTER=1 ↓
`

「デフォルト拒否」の設定では、許可するパターンだけを記述します。トラフィックフィルターのエントリーリスト末尾には、「すべて破棄」を意味する暗黙のエントリーが存在しているため、拒否パターンを明示的に書く必要はありません。明示的に許可しなかったトラフィックは何もしなくても破棄されます。
■ 2つのインターフェースの片側からのみTCPの通信を開始できるようにするには、SESSIONパラメーターを使います。ここでは、vlan1側（192.168.20.0/24）からのみTCPセッションを開始できるように設定します。eth0側（192.168.10.0/24）からのTCPパケットは、すでにセッションが開始されている場合（Ackフラグが立っているとき）に限って許可します。

`ADD IP FILT=0 SO=192.168.10.0 SMA=255.255.255.0 DES=192.168.20.0 DMA=255.255.255.0 PROTO=TCP SESS=ESTAB AC=INCLUDE ↓
SET IP INT=eth0 FILTER=0 ↓
ADD IP FILT=1 SO=192.168.20.0 SMA=255.255.255.0 DES=192.168.10.0 DMA=255.255.255.0 PROTO=TCP SESS=ANY AC=INCLUDE ↓
SET IP INT=vlan1 FILTER=1 ↓
`

ポリシーフィルターの設定例

ポリシーフィルターは、受信パケットのヘッダー情報に基づき、パケットに内部的な経路選択ポリシー（サービスタイプ）を割り当て、経路選択時の動作に影響を与えるフィルターです。別途、サービスタイプ指定の経路エントリーを作成することにより、パケットごとに異なる経路をとらせることができます。また、オプションでパケットのTOSビット（TOSオクテットのD、T、Rビット）を書き換えることもできます。ポリシーフィルターには、フィルター番号100〜199番を割り当てます。
■ 192.168.10.100から192.168.20.0/24宛てのパケットだけを、CIR値の高いDLC（16）経由でルーティングするには次のようにします。その他のパケットはDLC（17）経由で送信します。

`ADD IP FILT=100 SO=192.168.10.100 SM=255.255.255.255 DEST=192.168.20.0 DM=255.255.255.0 POLICY=1 ↓
ADD IP FILT=100 SO=0.0.0.0 DEST=192.168.20.0 DMA=255.255.255.0 POLICY=2 ↓
SET IP INT=vlan1 POLICYFILTER=100 ↓
ADD IP ROUTE=192.168.20.0 MASK=255.255.255.0 INTERFACE=fr0 NEXT=192.168.100.2 DLC=16 POLICY=1 ↓
ADD IP ROUTE=192.168.20.0 MASK=255.255.255.0 INTERFACE=fr0 NEXT=192.168.100.2 DLC=17 POLICY=2 ↓
`

この例では、192.168.10.100から192.168.20.0/24宛てのパケットに経路選択ポリシー「1」を割り当て（1行目）、その他のパケットにはポリシー「2」を設定しています（2行目）。作成したポリシーフィルターをvlan1に適用したのち（3行目）、192.168.20.0/24へのスタティック経路をポリシーごとに2つ登録し、それぞれ経由するDLCを異ならせています（4〜5行目）。

プライオリティーフィルターの設定例

プライオリティーフィルターは、送信パケットのヘッダー情報に基づき、パケット送信時の絶対優先度を設定するフィルターです。特定のトラフィックを最優先で送信するよう設定できます。プライオリティーフィルターには、フィルター番号200〜299番を割り当てます。
■ ネットワーク192.168.20.0/24側のSSHクライアントとSSHサーバー（192.168.10.5）の間のトラフィックを最優先（P0）で送信し、その他のIPトラフィックは最低の優先度（P7）で送信するプライオリティーフィルターを設定するには次のようにします。

`ADD IP FILT=200 SO=192.168.20.0 SMA=255.255.255.0 DEST=192.168.10.5 DMA=255.255.255.255 PROTO=TCP DPORT=22 PRIORITY=P0 ↓
ADD IP FILT=200 SO=192.168.20.0 SMA=255.255.255.0 PROTO=ANY PRIORITY=P7 ↓
SET IP INT=ppp0 PRIORITYFILTER=200 ↓
`

その他

■ IPフィルターはパラメーターが多く、コマンドが長くなりがちです。コマンドラインの入力文字数制限により入力できない場合は、コマンドの省略形を使って入力するか、コマンドを複数行に分割するなどして対処してください。詳細は「運用・管理」/「コマンドプロセッサー」をご覧ください。
■ コマンドパラメーターの詳細についてはコマンドリファレンス編をご覧ください。
■ IPフィルターの設定状況を確認するにはSHOW IP FILTERコマンドを使います。

`SHOW IP FILTER ↓`

■ どのIPインターフェースにどのIPフィルターが適用されているかを確認するにはSHOW IP INTERFACEコマンドを使います。

`SHOW IP INT ↓`

(C) 2005-2012 アライドテレシスホールディングス株式会社

PN: J613-M0710-03 Rev.H