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

# スイッチング/ハードウェアパケットフィルター

      - 基本動作
       - フィルターの構成
       - フィルター処理の流れ
      - 設定手順
      - コマンド例
      - ハードウェアパケットフィルターのルール領域消費量

ハードウェアパケットフィルターは、ハードウェア（ASIC）レベルでパケットをフィルタリング（許可・拒否）する機能です。

> Note - ハードウェアパケットフィルターにマッチしたパケットに対して、ポリシーベースQoSは適用されません（ここでの「マッチ」とは、破棄（Discard）だけでなく明示的な転送許可（Forward）も含みます）。ポリシーベースQoSを利用しながらパケットフィルタリングを行いたい場合は、ハードウェアパケットフィルターを併用するのではなく、QoSポリシーのフィルタリング機能（フローグループ、トラフィッククラスのアクション）を使ってください。

> Note - IPv6アクセラレーターボードを装着している場合、IPv6ルーティングパケットのフィルタリングには、IPv6ハードウェアパケットフィルターを使用します。ハードウェアパケットフィルターとIPv6ハードウェアパケットフィルターは併用可能です。詳しくは「スイッチング」/「IPv6ハードウェアパケットフィルター」をご覧ください。

ハードウェアパケットフィルターの処理は、スイッチチップのL2入力部で行われます。そのため、ルーティングされないトラフィック（同一VLAN内のトラフィック）に対してもフィルタリングが可能です。たとえば、IPモジュールを有効にしていない状態、すなわち本製品をレイヤー2スイッチとして使用している場合でもIPのフィルタリングができます。
パケットのフィルタリング条件には、以下の各項目を使用できます。フィルタリング条件は、汎用のパケットフィルターであるクラシファイアによって定義します。クラシファイアの詳細については「スイッチング」/「クラシファイア」をご覧ください。

- 入力VLAN
- Ethernetのフレームフォーマット、プロトコルタイプ、送信元・宛先MACアドレス
- レイヤー2アドレス種別（ユニキャストとそれ以外）
- IPヘッダーのTOS優先度（precedence）、DSCP（DiffServ Code Point）、プロトコル、始点・終点IPアドレス
- IPXヘッダーの終点ネットワーク、始点・終点ソケット
- TCPヘッダーの始点・終点ポート
- UDPヘッダーの始点・終点ポート

条件に一致したパケットに対しては、以下の処理（アクション）が可能です。アクションは最初に一致したフィルターで適用されます。どのフィルターにも一致しなかったパケットは通常通り処理（転送）されます。

- 転送（Forward）
- 破棄（Discard）

> Note - ハードウェアパケットフィルターのL3以上の条件パラメーター（L2は使用可）とダブルタグVLAN（Nested VLAN）は併用できません。

基本動作

ハードウェアパケットフィルターの基本動作について説明します。

フィルターの構成

ハードウェアパケットフィルターは、複数のフィルターで構成される1つのリストです。個々のフィルターは、クラシファイア（汎用パケットフィルター）とアクションから構成されます。

フィルター処理の流れ

ハードウェアパケットフィルターの処理は、おおむね次の手順にしたがって行われます。

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

1. フィルターが1つでも定義されている場合、受信パケットとフィルターに関連付けられているクラシファイアの条件を、フィルター番号の小さい順に照合します。
2. 一致するフィルターが見つかった場合は、その場でアクション（破棄か転送）を実行し、ハードウェアパケットフィルターの処理を完了します。
3. 一致するフィルターがなかった場合はハードウェアパケットフィルターの処理を完了し、通常どおりパケットを出力します。

> Note - ハードウェアパケットフィルターは、スイッチ本体から送信されるパケットには適用されません。

設定手順

ハードウェアパケットフィルターの設定は、次の流れで行います。

1. クラシファイアの作成（CREATE CLASSIFIERコマンド）
2. フィルターの追加（ADD SWITCH HWFILTERコマンド）

以下、各手順について詳しく解説します。
ここでは例として、ホスト192.168.100.38からサーバー192.168.10.5宛てのパケットを遮断するよう設定します。

1. クラシファイアを作成します（CREATE CLASSIFIERコマンド）。

   `CREATE CLASSIFIER=1 IPSADDR=192.168.100.38/32 IPDADDR=192.168.10.5/32 ↓
   `

   > Note - ハードウェアパケットフィルターで使用するクラシファイアは、CREATE CLASSIFIERコマンドのページに掲載されている「ハードウェアパケットフィルター・QoSポリシー用の構文」にしたがっている必要があります。同構文にないパラメーターを含むクラシファイアを使おうとすると、ADD SWITCH HWFILTERコマンド実行時にエラーとなります。

2. フィルターを作成（リストに追加）します（ADD SWITCH HWFILTERコマンド）。フィルターを作成するには、フィルター番号に加え、クラシファイア番号とマッチ時のアクション（転送か破棄）を指定する必要があります。

   `ADD SWITCH HWFILTER=1 CLASSIFIER=1 ACTION=DISCARD ↓
   `

> Note - フィルター番号は省略することもできます。その場合、新規フィルターはリストの最後尾に追加されます。既存フィルターと同じ番号を指定した場合は、既存フィルターの位置に新規フィルターが挿入され、既存フィルター以降は番号が1つずつ後ろにずれます。

> Note - ハードウェアパケットフィルターは、すべてのポートで受信したパケットに適用されます。

> Note - ハードウェアパケットフィルターは、スイッチ本体から送信されるパケットには適用されません。

基本設定は以上です。

コマンド例

次に具体的なコマンド例を示します。
■ 192.168.10.100から192.168.20.0/24へのIPパケットを破棄。

`CREATE CLASSIFIER=1 IPSADDR=192.168.10.100/32 IPDADDR=192.168.20.0/24 ↓
ADD SWITCH HWFILTER=1 CLASSIFIER=1 ACTION=DISCARD ↓
`

■ 10.0.0.0/8からのICMPパケットを破棄。

`CREATE CLASSIFIER=1 IPSADDR=10.0.0.0/8 IPPROTOCOL=ICMP ↓
ADD SWITCH HWFILTER=1 CLASSIFIER=1 ACTION=DISCARD ↓
`

■ 192.168.30.100へのtelnetパケットを破棄。

`CREATE CLASSIFIER=1 IPDADDR=192.168.30.100/32 TCPDPORT=23 ↓
ADD SWITCH HWFILTER=1 CLASSIFIER=1 ACTION=DISCARD ↓
`

■ 192.168.10.0/24から192.168.20.0/24へのTCP接続（セッション開始）を禁止する。この例では、192.168.20.0/24から192.168.10.0/24へのSyn + Ackパケットを破棄することでこれを実現しています。

`CREATE CLASSIFIER=1 IPSADDR=192.168.20.0/24 IPDADDR=192.168.10.0/24 TCPFLAGS=SYN,ACK ↓
ADD SWITCH HWFILTER=1 CLASSIFIER=1 ACTION=DISCARD ↓
`

> Note - TCPFLAGSパラメーターでは、指定したフラグだけがチェック対象となります（指定しなかったフラグの状態には関知しません）。指定したフラグがすべてが立っていればマッチ、それ以外の場合は非マッチと判定されます。

■ ハードウェアパケットフィルターは、ルーティングされない同一サブネット内のトラフィックに対しても有効です。そのため、「192.168.10.0/24から他のサブネットへのIP通信を拒否」するつもりで次のような設定を行うと、192.168.10.0/24内でもIP通信ができなくなってしまいます。

`CREATE CLASSIFIER=1 IPSADDR=192.168.10.0/24 ↓
ADD SWITCH HWFILTER=1 CLASSIFIER=1 ACTION=DISCARD ↓
`

このような場合は、次の例のように「始点IPアドレスと終点IPアドレスが同一サブネットなら許可」というルールを追加してください。

`CREATE CLASSIFIER=1 IPSADDR=192.168.10.0/24 IPDADDR=192.168.10.0/24 ↓
CREATE CLASSIFIER=2 IPSADDR=192.168.10.0/24 IPDADDR=ANY ↓
ADD SWITCH HWFILTER=1 CLASSIFIER=1 ACTION=FORWARD ↓
ADD SWITCH HWFILTER=2 CLASSIFIER=2 ACTION=DISCARD ↓
`

> Note - ハードウェアパケットフィルターでは、最初にマッチしたフィルターのアクションが実行されます。デフォルト拒否の設定を行うには、最初に許可するフィルターを並べた上で、最後にすべてを破棄するフィルターを設定します。また、デフォルト許可に設定する場合は、拒否するフィルターだけを並べていきます。ハードウェアパケットフィルター自体は、デフォルト許可です。

■ ハードウェアパケットフィルターを使用するために、必ずしもIPモジュールを有効にする必要はありません。純粋なレイヤー2スイッチとして本製品を使用する場合であっても、ハードウェアパケットフィルターを使えば、IPアドレスやプロトコルに応じたフィルタリングが可能です。
■ ハードウェアパケットフィルターの一覧を表示するには、SHOW SWITCH HWFILTERコマンドを使います。

`SHOW SWITCH HWFILTER ↓
SHOW SWITCH HWFILTER=1 ↓
`

■ クラシファイアの一覧を表示するには、SHOW CLASSIFIERコマンドを実行します。CLASSIFIERパラメーターに番号を指定すれば、該当するクラシファイアの詳細なパラメーターが表示されます。

`SHOW CLASSIFIER ↓
SHOW CLASSIFIER=1-3 ↓
SHOW CLASSIFIER=ALL ↓
`

■ ハードウェアパケットフィルターのフィルター番号は可変です。ADD SWITCH HWFILTERコマンドでフィルターを追加するとき、既存のフィルターと同じ番号を指定した場合は、既存フィルターの位置に新規フィルターが挿入され、既存フィルター以降は番号が1つずつ後ろにずれます。
■ ハードウェアパケットフィルターを削除するには、DELETE SWITCH HWFILTERコマンドにフィルター番号を指定します。フィルター番号は可変なので、必ずSHOW SWITCH HWFILTERコマンドで確認してから指定してください。フィルターを削除すると、削除によって空いた番号を埋める形で後続のフィルター番号が自動的に変更されるので注意してください。

`DELETE SWITCH HWFILTER=1 ↓
DELETE SWITCH HWFILTER=1-3 ↓
`

> Note - ハードウェアパケットフィルターを削除しても、クラシファイアは削除されません。ハードウェアパケットフィルターとクラシファイアの関連付けが削除されるだけです。クラシファイアを削除するには、DESTROY CLASSIFIERコマンドを使います。

ハードウェアパケットフィルターのルール領域消費量

ADD SWITCH HWFILTERコマンドでハードウェアパケットフィルターを作成すると、システム内部の「ルールテーブル」内にあるルール領域が消費されます（ルールテーブルの使用状況は、SHOW SWITCHコマンドで確認できます）。
ルール領域の消費量は、基本的にフィルターの数（クラシファイアの数）に応じて増加します。ただし、ハードウェアパケットフィルターとポリシーベースQoSを併用する場合は、QoSポリシーを割り当てているポートの数に応じて、ルール領域の使用量が急増しますので、ご注意ください。
詳しくは「スイッチング」/「クラシファイア」をご覧ください（「クラシファイアとルール領域消費量」を参照）。

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

PN: J613-M0021-12 Rev.L