[index] CentreCOM 8700SLシリーズ コマンドリファレンス 2.9

# IP/ソフトウェアIPフィルター

      - 基本動作
       - フィルターの構成
       - フィルター処理の流れ
        - 概要
        - 詳細
      - 設定手順
       - フィルタリング条件の指定
       - 処理内容の指定
       - マッチしたパケットの記録
       - インターフェースへの適用
       - フィルターの削除
      - トラフィックフィルターの設定例
       - 特定ホストのみ拒否
       - 特定のホスト/サービスのみ許可
       - 片方向TCP通信
      - ポリシーフィルターの設定例
       - IPアドレスによるポリシーベースルーティング
      - その他

ソフトウェアIPフィルターは、受信インターフェースにおいてIPパケットのフィルタリングを行う機能です。

> Note - ソフトウェアIPフィルターとハードウェアIPフィルターを同時に使用することはできません。

ここでのフィルタリングとは、IPヘッダーの情報に基づいてパケットをふるいわけ、一定の条件を満たしたパケットに対して何らかの処理を行うことを意味します。
ソフトウェアIPフィルターの機能は、ふるいわけ後の処理内容によって次の2つに分類できます。

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

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

> Note - ソフトウェアIPフィルターはCPUを用いてソフトウェア的に処理されます。そのため、通常のハードウェアルーティング使用時に比べてパフォーマンスが低下します。スループット等を重視する場合は、ハードウェアIPフィルターのご使用をお勧めします。一方、ソフトウェアIPフィルターの利点としては、ハードウェアIPフィルターよりも柔軟な設定が可能なことや、パケットのログをとれること、ポリシーフィルターによる経路選択フィルターとして使用できる点が挙げられます。

> Note - ソフトウェアIPフィルターによってフィルタリングできるのは、IPルーティングの対象となるパケット（VLANを越えるパケット）だけです。一方、ハードウェアIPフィルターは、同一VLAN内でスイッチングされるパケットに対しても有効です。

基本動作

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

フィルターの構成

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

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

- トラフィックフィルター100個（フィルター番号0〜99）
- ポリシーフィルター100個（フィルター番号100〜199）

1つのフィルターに対してエントリー番号は1〜3071の範囲で指定できますが、実際に設定するエントリーの数は255個以内を推奨します。
作成したフィルターは、受信IPインターフェース（VLAN）に適用して初めて効果を発揮します。パケットのフィルタリング（ふるいわけ）はつねに受信インターフェースで行われます。一方、フィルターの効果がいつ現れるかはフィルターの種類によって異なります。
IPインターフェースには、トラフィックフィルターとポリシーフィルターをそれぞれ1つずつ適用できます。同じフィルターを複数のインターフェースに割り当ててもかまいません。

フィルター処理の流れ

#### 概要

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

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

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

#### 詳細

ソフトウェアIPフィルターの詳細な処理順序について説明します。

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

IPパケットを受信すると、受信インターフェースに適用されているフィルターを、フィルター番号の小さい順、すなわちトラフィックフィルター、ポリシーフィルターの順にチェックします。

1. 受信インターフェースにトラフィックフィルターが適用されている場合、フィルター内の各エントリーをエントリー番号の小さい順にチェックし、受信パケットのヘッダー情報と一致するものがあるかどうかを調べていきます。
   受信インターフェースにトラフィックフィルターが適用されていない場合は、ポリシーフィルターのチェックに移ります。
   1. マッチするエントリーが見つかった場合は、該当エントリーのACTIONパラメーターで指定されている処理（アクション）を実行します。トラフィックフィルターでは、最初にマッチしたエントリーが適用されます。
      - EXCLUDE（破棄）の場合はパケットを破棄し、該当パケットの処理を完了します。
      - INCLUDE（許可）の場合はトラフィックフィルターのチェックを終了し、ポリシーフィルターのチェックに移ります。
   2. すべてのエントリーをチェックしてもマッチするエントリーが見つからなかった場合は、パケットを破棄して該当パケットの処理を完了します。このように、トラフィックフィルターの末尾には「すべてを破棄する」暗黙のエントリーが存在するので、フィルター作成時には注意が必要です。
2. 受信インターフェースにポリシーフィルターが適用されている場合、フィルター内の各エントリーをエントリー番号の小さい順にチェックし、受信パケットのヘッダー情報と一致するものがあるかどうかを調べていきます。
   受信インターフェースにポリシーフィルターが適用されていない場合は、ソフトウェア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フィルターの処理を完了し、通常のパケット処理に移ります。

これでパケットに対するフィルター処理は完了です。トラフィックフィルターで破棄された場合を除き、この後通常のパケット処理に移ります。

設定手順

ソフトウェア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 ↓`

処理内容の指定

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

表 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」を指定した場合、該当エントリーにマッチしたパケットのTOSビットは7（15 - 8）、すなわち、「D=1、T=1、R=1」に書き換えられる。経路選択時には、パケットに割り当てられた経路選択ポリシー値と経路エントリーのサービスタイプ（0〜7）が比較され、マッチした経路が優先的に使用される。経路表に該当するサービスタイプの経路がないときは、デフォルトサービスタイプ（0）の経路エントリーが使用される。ポリシーフィルターにマッチしなかったパケットはポリシー値0を持つものとみなされる。また、登録時にサービスタイプを指定しなかった経路エントリーはサービスタイプ0とみなされる。ポリシーフィルターは受信インターフェースで条件のチェックとポリシー値の付与（とオプションでTOSビットの書き換え）が行われ、経路選択時にポリシー値に基づいた選択が行われる。

以下、条件指定の例と処理内容の例を組み合わせた、完全なコマンド行の例を示します。
■ ネットワーク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=vlan-orange NEXT=192.168.20.10 ↓
ADD IP ROUTE=0.0.0.0 INT=vlan-orange NEXT=192.168.20.11 POLICY=7 ↓
`

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

> Note - ADD IP ROUTEコマンドでスタティック経路を登録する際にPOLICYパラメーターを省略した場合、同経路のサービスタイプは「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ビットを書き換えるかどうか、書き換える場合はどのような値に書き換えるかを示します。

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

トラフィックフィルターでは、マッチしたパケットをログに記録するよう設定することもできます。これには、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」をVLAN whiteに割り当て。

`SET IP INT=vlan-white FILTER=0 ↓`

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

`SET IP INT=vlan-orange POLICYFILTER=100 ↓`

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

`SET IP INT=vlan-white 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パラメーターにNONEを指定します。

`SET IP INT=vlan-white POLICYFILTER=NONE ↓`

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

トラフィックフィルターは、受信IPインターフェースにおいて、ヘッダー情報の基づきパケットの破棄・通過を決定するフィルターです。トラフィックフィルターにはフィルター番号0〜99番を割り当てます。

特定ホストのみ拒否

ここでは、トラフィックフィルターを利用して、特定ホストからのトラフィックのみをVLAN外に出さないようにする設定例を示します（デフォルト許可）。ここでは、次のようなネットワーク構成を例に説明します。

ここでは、次のようなフィルタリング条件を考えます。

- ホストsparrow（192.168.20.7）からのIPパケットをVLAN orangeの外に出さない。すなわち、ホストsparrowとVLAN white内のホストが通信できないようにする（VLAN orange内での通信（sparrow−thrush間）は可能）。
- その他のIPトラフィックはすべて許可。

> Note - 「デフォルト許可」の設定では、拒否するパターンだけを記述します。ただし、トラフィックフィルターのエントリーリストの末尾には、「すべて破棄」を意味する暗黙のエントリーが存在しているため、拒否パターンの後に必ず「すべて許可」のエントリーを明示的に作成する必要があります。拒否パターンだけを書くとすべてのトラフィックが拒否されてしまいますのでご注意ください。

スイッチAの設定

1. VLANの設定を行います。

   `CREATE VLAN=white VID=10 ↓
   CREATE VLAN=orange VID=20 ↓
   ADD VLAN=white PORT=1-12 ↓
   ADD VLAN=orange PORT=13-24 ↓
   `
2. IPモジュールを有効にします。

   `ENABLE IP ↓`
3. VLANインターフェースにIPアドレスを設定します。

   `ADD IP INT=vlan-white IP=192.168.10.1 MASK=255.255.255.0 ↓
   ADD IP INT=vlan-orange IP=192.168.20.1 MASK=255.255.255.0 ↓
   `
4. VLAN orangeのIPインターフェースに適用するソフトウェアIPフィルター「0」を作成します。
   - sparrow（192.168.20.7）からのIPパケットはすべて破棄します。

     `ADD IP FILTER=0 SOURCE=192.168.20.7 SMASK=255.255.255.255 ACTION=EXCLUDE ↓`
   - その他のパケットはすべて通過させます。

     `ADD IP FILTER=0 SOURCE=192.168.20.0 SMASK=255.255.255.0 ACTION=INCLUDE ↓`
5. VLAN orangeのIPインターフェースにソフトウェアIPフィルター「0」を適用します。

   `SET IP INT=vlan-orange FILTER=0 ↓`

■ フィルターにかかったパケットをログに記録するには、LOGパラメーターを使います。LOGパラメーターはエントリーごとに設定するものです。つまり、該当エントリーにマッチしたパケットがログに記録されます。

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

特定のホスト/サービスのみ許可

ここでは、トラフィックフィルターを利用して、特定ホストから特定サービスに対してのみ通信を許可する設定例を示します（デフォルト拒否）。ここでは、次のようなネットワーク構成を例に説明します。

ここでは、次のようなフィルタリング条件を設定します。

- 原則としてVLAN white−orange間の通信は不許可
- ただし、ホストsparrow（192.168.20.7）からpenguin（192.168.10.5）のTelnetサービスとFTPサービスにだけは通信を許可する。

> Note - 「デフォルト拒否」の設定では、許可するパターンだけを記述します。トラフィックフィルターのエントリーリスト末尾には、「すべて破棄」を意味する暗黙のエントリーが存在しているため、拒否パターンを明示的に書く必要はありません。明示的に許可しなかったトラフィックは何もしなくても破棄されます。

スイッチAの設定

1. VLANの設定を行います。

   `CREATE VLAN=white VID=10 ↓
   CREATE VLAN=orange VID=20 ↓
   ADD VLAN=white PORT=1-12 ↓
   ADD VLAN=orange PORT=13-24 ↓
   `
2. IPモジュールを有効にします。

   `ENABLE IP ↓`
3. VLANインターフェースにIPアドレスを設定します。

   `ADD IP INT=vlan-white IP=192.168.10.1 MASK=255.255.255.0 ↓
   ADD IP INT=vlan-orange IP=192.168.20.1 MASK=255.255.255.0 ↓
   `
4. VLAN whiteのIPインターフェースに適用するソフトウェアIPフィルター「1」を作成します。
   - penguinのTelnetサービスポートからsparrowへ送られるIPパケットを通過させます。「SESSION=ESTABLISHED」により、sparrow側からコネクションが張られた場合にのみ通過を許可します。

     `ADD IP FILT=1 SO=192.168.10.5 SMA=255.255.255.255 DES=192.168.20.7 DMA=255.255.255.255 AC=INCLUDE ↓
     SET IP FILT=1 ENTRY=1 PROTO=TCP SPORT=TELNET SESS=ESTAB ↓
     `
   - penguinからsparrowへのFTPコントロールパケットを通過させます。「SESSION=ESTABLISHED」により、sparrow側からコネクションが張られた場合にのみ通過を許可します。

     `ADD IP FILT=1 SO=192.168.10.5 SMA=255.255.255.255 DES=192.168.20.7 DMA=255.255.255.255 AC=INCLUDE ↓
     SET IP FILT=1 ENTRY=2 PROTO=TCP SPORT=FTP SESS=ESTAB ↓
     `
   - penguinからsparrowへのFTPデータパケットを通過させます。FTPのデータコネクションは通常サーバー側から張られるので、SESSIONパラメーターは「ANY」とします

     `ADD IP FILT=1 SO=192.168.10.5 SMA=255.255.255.255 DES=192.168.20.7 DMA=255.255.255.255 AC=INCLUDE ↓
     SET IP FILT=1 ENTRY=3 PROTO=TCP SPORT=FTPDATA SESS=ANY ↓
     `
5. VLAN whiteのIPインターフェースにソフトウェアIPフィルター「1」を適用します。

   `SET IP INT=vlan-white FILTER=1 ↓`
6. VLAN orangeのIPインターフェースに適用するソフトウェアIPフィルター「2」を作成します。
   - sparrowからpenguinのTelnetサービスポートへ送られるIPパケットを通過させます。

     `ADD IP FILT=2 SO=192.168.20.7 SMA=255.255.255.255 DES=192.168.10.5 DMA=255.255.255.255 AC=INCLUDE ↓
     SET IP FILT=2 ENTRY=1 PROTO=TCP DPORT=TELNET SESS=ANY ↓
     `
   - sparrowからpenguinへのFTPコントロールパケットを通過させます。

     `ADD IP FILT=2 SO=192.168.20.7 SMA=255.255.255.255 DES=192.168.10.5 DMA=255.255.255.255 AC=INCLUDE ↓
     SET IP FILT=2 ENTRY=2 PROTO=TCP DPORT=FTP SESS=ANY ↓
     `
   - sparrowからpenguinへのFTPデータパケットを通過させます。

     `ADD IP FILT=2 SO=192.168.20.7 SMA=255.255.255.255 DES=192.168.10.5 DMA=255.255.255.255 AC=INCLUDE ↓
     SET IP FILT=2 ENTRY=3 PROTO=TCP DPORT=FTPDATA SESS=ANY ↓
     `
7. VLAN orangeのIPインターフェースにソフトウェアIPフィルター「2」を適用します。

   `SET IP INT=vlan-orange FILTER=2 ↓`

片方向TCP通信

トラフィックフィルターを利用して、2つのVLANの片側からのみTCPの通信を開始できるよう設定します。ここでは、次のような構成のネットワークを例に説明します。

ここでは、次のようなフィルタリング条件を設定します。

- TCPはorangeからwhiteの方向へのみ通信を開始できる。whiteからorangeへの通信開始は拒否。
- UDPはすべて拒否。
- ICMPはすべて許可。

スイッチAの設定

1. VLANの設定を行います。

   `CREATE VLAN=white VID=10 ↓
   CREATE VLAN=orange VID=20 ↓
   ADD VLAN=white PORT=1-12 ↓
   ADD VLAN=orange PORT=13-24 ↓
   `
2. IPモジュールを有効にします。

   `ENABLE IP ↓`
3. VLANインターフェースにIPアドレスを設定します。

   `ADD IP INT=vlan-white IP=192.168.10.1 MASK=255.255.255.0 ↓
   ADD IP INT=vlan-orange IP=192.168.20.1 MASK=255.255.255.0 ↓
   `
4. デフォルトルートを設定します。

   `ADD IP ROUTE=0.0.0.0 MASK=0.0.0.0 INT=vlan-white NEXT=192.168.10.254 ↓`
5. VLAN orangeのIPインターフェースに適用するソフトウェアIPフィルター「1」を作成します。
   - orangeから外部へ向けてのTCPパケットはすべて許可します。

     `ADD IP FILT=1 SO=192.168.20.0 SMA=255.255.255.0 PROTO=TCP SESS=ANY AC=INCLUDE ↓`
   - UDPパケットはすべて破棄します。

     `ADD IP FILT=1 SO=192.168.20.0 SMA=255.255.255.0 PROTO=UDP AC=EXCLUDE ↓`
   - ICMPはすべて許可します。

     `ADD IP FILT=1 SO=192.168.20.0 SMA=255.255.255.0 PROTO=ICMP AC=INCLUDE ↓`
6. VLAN orangeのIPインターフェースにソフトウェアIPフィルター「1」を適用します。

   `SET IP INT=vlan-orange FILTER=1 ↓`
7. VLAN whiteのIPインターフェースに適用するソフトウェアIPフィルター「2」を作成します。
   - orange宛てのTCPパケットは、orangeからコネクションが張られた場合にのみ（SESSION=ESTABLISHED）、通過を許可します。

     `ADD IP FILT=2 SO=0.0.0.0 SMA=0.0.0.0 DES=192.168.20.0 DMA=255.255.255.0 PROTO=TCP SESS=ESTAB AC=INCLUDE ↓`
   - UDPパケットはすべて破棄します。

     `ADD IP FILT=2 SO=0.0.0.0 SMA=0.0.0.0 PROTO=UDP AC=EXCLUDE ↓`
   - ICMPはすべて許可します。

     `ADD IP FILT=2 SO=0.0.0.0 SMA=0.0.0.0 PROTO=ICMP AC=INCLUDE ↓`
8. VLAN whiteのIPインターフェースにソフトウェアIPフィルター「2」を適用します。

   `SET IP INT=vlan-white FILTER=2 ↓`

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

ポリシーフィルターは、受信パケットのヘッダー情報に基づき、パケットに内部的な経路選択ポリシー（サービスタイプ）を割り当て、経路選択時の動作に影響を与えるフィルターです。別途、サービスタイプ指定の経路エントリーを作成することにより、パケットごとに異なる経路をとらせることができます。また、オプションでパケットのTOSビット（TOSオクテットのD、T、Rビット）を書き換えることもできます。ポリシーフィルターには、フィルター番号100〜199番を割り当てます。

IPアドレスによるポリシーベースルーティング

特定IPアドレス間のトラフィックのみ、通常とは異なる経路を通すポリシーベースルーティングの設定例を紹介します。
ここでは、次のような構成のネットワークを例に解説します。

ここでは、次のような経路選択ポリシーを設定します。

- VLAN orange（192.168.20.0/24）とサーバー（172.16.28.100）間のトラフィックは、太い回線につながっているルーターB経由で送信します。
- その他のトラフィックはルーターA経由で送信します。

スイッチAの設定

1. VLANの設定を行います。

   `CREATE VLAN=white VID=10 ↓
   CREATE VLAN=orange VID=20 ↓
   ADD VLAN=white PORT=1-12 ↓
   ADD VLAN=orange PORT=13-24 ↓
   `
2. IPモジュールを有効にします。

   `ENABLE IP ↓`
3. VLANインターフェースにIPアドレスを設定します。

   `ADD IP INT=vlan-white IP=192.168.10.1 MASK=255.255.255.0 ↓
   ADD IP INT=vlan-orange IP=192.168.20.1 MASK=255.255.255.0 ↓
   `
4. VLAN orangeのIPインターフェースに適用するポリシーフィルター「100」を作成します。ポリシーフィルターには、フィルター番号100〜199番を使います。
   - VLAN orangeとサーバー間のトラフィックにはポリシー4を割り当てます。

     `ADD IP FILT=100 SO=192.168.20.0 SMA=255.255.255.0 DEST=172.16.28.100 DMA=255.255.255.255 POLICY=4 ↓`
   - その他のトラフィックにはポリシー0を割り当てます。

     `ADD IP FILT=100 SO=192.168.20.0 SMA=255.255.255.0 POLICY=0 ↓`
5. VLAN orangeのIPインターフェースにポリシーフィルター「100」を適用します。

   `SET IP INT=vlan-orange POLICYFILTER=100 ↓
   `
6. 経路情報を設定します。
   - 通常トラフィック（ポリシー0）のためのデフォルトルートを設定します。こちらは192.168.10.254のルーターAを使います。

     `ADD IP ROUTE=0.0.0.0 MASK=0.0.0.0 INT=vlan-white NEXT=192.168.10.254 POLICY=0 ↓`
   - VLAN orangeとサーバーとの間のトラフィック（ポリシー4）のためのデフォルトルートを設定します。こちらは192.168.10.253のルーターBを使います。

     `ADD IP ROUTE=0.0.0.0 MASK=0.0.0.0 INT=vlan-white NEXT=192.168.10.253 POLICY=4 ↓`

■ 経路表を確認するにはSHOW IP ROUTEコマンドを使います。

`SHOW IP ROUTE ↓`

その他

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

`SHOW IP FILTER ↓`

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

`SHOW IP INT ↓`

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

PN: J613-M0019-01 Rev.P