[index] CentreCOM 8624PS コマンドリファレンス 2.8

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

      - 基本動作
       - フィルターの構成
       - フィルター処理の流れ
      - 設定手順
       - フィルター（マッチ条件）の作成
       - フィルター番号の確認
       - フィルターエントリーの追加
        - フィルター番号の指定
        - フィルタリング条件の指定
        - アクションの指定
      - コマンド例
      - 設定例
       - 特定スイッチポートからのみ外部へのUDP通信を許可
       - TCP片方向通信
       - 「マルチプルVLAN」的構成例
       - IPベースのQoS
       - ハードウェアIPフィルターによるポートミラーリング

ハードウェアIPフィルターは、ハードウェア（ASIC）レベルでIPトラフィックのフィルタリングを行う機能です。
ハードウェアIPフィルターには以下の特長があります。

- ハードウェアで処理するため高速なフィルタリングが可能
- ポート単位でのフィルタリングが可能
- ルーティングされないIPトラフィック（同一VLAN内のIPトラフィック）に対してもフィルタリングが可能（IPモジュールを有効にしていない状態、すなわちレイヤー2スイッチとして使用している場合でもIPのフィルタリングが可能）

パケットのフィルタリング条件には、以下の各項目を使用できます。

- 入出力スイッチポート
- Ethernetヘッダーのプロトコルタイプ（Ethernet Version 2、802.2 LLC、SNAPの各フレームフォーマットに対応）
- IPヘッダーのTOS優先度（precedence）またはDSCP（DiffServ Code Point）、TTL、プロトコル、始点・終点IPアドレス
- TCPヘッダーの始点・終点ポート、制御フラグ（Syn、Ack、Fin）
- UDPヘッダーの始点・終点ポート

条件に一致したパケットに対しては、以下の処理（アクション）を適用できます（複数の処理を適用することも可能）。一致しなかったパケットは通常通り処理されます。

- 破棄・許可
- 出力スイッチポートの変更
- 出力キューレベルの変更
- VLANタグフレームの802.1pユーザープライオリティーフィールドを書き換え
- IPパケットのTOS優先度フィールド、または、DSCPフィールドを書き換え
- ミラーポートにパケットをコピー

基本動作

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

フィルターの構成

ハードウェアIPフィルターは、マッチ条件（フィルター）とフィルターエントリーで構成されます。

- マッチ条件（フィルター）は、パケットヘッダーのどのフィールドを使ってパケットをふるいわけるかを指定するもので、ADD SWITCH L3FILTER MATCHコマンドで作成します。オプションで、どのエントリーにもマッチしなかった場合の処理も指定できます（NOMATCHACTION）。
- フィルターエントリーは、マッチ条件に対して具体的な値を指定し、マッチしたパケットに対して行う処理（アクション）を指定するもので、ADD SWITCH L3FILTER ENTRYコマンドで追加します。

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

- マッチ条件（フィルター）はシステム全体で14個まで
- フィルターエントリーはシステム全体で124個まで

フィルター処理の流れ

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

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

1. パケットを受信すると、FDB（L2）またはL3テーブル（L3）を参照して出力先（出力ポート）を決定します。
2. すべてのフィルター（マッチ条件）、すべてのフィルターエントリーをチェックし、受信パケットの入出力スイッチポート、IP、TCP、UDPヘッダーフィールドと一致するものがあるかどうかを調べていきます。一致するエントリーが1つ以上あった場合は、一致したエントリーのアクションをすべて「アクションリスト」にリストアップしておきます。

   > Note - NOMATCHACTIONが指定されているフィルターの場合、該当フィルターのどのエントリーにもマッチしなかったパケットには、NOMATCHACTIONパラメーターで指定されたアクションが適用されます。NOMATCHACTIONパラメーターが指定されていない場合は、アクションなしとなります。

3. この時点で「アクションリスト」が空の場合は、フィルター処理を完了し、通常どおりパケットを処理します（パケットを出力）。

   > Note - タグなしパケットは、宛先MACアドレスが本製品ならユーザープライオリティー4、本製品以外ならユーザープライオリティー0として扱われます。そのため、本製品によってルーティングされるIPパケットは、プライオリティー4で処理されます。一方、本製品によってルーティングされるIPマルチキャストパケットは、宛先MACアドレスが本製品ではないため、プライオリティー0で処理されます。その他のレイヤー2スイッチングされるパケットは、プライオリティー0で処理されます。

4. アクションリストが完成したら、以下の順序でパケットを処理します。フィルター番号順に処理されるのではない点に注意してください。また、以下の各手順では「フィルター処理を終了」と明記していない限り、自動的に次の手順に進みます（パケットに対し、複数のアクションが適用される場合があります）。
   1. アクションリスト内に「TOS書き換え系のアクション」（SETTOS、SETIPDSCP、MOVEPRIOTOTOS）があるか調べます。同系のアクションが複数あるときは、フィルター番号の最も大きなアクションだけを選択して実行します。したがって、以下の3つのうち、どれか1つだけが実行されることになります。
      - SETTOSアクションの場合は、IPヘッダーのTOS優先度（precedence）フィールドにNEWTOSパラメーターで指定された値を書き込みます。
      - SETIPDSCPアクションの場合は、IPヘッダーのDSCPフィールドにNEWIPDSCPパラメーターで指定された値を書き込みます。
      - MOVEPRIOTOTOSアクションの場合は、受信時の802.1pユーザープライオリティーフィールドの値を、IPヘッダーのTOS優先度（precedence）フィールドにコピーします。

      > Note - ここで書き込んだTOS優先度値、DSCP値が、フィルターエントリーの検索に影響することはありません（アクションリストの検証に入った時点で、すでにエントリーの検索が完了しているため）。フィルターエントリー検索時には、パケット受信時のTOS優先度値、DSCP値が使われます。

      > Note - MOVEPRIOTOTOSアクションで使われる802.1pフィールド値は、パケット受信時の値です。802.1pフィールドを書き換えるアクション（SETPRIORITY、MOVETOSTOPRIO）によって書き換えられた値ではありません。

   2. アクションリスト内に「802.1p書き換え系のアクション」（SETPRIORITY、MOVETOSTOPRIO）があるか調べます。同系のアクションが複数あるときは、フィルター番号の最も大きなアクションだけを選択して実行します。したがって、以下の2つのうち、どれか1つだけが実行されることになります。
      - SETPRIORITYアクションの場合は、VLANタグフレームの802.1pユーザープライオリティーフィールドにPRIORITYパラメーターで指定された値を書き込みます。
      - MOVETOSTOPRIOアクションの場合は、受信時のIP TOS優先度（precedence）フィールドの値を、VLANタグフレームの802.1pユーザープライオリティーフィールドにコピーします。

      > Note - 実際にプライオリティー値がセットされた状態でパケットが出力されるには、出力ポートがタグ付き（TAGGED）に設定されている必要があります。出力ポートがタグなし（UNTAGGED）の場合は、VLANタグがない状態でパケットが出力されるため、本アクションは実質的な意味を持ちません。

   3. アクションリスト内に「SENDMIRRORアクション」があるか調べます。SENDMIRRORアクションがある場合は、ミラーポートとして設定されているポートからパケットのコピーを出力します。仕様により、すべてのパケットがVLANタグ付きでミラーポートから出力されます。

      > Note - ルーティング対象パケットには、ルーティング先のVLANタグが付きます。

      > Note - SENDMIRRORアクションによってミラーされたパケットには、SETTOS、SETIPDSCP、MOVEPRIOTOTOS、SETPRIORITY、MOVETOSTOPRIOアクションによるフィールド書き換えが反映されています。

   4. アクションリスト内に「破棄・通過系のアクション」（DENY、NODROP）があるか調べます。同系のアクションが複数あるときは、フィルター番号の最も大きなアクションだけを選択して実行します。したがって、以下の2つのうち、どれか1つだけが実行されることになります。
      - DENYアクションの場合は、パケットを破棄してフィルター処理を終了します。この場合、通常のポートからパケットが出力されることはありません（SENDEPORT、SENDCOSアクションがある場合でもパケットは出力されません）。ただし、ポートミラーリング機能が有効な場合は、ミラーポートからパケットのコピーが出力されます（SENDMIRRORアクションも有効です）。
      - NODROPアクションの場合は次のステップに進みます。
   5. アクションリスト内に「出力ポート変更系のアクション」（SENDEPORT、SENDNONUNICASTTOPORT）があるか調べます。
      - パケットがユニキャスト（ブロードキャスト、マルチキャスト、未学習のユニキャスト以外）で、アクションがSENDEPORTの場合は、パケットの出力先を、FDBやL3テーブルを参照して決定された出力ポートではなく、PORTパラメーターで指定されたポートに変更します。
      - パケットが非ユニキャスト（ブロードキャスト、マルチキャスト、未学習のユニキャスト）で、アクションがSENDNONUNICASTTOPORTの場合は、パケットの出力先を、同一VLAN内の全ポートではなく、PORTパラメーターで指定されたポートだけに変更します。

      > Note - SENDEPORT、SENDNONUNICASTTOPORTアクションを使う場合は、PORTパラメーターで指定するポート（出力ポート）と入力ポートが同じVLANになるよう設定に注意してください。また、仕様により、本来ならL3スイッチング（ルーティング）されるはずのパケットは、出力ポート（PORT）のタグ設定（タグ付き・タグなし）にかかわらず、本来のルーティング先のVLANタグが付いた状態で出力されます

   6. アクションリスト内に「出力キューレベル変更系のアクション」（SENDCOS、MOVETOSTOPRIO）があるか調べます。同系のアクションが複数あるときは、フィルター番号の最も大きなアクションだけを選択して実行します。したがって、以下の2つのうち、どれか1つだけが実行されることになります。
      - SENDCOSアクションの場合は、ここまでの手順で確定した出力先ポートの送信キューにパケットを格納し（出力し）、フィルター処理を完了します。このとき、PRIORITYパラメーターで指定されたユーザープライオリティー値に対応するレベルの送信キューを使います。
      - MOVETOSTOPRIOアクションの場合は、ここまでの手順で確定した出力先ポートの送信キューにパケットを格納し（出力し）、フィルター処理を完了します。このとき、受信時のIP TOS優先度（precedence）フィールドの値に対応するレベルの送信キューを使います。

      > Note - SENDCOSアクションでは、PRIORITYパラメーターを送信キュー選択のためだけに使います。出力するパケットにプライオリティー値をセットするわけではありません（セットするにはSETPRIORITYかMOVETOSTOPRIOアクションを使います）。

   7. アクションリスト内に「出力キューレベル変更系のアクション」（SENDCOS、MOVETOSTOPRIO）がない場合は、ここまでの手順で確定した出力先ポートの送信キューにパケットを格納します。このとき、パケット受信時の802.1pユーザープライオリティー値をもとに、どのレベルのキューに入れるかを決定します。

      > Note - タグなしパケットは、宛先MACアドレスが本製品ならユーザープライオリティー4、本製品以外ならユーザープライオリティー0として扱われます。そのため、本製品によってルーティングされるIPパケットは、プライオリティー4で処理されます。一方、本製品によってルーティングされるIPマルチキャストパケットは、宛先MACアドレスが本製品ではないため、プライオリティー0で処理されます。その他のレイヤー2スイッチングされるパケットは、プライオリティー0で処理されます。

設定手順

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

1. フィルター（マッチ条件）の作成（ADD SWITCH L3FILTER MATCHコマンド）
2. フィルター番号の確認（SHOW SWITCH L3FILTERコマンド）
3. フィルターエントリーの追加（ADD SWITCH L3FILTER ENTRYコマンド）

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

フィルター（マッチ条件）の作成

最初に、ADD SWITCH L3FILTER MATCHコマンドでフィルター（マッチ条件）を作成し、IP/TCP/UDPヘッダーのどのフィールドを比較条件として使用するかを指定します。
■ MATCHパラメーターには、フィルタリング条件として使用するヘッダーフィールドを以下から指定します。複数指定する場合はカンマで区切って指定してください。TCPxxx、UDPxxxを指定する場合は、PROTOCOLも条件として指定し、さらにADD SWITCH L3FILTER ENTRYコマンド（後述）でそれぞれ「PROTOCOL=TCP」、「PROTOCOL=UDP」を指定する必要があります。

表 1：MATCHパラメーターに指定できる項目
Ethernetヘッダー
TYPE | プロトコルタイプフィールド。他項目との併用は不可
IPヘッダー
TOS | TOSオクテットの優先度値（precedence）フィールド
IPDSCP | TOSオクテットのDSCP（DiffServ Code Point）フィールド
TTL | 生存時間（TTL）フィールド
PROTOCOL | プロトコルフィールド
SIPADDR | 始点IPアドレス（SCLASSも指定すること）
DIPADDR | 終点IPアドレス（DCLASSも指定すること）
TCPヘッダー
TCPSPORT | 始点ポート（PROTOCOLも指定すること）
TCPDPORT | 終点ポート（PROTOCOLも指定すること）
TCPSYN | Synフラグ（PROTOCOLも指定すること。EMPORTにTRUEを指定しないこと）
TCPACK | Ackフラグ（PROTOCOLも指定すること。EMPORTにTRUEを指定しないこと）
TCPFIN | Finフラグ（PROTOCOLも指定すること。EMPORTにTRUEを指定しないこと）
UDPヘッダー
UDPSPORT | 始点ポート（PROTOCOLも指定すること）
UDPDPORT | 終点ポート（PROTOCOLも指定すること）

■ MATCHパラメーターにTYPEを指定した場合は、TYPEパラメーターでEthernetのフレームフォーマット（エンキャプセレーション）を指定する必要があります。802（802.2 LLC）、ETHII（Ethernet Version 2）、SNAP（802.2 LLC + SNAP）から選択してください。ADD SWITCH L3FILTER ENTRYコマンドのTYPEパラメーターには、ここで指定したフレームフォーマットのプロトコル番号を指定します。

> Note - MATCHパラメーターにTYPEを指定した場合、他のヘッダーフィールドをフィルタリング条件として使うことはできません。また、SETTOSアクションは使用できません。

■ MATCHパラメーターにSIPADDRかDIPADDRを指定した場合は、SCLASS、DCLASSパラメーターでそれぞれアドレスマスクも指定します。マスク値は、クラスA、B、Cの標準マスク（8, 16, 24ビット長）か単一ホストを対象とするHOST、あるいは、任意のマスク長（1〜32ビット）で指定します。ここで指定したマスクは、IPアドレスを実際に指定する際、指定したIPアドレスに対して適用されます。
■ 特定のポートでのみフィルタリングを行うには、IMPORT（入力ポート）、EMPORT（出力ポート）パラメーターにTRUEを指定します。IMPORT、EMPORTパラメーターにTRUEを指定すると、特定のスイッチポートで送受信されるパケットだけがフィルタリングの対象になります。デフォルト（FALSE）では、すべてのポートがフィルタリングの対象になります。なお、具体的なポート番号は、後述するADD SWITCH L3FILTER ENTRYコマンドのIPORT、EPORTパラメーターで指定します。

> Note - EMPORTパラメーターにTRUEを指定した場合は、FDB、L3テーブルのどちらにも登録されていないMACアドレス（ブロードキャスト、マルチキャスト、未学習のユニキャスト）宛てのパケットがフィルタリング対象にならないという制限があります。TCP制御フラグによるフィルタリングを行う場合（マッチ条件にTCPSYN、TCPACK、TCPFINを指定する場合）、および、ブロードキャスト、マルチキャストパケットのフィルタリングを行う場合は、EMPORTにTRUEを指定しないでください。

■ NOMATCHACTIONパラメーターには、オプションとして、どのエントリーともマッチしなかったパケットに適用するアクションを指定できます。指定できるアクションはADD SWITCH L3FILTER ENTRYコマンドのACTIONパラメーターと同じです（ただし、NODROPは除く）。また、アクションパラメーターはNOMATCHDSCP、NOMATCHPORT、NOMATCHPRIORITY、NOMATCHTOSで指定します（それぞれ、ADD SWITCH L3FILTER ENTRYコマンドのNEWIPDSCP、PORT、PRIORITY、NEWTOSに相当）。

フィルター番号の確認

次に、SHOW SWITCH L3FILTERコマンドを実行し、手順1で作成したフィルター（マッチ条件）の番号を確認します。

> Note - フィルター番号は、ADD SWITCH L3FILTER MATCHコマンド実行時にシステムが自動で割り当てます。この番号は可変なので、他のフィルターの削除によって変更される可能性があります。フィルター番号を指定するときは、必ずSHOW SWITCH L3FILTERコマンドで確認してから指定してください。

フィルターエントリーの追加

次に、ADD SWITCH L3FILTER ENTRYコマンドを使って、フィルター（マッチ条件）にエントリーを追加します。
フィルターエントリーを追加するには、次の3つの情報を入力する必要があります。以下、それぞれについて詳しく解説します。

- フィルター番号
- フィルタリング条件
- マッチ時のアクション

#### フィルター番号の指定

ADD SWITCH L3FILTER ENTRYコマンドのL3FILTERパラメーターには、SHOW SWITCH L3FILTERコマンドで確認したフィルター番号を指定します。

> Note - エントリー番号は、ADD SWITCH L3FILTER ENTRYコマンド実行時にシステムが自動で割り当てます。この番号は可変なので、他のエントリーの追加・削除によって変更される可能性があります。エントリー番号を指定するときは、必ずSHOW SWITCH L3FILTERコマンドにENTRYパラメーターを付けて実行し、希望するエントリーの番号を確認してから指定してください。

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

フィルタリング条件は、以下の各パラメーターで指定します。マッチ条件作成時にMATCHパラメーターで指定したすべてのフィールドに対して具体的な値を指定してください。

表 2：条件パラメーター（受信パケットのヘッダーその他とつきあわせるパラメーター）
入出力スイッチポート
IPORT | 入力スイッチポート。指定ポートから入力されたパケットだけがマッチする
EPORT | 出力スイッチポート。指定ポートから出力されるパケットだけがマッチする（ただし、若干の制限あり。詳細は後述）
Ethernetヘッダー
TYPE | Ethernetフレームのレイヤー3プロトコルタイプフィールド値（16進数）。ADD SWITCH L3FILTER MATCHコマンドのTYPEパラメーターで指定したフレームフォーマットにおける値を指定する。Ethernet Version 2と802.2 LLC(DSAP、SSAP）におけるプロトコルタイプは2バイト、SNAPのプロトコルタイプは5バイト長
IPヘッダー
TOS | TOS優先度値（TOSオクテットのprecedenceフィールド）。有効範囲は0〜7
IPDSCP | DSCP（DiffServ Code Point）フィールド値。有効範囲は0〜63
TTL | 生存時間（TTL）フィールドの値。有効範囲は0〜255
PROTOCOL | IPの上位プロトコル。TCP、UDPなどのプロトコル名、または、IPプロトコル番号で指定する
SIPADDR | 始点IPアドレス。パケットマッチング時には、ここで指定したアドレスに対して、ADD SWITCH L3FILTER MATCHコマンドのSCLASSパラメーターで指定したマスクが適用される
DIPADDR | 終点IPアドレス。パケットマッチング時には、ここで指定したアドレスに対して、ADD SWITCH L3FILTER MATCHコマンドのDCLASSパラメーターで指定したマスクが適用される
TCPヘッダー
TCPSPORT | 始点ポート番号またはサービス名
TCPDPORT | 終点ポート番号またはサービス名
TCPSYN | Synフラグのオン（TRUE）、オフ（FALSE）。EPORTパラメーターと併用しないこと
TCPACK | Ackフラグのオン（TRUE）、オフ（FALSE）。EPORTパラメーターと併用しないこと
TCPFIN | Finフラグのオン（TRUE）、オフ（FALSE）。EPORTパラメーターと併用しないこと
UDPヘッダー
UDPSPORT | 始点ポート番号またはサービス名
UDPDPORT | 終点ポート番号またはサービス名

■ 特定のポートでのみフィルタリングを行いたい場合（ADD SWITCH L3FILTER MATCHコマンドでIMPORT=TRUEまたはEMPORT=TRUEを指定した場合）は、IPORT（入力ポート）、EPORT（出力ポート）パラメーターでフィルタリングを行うポートの番号を指定してください。IPORTで指定したポートから入力されたパケット、EPORTで指定したポートから出力されるパケットだけが、フィルタリングの対象となります。

> Note - ADD SWITCH L3FILTER MATCHコマンドでIMPORT=TRUEかEMPORT=TRUEを指定していながら、IPORT、EPORTパラメーターでポートの番号を指定していないと、フィルタリングが行われません。なお、ポートは一度に1つしか指定できないので、複数のポートでフィルタリングを有効にしたい場合は、ポートの数だけエントリーを作成してください。

> Note - フィルタリング条件としてEPORT（出力スイッチポート）を指定した場合、FDB、L3テーブルのどちらにも登録されていないMACアドレス（ブロードキャスト、マルチキャスト、未学習のユニキャスト）宛てのパケットにはフィルターが適用されなくなります。したがって、TCP制御フラグによるフィルタリング（TCPSYN、TCPACK、TCPFINパラメーター）を行う場合、および、ブロードキャスト、マルチキャストパケットのフィルタリングを行う場合は、EPORTパラメーターを併用しないでください。

■ TCPの制御フラグはコネクション方向の判別に使用できますが、前述の制限があるため、EPORTパラメーターとは併用しないでください。

#### アクションの指定

パケットが条件に一致したときのアクションは、ACTIONパラメーターで指定します。ACTIONはカンマ区切りで複数指定が可能です。
次の表に示すとおり、アクションはいくつかの「カテゴリー」に分類できます。表で（相互排他）と記されているカテゴリーは、パケットが同一カテゴリー内の複数のアクションにマッチした場合に、最後にマッチしたエントリー、すなわち、フィルター番号・エントリー番号のもっとも大きなエントリーのアクションだけが実行されることを示しています。

表 3：ACTIONパラメーターに指定できるオプション
パケットの破棄・通過を制御するアクション（相互排他）
DENY | パケットを破棄する。マッチしたエントリーの中にDENYアクションが含まれている場合は、NODROPによって打ち消されない限り、通常のポートからパケットが出力されることはない（SENDEPORT、SENDCOSアクションがある場合でもパケットは出力されない）。ただし、ポートミラーリング機能が有効な場合は、ミラーポートからパケットのコピーが出力される（SENDMIRRORアクションも有効）
NODROP | DENYアクションを打ち消し、本来破棄されるべきパケットを出力する。おもに、デフォルト拒否の設定において、一部のパケットだけを許可したい場合に使う
出力ポートを変更するアクション
SENDEPORT | ユニキャストパケット（ここでは、ブロードキャスト、マルチキャスト、および、未学習のユニキャストを除くパケットのこと）の出力先をPORTパラメーターで指定されたポートに変更する。このとき、出力ポート（PORT）と入力ポートが同じVLANでなくてはならないので、設定には注意すること。また、仕様により、本来ならL3スイッチング（ルーティング）されるはずのパケットは、出力ポート（PORT）のタグ設定（タグ付き・タグなし）にかかわらず、本来のルーティング先のVLANタグが付いた状態で出力される
SENDNONUNICASTTOPORT | 非ユニキャストパケット（ここでは、ブロードキャスト、マルチキャスト、および、未学習のユニキャストのこと）の出力先をPORTパラメーターで指定されたポートだけに変更する。このとき、出力ポート（PORT）と入力ポートが同じVLANでなくてはならないので、設定には注意すること
出力キューを変更するアクション（相互排他）
SENDCOS | パケットをPRIORITYパラメーターで指定されたプライオリティーに対応するレベルの送信キューに入れる
MOVETOSTOPRIO | （受信時の）IPヘッダーのTOS優先度（precedence）フィールドの値を、VLANタグフレームの802.1pユーザープライオリティーフィールドにコピーする。また、コピー後のユーザープライオリティーに対応するレベルの送信キューにパケットを入れる
802.1pプライオリティーを書き換えるアクション（相互排他）
MOVETOSTOPRIO | （受信時の）IPヘッダーのTOS優先度（precedence）フィールドの値を、VLANタグフレームの802.1pユーザープライオリティーフィールドにコピーする。また、コピー後のユーザープライオリティーに対応するレベルの送信キューにパケットを入れる
SETPRIORITY | VLANタグフレームの802.1pユーザープライオリティーフィールドに、PRIORITYパラメーターで指定された値を書き込む。出力ポートがタグ付きの場合のみ有効。出力ポートがタグなしの場合はパケットにタグが付かないので、本アクションは意味を持たない
IP TOS/DSCPフィールドを書き換えるアクション（相互排他）
SETTOS | パケットのIP TOS優先度（precedence）フィールドに、NEWTOSパラメーターで指定された値を書き込む。TYPEパラメーターでIP以外のプロトコルを指定した場合は無効
MOVEPRIOTOTOS | （受信時の）VLANタグフレームの802.1pユーザープライオリティーフィールドの値を、IPヘッダーのTOS優先度（precedence）フィールドにコピーする
SETIPDSCP | IPヘッダーのDSCP（DiffServ Code Point）フィールドに、NEWIPDSCPパラメーターで指定された値を書き込む。TYPEパラメーターでIP以外のプロトコルを指定した場合は無効
その他のアクション
SENDMIRROR | パケットのコピーをミラーポートから出力する。あらかじめ、ミラーポートを指定し、ポートミラーリング機能を有効にしておく必要がある。パケットが複数のエントリーにマッチした場合、DENY、NODROP、SEND〜を除く他のアクションがすべて適用された状態でパケットがミラーされる。また、DENY対象のパケットであってもミラーされる。仕様により、すべてのパケットがVLANタグ付きでミラーポートから出力される。また、ルーティング対象パケットには、ルーティング先のVLANタグが付く

コマンド例

次に具体的なコマンド例を示します。
なお、以下の例ではいずれも、フィルター（マッチ条件）を1つしか作成していないものと仮定しています。複数のフィルターを作成する場合は、ADD SWITCH L3FILTER ENTRYコマンドのL3FILTERパラメーターで適切なフィルター番号を指定してください。フィルター番号はSHOW SWITCH L3FILTERコマンドで確認できます。
■ ポート1〜3で受信した192.168.10.0/24からのIPパケットを破棄

`ADD SWITCH L3FILTER MATCH=SIPADDR SCLASS=C IMPORT=TRUE ↓
ADD SWITCH L3FILTER=1 ENTRY SIPADDR=192.168.10.0 IPORT=1 ACTION=DENY ↓
ADD SWITCH L3FILTER=1 ENTRY SIPADDR=192.168.10.0 IPORT=2 ACTION=DENY ↓
ADD SWITCH L3FILTER=1 ENTRY SIPADDR=192.168.10.0 IPORT=3 ACTION=DENY ↓
`

■ 192.168.10.100（単一ホスト）からのIPパケットを破棄

`ADD SWITCH L3FILTER MATCH=SIPADDR SCLASS=HOST ↓
ADD SWITCH L3FILTER=1 ENTRY SIPADDR=192.168.10.100 ACTION=DENY ↓
`

■ ポート2から送信されるICMPパケットを破棄

`ADD SWITCH L3FILTER MATCH=PROTOCOL EMPORT=TRUE ↓
ADD SWITCH L3FILTER=1 ENTRY PROTOCOL=ICMP EPORT=2 ACTION=DENY ↓
`

■ 192.168.10.0/24からのパケットは原則拒否だが、192.168.10.103からのパケットだけは許可。NODROPアクションの使用例です。

`ADD SWITCH L3FILTER MATCH=SIPADDR SCLASS=C ↓
ADD SWITCH L3FILTER=1 ENTRY SIPADDR=192.168.10.0 ACTION=DENY ↓
ADD SWITCH L3FILTER MATCH=SIPADDR SCLASS=HOST ↓
ADD SWITCH L3FILTER=2 ENTRY SIPADDR=192.168.10.103 ACTION=NODROP ↓
`

■ telnetパケットをユーザープライオリティー7に対応した送信キューに入れる

`ADD SWITCH L3FILTER MATCH=PROTOCOL,TCPDPORT ↓
ADD SWITCH L3FILTER=1 ENTRY PROTOCOL=TCP TCPDPORT=TELNET PRIORITY=7 ACTION=SENDCOS ↓
`

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

`ADD SWITCH L3FILTER MATCH=DIPADDR,PROTOCOL,TCPDPORT DCLASS=HOST ↓
ADD SWITCH L3FILTER=1 ENTRY DIPADDR=192.168.30.100 PROTOCOL=TCP TCPDPORT=TELNET ACTION=DENY ↓
`

■ 192.168.10.5からのパケットの802.1pユーザープライオリティーフィールドに4をセットして送信

`ADD SWITCH L3FILTER MATCH=SIPADDR SCLASS=HOST ↓
ADD SWITCH L3FILTER=1 ENTRY SIPADDR=192.168.10.5 PRIORITY=4 ACTION=SETPRIORITY ↓
`

■ 受信パケットのIP TOS優先度が1の場合、ユーザープライオリティーを4にして送信

`ADD SWITCH L3FILTER MATCH=TOS ↓
ADD SWITCH L3FILTER=1 ENTRY TOS=1 PRIORITY=4 ACTION=SETPRIORITY ↓
`

■ 192.168.10.100宛てのパケットをミラーポート1から出力。ミラーリングされたパケットにはVLANタグが付いています。

`SET SWITCH MIRROR=1 ↓
ENABLE SWITCH MIRROR ↓
ADD SWITCH L3FILTER MATCH=DIPADDR DCLASS=HOST ↓
ADD SWITCH L3FILTER=1 ENTRY DIPADDR=192.168.10.100 ACTION=SENDMIRROR ↓
`

■ 192.168.10.100からのTCPコネクション確立要求を拒否（片方向のみ拒否。他のホストから192.168.10.100へはコネクションを張れる）

`ADD SWITCH L3FILTER MATCH=SIPADDR,PROTOCOL,TCPSYN,TCPACK SCLASS=HOST ↓
ADD SWITCH L3FILTER=1 ENTRY SIPADDR=192.168.10.100 PROTOCOL=TCP TCPSYN=TRUE TCPACK=FALSE ACTION=DENY ↓
`

■ 192.168.10.0/24から192.168.20.0/24へのTCPコネクション確立要求を拒否（片方向のみ拒否。192.168.20.0/24から192.168.10.0/24へはコネクションを張れる）

`ADD SWITCH L3FILTER MATCH=SIPADDR,DIPADDR,PROTOCOL,TCPSYN,TCPACK SCLASS=C DCLASS=C ↓
ADD SWITCH L3FILTER=1 ENTRY SIPADDR=192.168.10.0 DIPADDR=192.168.20.0 PROTOCOL=TCP TCPSYN=TRUE TCPACK=FALSE ACTION=DENY ↓
`

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

`ADD SWITCH L3FILTER MATCH=SIPADDR,PROTOCOL,TCPSYN,TCPACK SCLASS=C ↓
ADD SWITCH L3FILTER=1 ENTRY SIPADDR=192.168.10.0 PROTOCOL=TCP TCPSYN=TRUE TCPACK=FALSE ACTION=DENY ↓
`

通常、ネットワーククラス単位でフィルターを設定するとき（SCLASS、DCLASSにA, B, Cまたは1〜32のマスク長を指定したとき）は、前の例のように送信元（SIPADDR）と宛先（DIPADDR）の両方を指定してください。
■ ある条件を満たしたパケットに対して複数の処理を行いたい場合は、1つのエントリーで複数のアクションを指定してください。同一フィルター（マッチ条件）内で、同じフィルタリング条件を持つエントリーを複数作ることはできません。
たとえば、192.168.1.1からのパケットに対して、TOS precedenceの書き換えと送信キューの指定を行いたい場合、次のように設定することはできません。3行目と4行目のエントリーのフィルタリング条件が同じため、4行目を入力するときにエラーになります。

`ADD SWITCH L3FILTER MATCH=SIPADDR SCLASS=HOST ↓
ADD SWITCH L3FILTER=1 ENTRY SIPADDR=192.168.1.1 ACTION=SETTOS NEWTOS=1 ↓
ADD SWITCH L3FILTER=1 ENTRY SIPADDR=192.168.1.1 ACTION=SENDCOS PRIORITY=7 ↓
`

このような場合は、次のようにしてください。

`ADD SWITCH L3FILTER MATCH=SIPADDR SCLASS=HOST ↓
ADD SWITCH L3FILTER=1 ENTRY SIPADDR=192.168.1.1 ACTION=SETTOS,SENDCOS NEWTOS=1 PRIORITY=7 ↓
`

■ ハードウェアIPフィルターを使用するために、必ずしもIPモジュールを有効にする必要はありません。純粋なレイヤー2スイッチとして本製品を使用する場合であっても、ハードウェアIPフィルターを使えば、IPアドレスやプロトコルに応じたフィルタリングが可能です。
■ どのようなハードウェアIPフィルター（マッチ条件）が作成されているかを確認するには、SHOW SWITCH L3FILTERコマンドを使います。

    Manager > show switch l3filter

    Hardware based filtering.... Enabled
    Software filtering bypass .. Disabled

    Filter ................. 1
    Matched fields ......... sip
    Type ................... ETH-II
    Source address mask .... 255.255.255.0
    Dest. address mask ..... 0.0.0.0
    Ingress port mask ...... false
    Egress port mask ....... false

    Filter ................. 2
    Matched fields ......... sip
    Type ................... ETH-II
    Source address mask .... 255.255.255.255
    Dest. address mask ..... 0.0.0.0
    Ingress port mask ...... false
    Egress port mask ....... false

■ ハードウェアIPフィルターのフィルターエントリーを確認するには、SHOW SWITCH L3FILTERコマンドにENTRYオプションを付けます。このときは、フィルター番号を必ず指定しなくてはなりません。

    Manager > show switch l3filter=2 entry

    Hardware based filtering.... Enabled
    Software filtering bypass .. Disabled

    Filter ................. 2
    Matched fields ......... sip
    Type ................... ETH-II
    Source address mask .... 255.255.255.255
    Dest. address mask ..... 0.0.0.0
    Ingress port mask ...... false
    Egress port mask ....... false
    Filter Entries:
    ---------------------------------------------------------------------------
      Entry ................ 1
      Ingress Port ......... None
      Egress Port .......... None
      Source Address ....... 192.168.10.130
      Source Mask .......... 255.255.255.255
      Dest Address ......... 0.0.0.0
      Dest Mask ............ 0.0.0.0
      Protocol ............. 0
      TTL .................. 0
      TOS .................. 0
      IPDSCP ............... 0
      Type ................. 0800(ETH-II)
      Action ............... NODROP
    ---------------------------------------------------------------------------
      Entry ................ 2
      Ingress Port ......... None
      Egress Port .......... None
      Source Address ....... 192.168.10.103
      Source Mask .......... 255.255.255.255
      Dest Address ......... 0.0.0.0
      Dest Mask ............ 0.0.0.0
      Protocol ............. 0
      TTL .................. 0
      TOS .................. 0
      IPDSCP ............... 0
      Type ................. 0800(ETH-II)
      Action ............... NODROP
    ---------------------------------------------------------------------------
      Entry ................ 3
      Ingress Port ......... None
      Egress Port .......... None
      Source Address ....... 192.168.10.16
      Source Mask .......... 255.255.255.255
      Dest Address ......... 0.0.0.0
      Dest Mask ............ 0.0.0.0
      Protocol ............. 0
      TTL .................. 0
      TOS .................. 0
      IPDSCP ............... 0
      Type ................. 0800(ETH-II)
      Action ............... NODROP
    ---------------------------------------------------------------------------

■ ハードウェアIPフィルターからエントリーを削除するには、DELETE SWITCH L3FILTERコマンドのENTRYパラメーターでエントリー番号を指定します。

`DELETE SWITCH L3FILTER=1 ENTRY=1 ↓`

> Note - エントリー番号は可変です。エントリーを削除すると、後続のエントリー番号が1つずつ前にずれるので注意してください。コマンド中でエントリー番号を指定するときは、必ずSHOW SWITCH L3FILTERコマンドにENTRYパラメーターを付けて実行し、希望のエントリーの番号を確認してから指定してください。

■ フィルター（マッチ条件）を削除するには、エントリーをすべて削除したあとで次のように実行します。

`DELETE SWITCH L3FILTER=1 ↓`

> Note - フィルター番号は可変です。フィルター（マッチ条件）を削除すると、後続のフィルター番号が1つずつ前にずれるので注意してください。コマンド中でフィルター番号を指定するときは、必ずSHOW SWITCH L3FILTERコマンドで希望するフィルターの番号を確認してから指定してください。

■ ハードウェアIPフィルターはデフォルトで有効になっています（デフォルト有効のIGMP SnoopingがハードウェアIPフィルターを内部的に使用しているため）。無効に設定していた場合は、ENABLE SWITCH L3FILTERコマンドで有効にしてください。

`ENABLE SWITCH L3FILTER ↓`

設定例

特定スイッチポートからのみ外部へのUDP通信を許可

ハードウェアIPフィルターを利用して、VLAN内の特定ポートからのみ外部へのUDP通信を許可する設定例を示します。ここでは、次のようなネットワーク構成を例に説明します。

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

- VLAN orangeから外部へのUDPトラフィックは原則として拒否する。
- ただし、ポート1から外部へはUDP通信を許可する。

ポート単位でのフィルタリングには、DHCPクライアントのIPアドレスが変更された場合でも対応できるメリットがあります。
スイッチAの設定

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

   `CREATE VLAN=white VID=10 ↓
   CREATE VLAN=orange VID=20 ↓
   ADD VLAN=white PORT=6 ↓
   ADD VLAN=orange PORT=1-3 ↓
   `
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 NEXTHOP=192.168.10.32 ↓`
5. ハードウェアIPフィルターの設定を行います。
   - フィルターを作成しマッチ条件を指定します。ここではUDPトラフィックだけを対象とするため、IPプロトコルフィールド（PROTOCOL）を条件として指定します。また、入力ポート単位でフィルタリングを行うため「IMPORT=TRUE」も指定します。

     `ADD SWITCH L3FILTER MATCH=PROTOCOL IMPORT=TRUE ↓`
   - 具体的な条件値とアクションを指定します。ここではプロトコルがUDPで、受信ポートが2か3のトラフィックを破棄するよう指定します。

     `ADD SWITCH L3FILTER=1 ENTRY PROTOCOL=UDP IPORT=2 ACTION=DENY ↓
     ADD SWITCH L3FILTER=1 ENTRY PROTOCOL=UDP IPORT=3 ACTION=DENY ↓
     `

設定は以上です。

TCP片方向通信

マッチ条件としてTCPの制御フラグSynとAckを使用し、片方のVLANからのみTCPの通信を開始できるように設定します。

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

- TCPはVLAN orangeからwhiteへの通信（セッション開始）のみを許可。whiteからorangeへの通信は拒否する。
- その他のプロトコルはすべて許可する。

スイッチ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. ハードウェアIPフィルターの設定を行います。
   - フィルターを作成しマッチ条件を指定します。ここではIPヘッダーの始点・終点IPアドレスとプロトコルフィールド、TCPヘッダーのSyn、Ackフラグを条件として指定します。サブネット単位でアドレスを指定するため、SCLASS、DCLASSにはC（クラスC＝24ビットマスク）を指定します。

     `ADD SWITCH L3FILTER MATCH=SIPADDR,DIPADDR,PROTOCOL,TCPACK,TCPSYN SCLASS=C DCLASS=C ↓`
   - 具体的な条件値とアクションを指定します。ここでは192.168.10.0/24から192.168.20.0/24へのTCPセッション開始要求（Synパケット）を破棄するよう設定します。

     `ADD SWITCH L3FILTER=1 ENTRY SIPADDR=192.168.10.0 DIPADDR=192.168.20.0 PROTOCOL=TCP TCPSYN=TRUE TCPACK=FALSE ACTION=DENY ↓`

設定は以上です。

「マルチプルVLAN」的構成例

ポート1、2、3を個別のVLANとし、VLAN commonを共有するよう設定します。個々のVLAN間の通信は禁止します。ここでは、次のようなネットワーク構成を例に説明します。

スイッチAの設定

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

   `CREATE VLAN=p1 VID=10 ↓
   CREATE VLAN=p2 VID=20 ↓
   CREATE VLAN=p3 VID=30 ↓
   CREATE VLAN=common VID=60 ↓
   ADD VLAN=p1 PORT=1 ↓
   ADD VLAN=p2 PORT=2 ↓
   ADD VLAN=p3 PORT=3 ↓
   ADD VLAN=common PORT=6 ↓
   `
2. IPモジュールを有効にします。

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

   `ADD IP INT=vlan-p1 IP=192.168.10.1 MASK=255.255.255.0 ↓
   ADD IP INT=vlan-p2 IP=192.168.20.1 MASK=255.255.255.0 ↓
   ADD IP INT=vlan-p3 IP=192.168.30.1 MASK=255.255.255.0 ↓
   ADD IP INT=vlan-common IP=172.16.10.1 MASK=255.255.255.0 ↓
   `
4. ハードウェアIPフィルターの設定を行います。
   - フィルターを作成しマッチ条件を指定します。ここでは始点・終点IPアドレスを条件とします。また、SCLASS、DCLASSパラメーターでクラスBマスクを指定し、アドレス指定を簡素化しています。

     `ADD SWITCH L3FILTER MATCH=SIPADDR,DIPADDR SCLASS=B DCLASS=B ↓`
   - 具体的な条件値とアクションを指定します。ここでは始点、終点とも192.168.0.0/16となるようなパケットを拒否します。1ポート1VLANなので、同一VLAN内のパケットについては考慮しなくてもかまいません。

     `ADD SWITCH L3FILTER=1 ENTRY SIPADDR=192.168.0.0 DIPADDR=192.168.0.0 ACTION=DENY ↓`
5. 本体への不正アクセスを防ぐため、Telnetサーバーを停止します。

   `DISABLE TELNET SERVER ↓`

設定は以上です。

IPベースのQoS

IPアドレスやTCP/UDPポートに基づきパケット送信時の優先度に差を付けるIPベースQoSの設定例を示します。ここでは、次のようなネットワーク構成を例に説明します。

ここでは、次のようなQoSを設定します。

- ホストA（192.168.20.100）とサーバー（192.168.10.5）間のIPトラフィックを最優先で送信する。具体的には最高位の3番キューから送信する。
- その他のIPトラフィックは通常の優先度で送信する（0番キュー）。
- ユーザープライオリティーとキューのマッピングはデフォルト（1,0,0,1,2,2,3,3）とする。詳細は「QoS」およびSET QOS HWPRIORITYコマンドの解説をご覧ください。

スイッチ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. ハードウェアIPフィルターの設定を行います。
   - マッチ条件（フィルター）を作成します。ここでは始点・終点IPアドレスを条件とします。ホストA・サーバー間の一対一通信に対するフィルタリングなので、SCLASS、DCLASSパラメーターにはHOSTを指定します。

     `ADD SWITCH L3FILTER MATCH=SIPADDR,DIPADDR SCLASS=HOST DCLASS=HOST ↓`
   - フィルターエントリーを作成します。ここでは始点がサーバーで終点がホストA、あるいは、始点がホストAで終点がサーバーとなる2つのエントリーを追加します。アクションにSENDCOSを指定し、PRIORITYでプライオリティーを指定します。デフォルトのQoSマッピングでは、プライオリティー7のパケットは最上位の3番キューから最優先で送信されます。

     `ADD SWITCH L3FILTER=1 ENTRY SIPADDR=192.168.10.5 DIPADDR=192.168.20.100 ACTION=SENDCOS PRIORITY=7 ↓
     ADD SWITCH L3FILTER=1 ENTRY SIPADDR=192.168.20.100 DIPADDR=192.168.10.5 ACTION=SENDCOS PRIORITY=7 ↓
     `

設定は以上です。

ハードウェアIPフィルターによるポートミラーリング

ハードウェアIPフィルターを用いて、特定のIPパケットだけをミラーポートにコピーする設定例を示します。ここでは、次のようなネットワーク構成を例に説明します。

ここでは、ホストA（192.168.20.100）とサーバー（192.168.10.5）間のIPトラフィックだけをミラーポートにコピーするよう設定します。ミラーポートには1番ポートを使います。
なお、仕様によりハードウェアIPフィルター経由でミラーリングされたパケットは、VLANタグが付いた状態でミラーポートに出力されます。キャプチャーソフトがVLANタグを識別できない場合、IPパケットがプロトコルタイプ0x8100（802.1Qタグ）として表示される場合がありますのでご注意ください。
スイッチAの設定

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

   `CREATE VLAN=white VID=10 ↓
   CREATE VLAN=orange VID=20 ↓
   ADD VLAN=white PORT=2-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. ミラーポートを設定します。

   `SET SWITCH MIRROR=1 ↓`

   > Note - このときポート1がVLAN default以外に所属しているとエラーになります。その場合は、DELETE VLAN PORTコマンドでポートを現在所属中のVLANから削除した上で、本コマンドを実行してください。

5. ポートミラーリング機能を有効にします。

   `ENABLE SWITCH MIRROR ↓`
6. ハードウェアIPフィルターの設定を行います。
   - マッチ条件（フィルター）を作成します。ここでは始点・終点IPアドレスを条件とします。ホストA・サーバー間の一対一通信に対するフィルタリングなので、SCLASS、DCLASSパラメーターにはHOSTを指定します。

     `ADD SWITCH L3FILTER MATCH=SIPADDR,DIPADDR SCLASS=HOST DCLASS=HOST ↓`
   - フィルターエントリーを作成します。ここでは始点がサーバーで終点がホストA、あるいは、始点がホストAで終点がサーバーとなる2つのエントリーを追加します。アクションにSENDMIRRORを指定し、マッチしたパケットのコピーがミラーポートから出力されるようにします。

     `ADD SWITCH L3FILTER=1 ENTRY SIPADDR=192.168.10.5 DIPADDR=192.168.20.100 ACTION=SENDMIRROR ↓
     ADD SWITCH L3FILTER=1 ENTRY SIPADDR=192.168.20.100 DIPADDR=192.168.10.5 ACTION=SENDMIRROR ↓
     `

設定は以上です。これにより、ホストA・サーバー間のIPトラフィックだけがミラーポート（ポート1）にコピーされるようになります。ミラーポートにアナライザーを接続すれば、ホストA・サーバー間のトラフィックを解析できます。なお、ハードウェアIPフィルターによるミラーリングでは、ミラーされたパケットにVLANタグが付きます。

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

PN: J613-M0785-02 Rev.B