入力遮断フィルター・ポリシーフィルター

概要

この文書では、RTX820、RTX1200及びRTX800に搭載されているフィルタリングの機能について説明します。大きくわけると、フィルタリングの機能としては、入力遮断フィルターと、ポリシーフィルターの2つがあります。入力遮断フィルターは不要なパケットを受信したときに、早い段階で捨てるために利用します。ポリシーフィルターは、Stateful Inspection方式のフィルタリングを実現するもので、コネクションを単位とするアクセス制御の手段を提供します。

下図は、これらの2つのフィルターの位置づけを示しています。

フィルターの処理の位置づけ

まず、受信したパケットを不正アクセス検知機能(IDS)で検査し、IPヘッダやTCPヘッダなどの異常を検出します。異常なパケットは破棄します。

次に入力遮断フィルターで処理します。ここでは、パケットのIPアドレス、プロトコル、ポート番号を見て、通過・破棄を決定します。処理する必要がないパケットは、なるべく、ここで破棄することが望まれます。そして、NATの受信側の処理があり、ルーティングの処理が続きます。

その後、ポリシーフィルターの処理と、NATの送信側の処理が続き、最後に、各インターフェースにパケットを送信します。

入力遮断フィルター

機能の説明

受信したパケットをなるべく早い段階で破棄するために、 入力遮断フィルターを利用します。入力遮断フィルターでは、パケットを指定する条件として、次の項目を設定できます。

  • 始点アドレス
  • 終点アドレス
  • プロトコル
  • 始点ポート番号
  • 終点ポート番号

入力遮断フィルターは、インターフェースごとに設定することができます。通常は、WANのインターフェースと、LANのインターフェースでは、破棄したいパケットは異なるので、設定する内容も異なります。設定できる条件の数は、インターフェースごとに、最大で128になっています。

下図に設定例を示します。上から順に条件を見て、受信パケットと一致する条件を探します。一致する条件があれば、その右の動作欄にしたがって通過か破棄かを決めます。 一致する条件がないときには、パケットは通過しません。ただし、そもそも入力遮断フィルターがまったく設定されていないときには、パケットは通過する仕様になっています。

入力遮断フィルターの設定例

syslog noticeコマンドでonを設定しているときには、入力遮断フィルターの動作をSyslogに残すことができます。
Syslogのフォーマットは次のようになっています。

  • インターフェース Passed/Rejected at Inbound Filter(フィルター番号) プロトコル パケットの情報

コマンド

入力遮断フィルタの定義

[書式]
ip/ipv6 inbound filter ID ACTION SRC_ADDRESS[/MASK] [DST_ADDRESS[/MASK] [PROTOCOL [SRC_PORT [DST_PORT]]]]
no ip/ipv6 inbound filter ID [ACTION [SRC_ADDRESS[/MASK] [DST_ADDRESS[/MASK] [PROTOCOL [SRC_PORT [DST_PORT]]]]]]
[設定値]
  • ID ... フィルタの識別子 (1..65535)
  • ACTION ... 動作
    • pass-log ... 通過させてログを記録する
    • pass-nolog ... 透過させてログを記録しない
    • reject-log ... 遮断してログを記録する
    • reject-nolog ... 遮断してログを記録しない
  • SRC_ADDRESS ... 始点アドレス
    • XXX.XXX.XXX.XXX (XXXは十進数)
    • * (すべてのIPアドレス)
    • 間に-を挟んだ2つの上項目、-を前につけた上項目、-を後ろにつけた上項目。これらは範囲を指定する。
  • DST_ADDRESS ... 終点アドレス
    • SRC_ADDRESSと同じ形式
    • 省略時は1個の*と同じ。
  • MASK ... IPアドレスのビットマスク (SRC_ADDRESSおよびDST_ADDRESSがネットワークアドレスの場合のみ指定可)
    • XXX.XXX.XXX.XXX (XXXは十進数)
    • 0xに続く十六進数
    • マスクビット数
    • 省略時は0xffffffffと同じ
  • PROTOCOL ... プロトコル
    • プロトコルを表す十進数 (0..255)
    • プロトコルを表すニーモニック
      ニーモニック 十進数 説明
      icmp 1 icmpパケット
      icmp-error - 特定のTYPEコードのicmpパケット
      icmp-info - 特定のTYPEコードのicmpパケット
      tcp 6 tcpパケット
      tcpsyn - SYNフラグの立っているtcpパケット
      tcpfin - FINフラグの立っているtcpパケット
      tcprst - RSTフラグの立っているtcpパケット
      established - ACKフラグの立っているtcpパケット
      内から外への接続は許可するが、外から内への接続は拒否する機能
      udp 17 udpパケット
      gre 47 PPTPのgreパケット
      esp 50 IPsecのespパケット
      ah 51 IPsecのahパケット
      • 上項目のカンマで区切った並び (5個以内)
      • tcpflag=flag_value/flag_maskまたは tcpflag!=flag_value/flag_mask
        • flag_value(0xに続く十六進数 0x0000 .. 0xffff)
        • flag_mask(0xに続く十六進数 0x0000 .. 0xffff)
      • * (すべてのプロトコル)
      • 省略時は*と同じ。
  • SRC_PORT ... ソースポート番号
    • ポート番号を表す十進数
    • ポート番号を表すニーモニック(一部)
      ニーモニック ポート番号
      ftp 20,21
      ftpdata 20
      telnet 23
      smtp 25
      domain 53
      gopher 70
      finger 79
      www 80
      pop3 110
      sunrpc 111
      ident 113
      ntp 123
      nntp 119
      snmp 161
      syslog 514
      printer 515
      talk 517
      route 520
      uucp 540
      • 間に-を挟んだ2つの上項目、-を前につけた上項目、-を後ろにつけた上項目。これらは範囲を指定する。
      • 上項目のカンマで区切った並び (10個以内)
      • * (すべてのポート)
      • 省略時は*と同じ。
  • DST_PORT ... デスティネーションポート番号
    • 書式はSRC_PORTと同じ。
[説明]

インターフェイスの入り口で破棄または通過を決定したい パケットの条件を定義する。このコマンドの設定は、 ip INTERFACE inbound filterコマンドで参照される。

入力遮断フィルタの適用

[書式]
ip/ipv6 INTERFACE inbound filter list ID ...
no ip/ipv6 INTERFACE inbound filter list [ ID ... ]
[設定値]
  • INTERFACE ... インターフェース
  • ID ... ip inbound filterコマンドで定義したフィルタの識別子
[説明]

ip inbound filterコマンドによる設定を組み合わせて、インターフェイスで受信するパケットの種類を制限する。
複数のIDを指定したときには、先に指定したものから順に、対応するip inbound filterコマンドの条件とマッチするかどうかを評価する。

入力遮断フィルタの状態表示

[書式]
show status ip/ipv6 inbound filter [TYPE]
[設定値]
  • TYPE ... 表示の種類
    • summary ... サマリーだけを表示する
[説明]

入力遮断フィルタの状態を表示する。

入力遮断フィルタの状態のクリア

[書式]
clear ip/ipv6 inbound filter [ INTERFACE [ID] ]
[設定値]
  • INTERFACE ... インターフェース
    • LANインターフェース (lan1、lan2など)
    • PPインターフェイス (pp 1、pp 2など) ※'pp'と番号の間には空白が必要
    • TUNNELインターフェイス (tunnel 1、tunnel 2など) ※'tunnel'と番号の間には空白が必要
  • ID ... フィルタの識別子 (1 .. 65535)
[説明]

指定した入力遮断フィルタに関するログなどの情報をクリアする。インターフェースやIDを指定しないときには、すべてのインターフェースやIDが対象になる。

ポリシーフィルター

ポリシー

ポリシーフィルターは、従来のファームウェアの動的フィルタに相当していて、Stateful Inspection方式のフィルタリングを実現するものです。すなわち、パケットの単位ではなく、コネクションの単位で、通過と破棄を指定することができます。たとえば、「SMTPのコネクションを通す」とか「TELNETのコネクションを破棄する」というような制御が可能です。

コネクションを指定するために、下記の項目を設定します。

  • 受信インターフェース
  • 送信インターフェース
  • 始点アドレス
  • 終点アドレス
  • サービス

サービスとは、多くの場合、アプリケーションに対応しており、たとえば、TELNET、SMTP、POP、FTP、WWWなどの値を取るものです。

動作としては、通過と破棄のいずれかを設定できます。たとえば、下図の例では、

  • LAN2からLAN1へ抜けるTELNETを破棄する
  • LAN1からLAN2へ抜けるpingを許可する

という2つのルールを定義しています。ヤマハルーターでは、このように条件と動作を組み合わせたルールをポリシーと呼んでいます。

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

ポリシーの優先度は上に書かれているものほど高く、上から下に向けて順番に、ポリシーが評価されていきます。いずれのポリシーにも該当しないコネクションは破棄され、通過しません。ただし、そもそもポリシーがまったく設定されていないときには、パケットは通過します。設定できるポリシーの最大数は128になっています。

ポリシーの動作としては、次の4種類があります。

動作 アイコン 説明
pass pass パケットを通します。TCPとUDPとpingについては、Stateful Inspection方式で通し、それ以外のパケットについては、そのまま通します。
static-pass static-pass Stateful Inspection方式を使わずにパケットを通します。
reject reject パケットを破棄します。
restrict restrict パケットを送信しようとするインターフェースがupしており、パケットを送信できる状態になっているならば通し、そうでなければパケットを破棄します。パケットを通すときには、TCPとUDPとpingについては、Stateful Inspection方式で通し、それ以外のパケットについては、そのまま通します。

グループ

インターフェースやアドレスやサービスを表現するときには、グループという概念を使うことができます。グループは、複数の値をまとめて扱うときに使うもので、たとえば、下図では、複数のインターフェースをまとめて、「Private」「Global」という名前のグループを作っています。

インターフェースグループの例

下図では、グループを使って、ポリシーを定義しています。グループを使うと、設定の変更がより簡単になります。

グループを使ったポリシーの例

グループには、インターフェースグループ、アドレスグループ、サービスグループの3種類がありますが、いずれのグループでも、グループのメンバーを最大20個まで定義できます。グループを階層的に定義することもできますが、階層の深さは2つまでです。たとえば、グループ1の中にグループ2を含めたときには、グループ2の中にグループを含めることはできません。また、アドレスグループの中にサービスグループを含めるなど、異なる種類のグループを混在させることもできません。

ポリシーセット

ポリシーを順に並べたものをポリシーセットと呼んでいます。ヤマハルーターでは複数のポリシーセットを定義でき、そのうちの1つを選んで使用します。 たとえば、普段は「通常設定」という名前のポリシーセットを使っておき、何か問題が発生したら、「緊急設定」という名前のポリシーセットに切り替えるという使い方をします。GUIでは最大3つのポリシーセットを定義できます。

ポリシーの階層化

ポリシーを階層的に並べることもできます。これは、条件を絞り込んで例外的なポリシーを追加するときに便利です。たとえば、下図の例では、1行目でWWWのアクセスを許可していますが、2行目で、その例外条件を追加しています。すなわち、WWWであっても、始点アドレスが172.16.0.1であれば拒否するという意味になります。

階層的なポリシーの例

ポリシーを階層的に書く場合、下位のポリシーは、上位のポリシーの条件を引き継ぎます。つまり、下位のポリシーの条件は、上位のポリシーの条件を絞り込むことになります。

ポリシーの階層は最大で4階層まで定義できます。

ポリシーセットの自動切り換え

複数のポリシーセットを定義しておき、特定の事象を契機にして、自動的にポリシーセットを切り替えることができます。契機として指定できる事象としては、次の3つがあります。

  • winny ... 不正アクセス検知機能でWinnyを検知したとき
  • ethernet-filter ... イーサネットフィルタでIPパケットが破棄されたとき
  • qos-class-control ... DCC(Dynamic Class Control)で帯域の占有を検知したとき

これらの事象が発生したら、ポリシーセットを自動的に切り替えます。また、事象が発生しなくなったら、自動的に元のポリシーセットに戻します。詳細は、ip policy filter set switchコマンドの仕様を参照してください。

動作を確認する方法

syslog noticeコマンドでonを設定しているときには、ポリシーフィルターの動作をSyslogに出力します。まず、ポリシーセットを切り替えたときには、次のSyslogを出力します。

  • Enabled Policy Set(ポリシーセットの番号)

ポリシーに合致するコネクションやパケットが発生したときには、次のようなSyslogを出力します。

  • Passed/Rejected/Restricted at Policy Filter(ポリシー番号): プロトコル パケットの情報

GUIでは、ポリシーの条件に合致したパケットを受信したときに、動作を示すアイコンがアニメーションするようになっています。また、ポリシーごとにログを表示するアイコンがあります。このアイコンをクリックすると、その行のポリシーに関係するログが表示されます。ログは過去100件を蓄積しています。

ポリシーセットの切り替えに関しては、次のSyslogを出力します。

  • Received the trigger to switch Policy Set(ポリシーセットの番号) after downwaitの設定値 seconds

    切り替えのトリガーとなる事象が最初に発生したときに出力します。

  • There's no more reason to use Policy Set(ポリシーセットの番号)

    元のポリシーセットに戻すときに出力します。

  • Enabled Policy Set(ポリシーセットの番号)

    ポリシーセットを切り替えるタイミングで出力します。

コマンド

サービスの定義

[書式]
ip/ipv6 policy service ID SERVICE_NAME PROTOCOL [SOURCE_PORT DESTINATION_PORT ]
no ip/ipv6 policy service ID [ SERVICE_NAME [ PROTOCOL [SOURCE_PORT DESTINATION_PORT ] ] ]
[設定値]
  • ID ... サービスの識別子 (1 .. 65535)
  • SERVICE_NAME ... サービスの名前 (最大16文字まで)
  • PROTOCOL ... プロトコル
  • SOURCE_PORT ... 始点ポート番号 (プロトコルがTCP/UDPのときのみ指定できる)
    • * ... すべて
    • 番号 (0 .. 65535)
    • 番号の範囲 (例: 6000-、6000-6010、-6010)
  • DESTINATION_PORT ... 終点ポート番号 (プロトコルがTCP/UDPのときのみ指定できる)
    • 書式はSOURCE_PORTと同じ。
[説明]

サービスを定義する。このコマンドで定義したサービスは、ip/ipv6 policy filterコマンドや、ip/ipv6 policy service groupコマンドで指定できる。

[ノート]

SERVICE_NAMEとして整数は設定できない。

[初期値]

設定されない

インターフェイスグループの定義

[書式]
ip/ipv6 policy interface group ID [name=NAME] [INTERFACE ...] [group GROUP_ID ... ]
no ip/ipv6 policy interface group ID [name=NAME] [INTERFACE ...] [group GROUP_ID ... ]
[設定値]
  • ID ... インターフェースグループの識別子 (1 .. 65535)
  • NAME ... 名前(半角32文字以内)
  • INTERFACE ... インターフェイス
    • * ... すべて
    • lan* ... すべてのLANインターフェイス
    • pp* ... すべてのPPインターフェイス
    • tunnel* ... すべてのTUNNELインターフェイス
    • local ... ルーター自身
    • lanN-lanM ... LANインターフェイスの範囲 (例: lan1-lan3)
    • ppN-ppM ... PPインターフェイスの範囲 (例: pp1-pp30)
    • tunnelN-tunnelM ... TUNNELインターフェイスの範囲 (例: tunnel1-tunnel10)
  • GROUP_ID ... 他のip/ipv6 policy interface groupコマンドで定義したインターフェイスグループの識別子 (1 .. 65535)
[説明]

インターフェースのグループを定義する。 groupキーワードの後ろにGROUP_IDを記述することで、他のインターフェースグループを入れ子にすることができる。 ここで定義したグループは、ip/ipv6 policy filterコマンドで指定できる。

アドレスグループの定義

[書式]
ip/ipv6 policy address group ID [name=NAME] [ADDRESS ...] [group GROUP_ID ... ]
no ip/ipv6 policy address group ID [name=NAME] [ADDRESS ...] [group GROUP_ID ... ]
[設定値]
  • ID ... アドレスグループの識別子 (1 .. 65535)
  • NAME ... 名前(半角32文字以内)
  • ADDRESS ... アドレス
    • * ... すべて
    • IPアドレス ... 単一のIPアドレス
    • IPアドレス/ネットマスク長 ... 単一のネットワーク
    • IPアドレス-IPアドレス ... IPアドレスの範囲
    • qac-tm-server ... QAC/TMの管理サーバPC
  • GROUP_ID ... 他のip policy address groupコマンドで定義したアドレスグループの識別子(1 .. 65535)
[説明]

アドレスのグループを定義する。groupキーワードの後ろにGROUP_IDを記述することで、他のアドレスグループを入れ子にすることができる。このコマンドで定義したグループは、ip/ipv6 policy filterコマンドで指定できる。

[ノート]

qac-tm-serverはip policy address groupコマンドの場合のみ指定できる。

サービスグループの定義

[書式]
ip/ipv6 policy service group ID [name=NAME] [SERVICE ...] [group GROUP_ID ... ]
no ip/ipv6 policy service group ID [name=NAME] [SERVICE ...] [group GROUP_ID ... ]
[設定値]
  • ID ... サービスグループの識別子 (1 .. 65535)
  • NAME ... 名前(半角32文字以内)
  • SERVICE ... サービス
    • * ... すべて
    • 定義済みサービス ... http、ftp、dnsなどのニーモニック(ニーモニックの一覧はshow status ip policy serviceで確認できる)
    • ユーザ定義サービス ... ip policy serviceコマンドで定義した名前
    • プロトコルとポート番号 ... tcp/80、udp/500など
  • GROUP_ID ... 他のip policy service groupコマンドで定義したサービスグループの識別子(1 .. 65535)
[説明]

サービスのグループを定義する。groupキーワードの後ろにGROUP_IDを記述することで、他のサービスグループを入れ子にすることができる。このコマンドで定義したグループは、ip/ipv6 policy filterコマンドで指定できる。

ポリシーフィルタの定義

[書式]
ip/ipv6 policy filter ID ACTION SOURCE_INTERFACE [ DEST_INTERFACE [ SOURCE_ADDRESS [ DEST_ADDRESS [ SERVICE ]]]]
no ip/ipv6 policy filter ID [ ACTION [ SOURCE_INTERFACE [ DEST_INTERFACE [ SOURCE_ADDRESS [ DEST_ADDRESS [ SERVICE ]]]]]]
[設定値]
  • ID ... ポリシーフィルタの識別子 (1 .. 65535)
  • ACTION ... 動作
    • pass-log ... 通過させてログに記録する
    • pass-nolog ... 通過させてログに記録しない
    • reject-log ... 破棄してログに記録する
    • reject-nolog ... 破棄してログに記録しない
    • restrict-log ... 回線がつながっているときのみ通過させてログに記録する
    • restrict-nolog ... 回線がつながっているときのみ通過させてログに記録しない
    • static-pass-log ... Stateful Inspectionを使わずに通過させてログに記録する
    • static-pass-nolog ... Stateful Inspectionを使わずに通過させてログに記録しない
  • SOURCE_INTERFACE ... 始点インターフェイス
    • * ... すべて
    • lan* ... すべてのLANインターフェイス
    • pp* ... すべてのPPインターフェイス
    • tunnel* ... すべてのTUNNELインターフェイス
    • local ... ルーター自身
    • lanN-lanM ... LANインターフェイスの範囲 (例: lan1-lan3)
    • ppN-ppM ... PPインターフェイスの範囲 (例: pp1-pp30)
    • tunnelN-tunnelM ... TUNNELインターフェイスの範囲 (例: tunnel1-tunnel10)
    • グループ番号 ... ip policy interface groupコマンドで定義した番号
  • DEST_INTERFACE ... 終点インターフェイス
    • 書式は始点インターフェイスと同じ
  • SOURCE_ADDRESS ... 始点アドレス
    • * ... すべて
    • IPアドレス ... 単一のIPアドレス
    • IPアドレス/ネットマスク長 ... 単一のネットワーク
    • IPアドレス-IPアドレス ... IPアドレスの範囲
    • グループ番号 ... ip policy address groupコマンドで定義した番号
  • DEST_ADDRESS ... 終点アドレス
    • 書式は始点アドレスと同じ
  • SERVICE ... サービス
    • * ... すべて
    • 定義済みサービス ... http、ftp、dnsなど
    • ユーザ定義サービス ... ip policy serviceコマンドで定義した名前
    • プロトコルとポート番号 ... tcp/80、udp/500など
    • グループ番号 ... ip policy service groupコマンドで定義した番号
[説明]

ポリシーフィルタを定義する。パラメータを省略したときには「*」が指定されたものとして扱う。
インターフェイスとしてanonymousインターフェイスは定義できない。
なお、このコマンドの定義は、ip/ipv6 policy filter setコマンドやip/ipv6 policy filter set enableコマンドを設定しないと有効にならない。

[設定例]

LAN1のPCからLAN2のWebサーバーへのアクセスを許可する
# ip policy filter 1 pass-log lan1 lan2 * * http

[初期値]

設定されない

ポリシーセットの定義

[書式]
ip/ipv6 policy filter set ID [name=NAME] FILTER_SET ...
no ip/ipv6 policy filter set ID [name=NAME] FILTER_SET ...
[設定値]
  • ID ... ポリシーセットの識別子 (1 .. 65535)
  • NAME ... 名前(半角32文字以内)
  • FILTER_SET ... 空白で区切られたポリシー番号の並び(最大128個まで)
    「[」や「]」記号により階層構造を表現できる
[説明]

ポリシーセットを定義する。新しいコネクションが発生するたびに、先頭から順に一致するか否かを評価する。階層的な構造になっている場合には、上位のポリシーフィルタから順に評価し、より深い階層のポリシーフィルタを採用する。
階層を表現するためには「[」と「]」の記号を用いる。「[」は1つ下の階層への移動、「]」は1つ上の階層へ移動を意味する。「[」は番号の前に記述し「]」は番号の直後に記述する。
ポリシーフィルタの番号の直後に「-」を付け加えることで、そのポリシーフィルタを無効にすることができる。
なお、同じポリシーフィルタを重複して設定することはできない。

[初期値]

設定されない

[ノート]
  • 階層構造の記述例 (3階層の例):
        1 [2 3[4 5] 6] 7
    
                |
                +--(1)
                |   |
                |   +--(2)
                |   |
                |   +--(3)
                |   |   |
                |   |   +--(4)
                |   |   |
                |   |   +--(5)
                |   |
                |   +--(6)
                |
                +--(7)
    

ポリシーセットの選択

[書式]
ip/ipv6 policy filter set enable ID
no ip/ipv6 policy filter set enable [ ID ]
[設定値]
  • ID ... ポリシーセットの識別子 (1 .. 65535)
[説明]

ポリシーセットを指定する。このコマンドで指定したポリシーセットだけが実際に有効になる。同時に有効にできるポリシーセットは1つだけである。

[初期値]

設定されない

ポリシーセットの自動切り替え

[書式]
ip/ipv6 policy filter set switch ORIGINAL BACKUP trigger TRIGGER ... [count=COUNT] [interval=INTERVAL] [recovery-time=TIME]
no ip/ipv6 policy filter set switch ORIGINAL BACKUP [trigger TRIGGER ... [count=COUNT] [interval=INTERVAL] [recovery-time=TIME]]
[設定値]
  • ORIGINAL ... 切り替え元のポリシーセットの番号 (1 .. 65535)
  • BACKUP ... 切り替え後のポリシーセットの番号 (1 .. 65535)
  • TRIGGER ... 切り替えのトリガー
    • winny ... 不正アクセス検知機能でWinnyを検知したとき
    • ethernet-filter ... イーサネットフィルタでIPパケットが破棄されたとき
    • qos-class-control ... DCC(Dynamic Class Control)で帯域の占有を検知したとき
  • COUNT ... ポリシーセットを切り替えるまでに受信するトリガーの回数。INTERVALで設定した時間中にCOUNTで設定した個数のトリガーを受信したらポリシーセットを切り替える。
    • 1 .. 10
  • INTERVAL ... トリガーの発生回数を計測する時間。INTERVALで設定した時間中にCOUNTで設定した個数のトリガーを受信したらポリシーセットを切り替える。
    • 秒数 (2 .. 600)
  • TIME ... トリガーの事象が最後に発生してから元のポリシーセットに戻すまでの猶予時間
    • 秒数 (60 .. 604800)
    • infinity ... ポリシーセットを元に戻さない
[説明]

TRIGGERパラメータで指定した事象を契機として、ポリシーセットを自動的に切り替える。
ORIGINAL・BACKUPパラメータには、ip policy filter setコマンドで定義したポリシーセットの識別番号を指定する。
事象によって切り替えるポリシーセットを変えることができる。このためには、下記のように複数のコマンドを設定すればよい。

  • ip policy filter set switch 1 2 triger winny
  • ip policy filter set switch 1 3 triger ethernet-filter
  • ip policy filter set switch 1 4 triger qos-class-control

事象が発生したときに切り替えるタイミングを、COUNTとINTERVALの組み合わせで指定できる。INTERVALで指定した時間内にCOUNTで指定した回数の事象が発生したら、ポリシーセットを切り替える。COUNTが1のときには、最初の事象が発生したときにすぐにポリシーセットを切り替えるので、INTERVALの設定は意味を持たない。
事象が発生しなくなってから元のポリシーセットに戻すまでの時間をTIMEで指定できる。TIMEとしてinfinityを指定したときには、ポリシーセットを元に戻さない。この場合には、ip policy filter set enableコマンドを実行することでポリシーセットを元に戻すことができる。
切り替えが動作しているときにip policy filter setコマンドやip policy filter set enableコマンドの設定を変更した場合ときには、切り替えに関する動作は中断し、切り替え前の状態に戻る。
なお、ORIGINALとBACKUPに同じポリシーセットを指定することはできない。また、ORIGINAL・BACKUPパラメータで指定したポリシーセットが定義されていないときには、ポリシーセットは切り替わらない。

[初期値]
  • COUNT ... 1[回]
  • INTERVAL ... 5[秒]
  • TIME ... 3600[秒]
[設定例]
  • winnyの検知とイーサネットフィルタによるパケット破棄を契機として、ポリシーセットを1番から2番に切り替える。
    ip policy filter set 1 name="main" 101 102 103 104 105 106
    ip policy filter set 2 name="backup" 201 202 203 204 205 206
    ip policy filter set switch 1 2 trigger winny ethernet-filter
    

タイマーの設定

[書式]
ip policy filter timer [OPTION=TIMEOUT ... ]
no ip policy filter timer
[設定値]
  • OPTION ... オプション名
    • tcp-syn-timeout ... SYNを受けてから設定された時間内にデータが流れなければセッションを切断する
    • tcp-fin-timeout ... FINを受けてから設定された時間が経てばセッションを強制的に解放する
    • tcp-idle-time ... 設定された時間内にTCPセッションのデータが流れなければセッションを切断する
    • udp-idle-time ... 設定された時間内にUDPセッションのデータが流れなければセッションを切断する
    • dns-timeout ... DNSのqueryを受けてから設定された時間内にデータが流れなければセッションを切断する
    • icmp-timeout ... 設定された時間内にICMPセッションのデータが流れなければセッションを切断する (pingに適用される)
  • TIMEOUT ... タイムアウト時間(秒)
[説明]

ポリシーフィルタで使用するタイマーの値を設定する。このコマンドの設定はIPv4とIPv6で共通である。

[初期値]
  • tcp-syn-timeout=30
  • tcp-fin-timeout=5
  • tcp-idle-time=3600
  • udp-idle-time=30
  • dns-timeout=5
  • icmp-timeout=10

ポリシーフィルタの状態表示

[書式]
show status ip/ipv6 policy filter [ID [TYPE]]
[設定値]
  • ID ... 表示したいフィルタの識別子(1..65535)
    ※省略時はすべてのフィルタについて表示する
  • TYPE ... 表示の形式
    • connection ... 指定したフィルタに関係するコネクションの情報を表示する
[説明]

ポリシーフィルタの状態を表示する。

ポリシーフィルタの状態のクリア

[書式]
clear ip/ipv6 policy filter [ ID ]
[設定値]
  • ID ... フィルタの識別子 (1 .. 65535)
[説明]

指定したポリシーフィルタに関するログなどの情報をクリアする。IDを指定しないときにはすべてのポリシーフィルタが対象になる。

ポリシーサービスの状態表示

[書式]
show status ip policy service
[設定値]
  • なし
[説明]

IPv4のポリシーサービスの情報を表示する。

ページトップへ戻る