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

# ADD IP FILTER

カテゴリー：IP / IPフィルター

`ADD IP FILTER=filter-id [TYPE={TRAFFIC|POLICY|PRIORITY|ROUTING}] SOURCE=ipadd {ACTION={INCLUDE|EXCLUDE}|POLICY=0..15|PRIORITY=P0..P7} [SMASK=ipadd] [SPORT={port-name|[port]:[port]}] [DESTINATION=ipadd [DMASK=ipadd]] [DPORT={port-name|[port]:[port]}] [ICMPCODE={icmp-code-name|icmp-code-id}] [ICMPTYPE={icmp-type-name|icmp-type-id}] [LOG={4..1600|DUMP|HEADER|NONE}] [OPTIONS={YES|NO}] [PROTOCOL={protocol|ANY|ICMP|OSPF|TCP|UDP}] [SESSION={ANY|ESTABLISHED|START}] [SIZE=size] [ENTRY=entry-id]`

filter-id: フィルター番号（0〜999）
ipadd: IPアドレスまたはネットマスク
port-name: サービス名
port: TCP/UDPポート番号（0〜65535）
icmp-code-name: ICMPコード名
icmp-code-id: ICMPコード番号（0〜65535）
icmp-type-name: ICMPメッセージ名
icmp-type-id: ICMPメッセージ番号（0〜65535）
protocol: IPプロトコル番号（0〜255）
size: データグラム長
entry-id: エントリー番号（1〜3071）

IPフィルターにエントリー（ルール）を追加する。
IPフィルターには、受信パケットを許可・破棄するトラフィックフィルター（ACTIONパラメーターで動作を指定）、受信パケットに内部的な経路選択ポリシー（サービスタイプ）を割り当て、経路選択時の動作に影響を与えるポリシーフィルター（POLICYパラメーターで動作を指定）、送信パケットに優先度を与え、出力順序に影響を与えるプライオリティーフィルター（PRIORITYパラメーターで動作を指定）、BGP-4の経路交換を制御するプレフィックスフィルター（ACTIONパラメーターで動作を指定）の4種類がある。
各IPインターフェースには、トラフィック、ポリシー、プライオリティーフィルターをそれぞれ1つずつ適用できる。同じフィルターを複数のインターフェースに適用することも可能。これら3種類のフィルターは、インターフェースに適用して初めて効果を発揮する。トラフィックフィルターとポリシーフィルターは受信インターフェースに、プライオリティーフィルターは送信インターフェースに適用する。インターフェースへの適用は、ADD IP INTERFACEコマンド、SET IP INTERFACEコマンドで行う。
また、プレフィックスフィルターを使用するには、ADD BGP PEERコマンド、SET BGP PEERコマンドのINFILTER、OUTFILTERパラメーターでフィルター番号を指定する。
トラフィックフィルター、ポリシーフィルター、プライオリティーフィルターは、動作指定が異なるだけでパケットを選別するパラメーターは共通。一方、プレフィックスフィルターで使用できるパラメーターは、SOURCE、SMASK、ENTRY、ACTIONだけに限定されている。

パラメーター

FILTER: フィルター番号。フィルターの種類は、0〜999の任意の番号に対してTYPEパラメーターで自由に設定可能。

TYPE: フィルターの種類を指定する。TRAFFIC:トラフィックフィルター、POLICY:ポリシーフィルター、PRIORITY:プライオリティーフィルター、ROUTING:プレフィックスフィルター。（以前のバージョンでは、0〜99はトラフィックフィルター、100〜199はポリシーフィルター、200〜299はプライオリティーフィルター、300〜399はプレフィックスフィルター用に固定で割り当てられていた。）TYPEパラメーターを省略すると、他のパラメーター設定に応じて、次のようにデフォルト値が設定される。POLICYパラメーターが設定されている場合:TYPEはPOLICYに設定される。PRIORITYパラメーターが設定されている場合:TYPEはPRIORITYに設定される。ACTIONパラメーターの指定があり、SOURCE/SMASK/ENTRYパラメーター以外の指定がなく、フィルター番号が99より大きい場合:TYPEはROUTINGに設定される。その他の場合:TYPEはTRAFFICに設定される。TYPEパラメーターは省略しないことを推奨する。

SOURCE: 始点IPアドレスまたはネットワークプレフィックス。0.0.0.0はすべてのアドレスを意味する。必須パラメーター

ACTION: トラフィックフィルター（TYPE=TRAFFIC）、プレフィックスフィルター（TYPE=ROUTING）の動作を指定する。INCLUDEはマッチしたパケット、プレフィックスを通過させる。EXCLUDEはマッチしたパケット、プレフィックスを破棄する。POLICY、PRIORITYとは同時に指定できない

POLICY: ポリシーフィルター（TYPE=POLICY）において、マッチしたパケットに割り当てる経路選択ポリシー（サービスタイプ）を指定する。経路選択ポリシーの範囲は0〜7だが、POLICYパラメーターには0〜15の範囲を指定することができる。0〜7を指定した場合は、指定値がそのまま経路選択ポリシー値となる。8〜15を指定した場合は、経路選択ポリシーとして「POLICY - 8」を割り当て、さらに、パケットのTOSビット（D、T、R）を「POLICY - 8」に書き換える。詳細は別表を参照。経路表を検索するときは、本フィルターによって割り当てられた経路選択ポリシー値と経路エントリーのサービスタイプがつきあわされ、一致する経路が最優先で使用される。フィルターにマッチしなかったパケットの経路選択ポリシーは「0」。ACTION、PRIORITYとは同時に指定できない

PRIORITY: プライオリティーフィルター（TYPE=PRIORITY）において、マッチしたパケットを出力するときの優先度をP0（最高）〜P7（最低）で指定する。フィルターにマッチしなかった通常パケットの優先度は「P5」。ACTION、POLICYとは同時に指定できない。また、Eth/PPPoEインターフェースでこの機能が動作するのは、受信インターフェースの速度の合計より送信インターフェースの速度の合計が小さい場合。（例1）受信インターフェース：100Mbps×1、送信インターフェース：10Mbps×1。（例2）受信インターフェース：100Mbps×2、送信インターフェース：100Mbps×1。

SMASK: SOURCEに対応するマスク値。SOURCEと組み合わせて、ホストアドレス/ネットワークアドレスの区別、または、プレフィックス長（プレフィックスフィルター）を指定する。SOURCEで指定したIPアドレスがネットワークアドレスなら適切な長さのネットマスクを、ホストアドレスなら255.255.255.255を指定する。また、SOURCEに0.0.0.0（ANY）を指定した場合は0.0.0.0を指定する（省略可）。

SPORT: 始点TCP/UDPポートあるいは定義済みのサービス名。本パラメーター指定時はPROTOCOLパラメーターにTCPかUDPを指定する必要がある。low:highの形式でlow〜highの範囲指定も可能。「low:」はlow〜65535の意味、「:high」は0〜highの意味になる。デフォルトはANY（すべてのポート）。

DESTINATION: 終点IPアドレス。デフォルトは0.0.0.0（すべて）

DMASK: 終点IPアドレスに対応するマスク値。DESTINATIONと組み合わせてホストアドレスまたはネットワークアドレスを指定する。省略時は255.255.255.255（ホストマスク）とみなされる。

DPORT: 終点TCP/UDPポートあるいは定義済みのサービス名。本パラメーター指定時はPROTOCOLパラメーターにTCPかUDPを指定する必要がある。low:highの形式でlow〜highの範囲指定も可能。「low:」はlow〜65535の意味、「:high」は0〜highの意味になる。デフォルトはANY（すべてのポート）。

ICMPCODE: ICMPコード番号または定義済みのコード名。PROTOCOL=ICMPの場合のみ有効

ICMPTYPE: ICMPメッセージ番号または定義済みのメッセージ名。PROTOCOL=ICMPの場合のみ有効

LOG: このエントリーにマッチしたパケットの情報をログに記録するかどうか、記録する場合はどの情報を記録するかを指定する。NONEはログに記録しないことを意味する。4〜1600の数値を指定した場合は、フィルター番号、エントリー番号、IPヘッダー情報（IPアドレス、プロトコル、ポート番号、サイズ）が「IPFIL/PASS」（INCLUDEアクションの場合）または「IPFIL/FAIL」（EXCLUDEアクションの場合）タイプのメッセージとして記録される。これに加え、TCP、UDP、ICMPの場合はデータ部分の先頭4〜1600バイトが、その他プロトコルの場合はIPデータの先頭4〜1600バイトが、「IPFIL/DUMP」タイプのメッセージとして記録される。DUMPはLOG=32と同じ動作となる。HEADERを指定した場合は、フィルター番号、エントリー番号、IPヘッダー情報のみが記録される。デフォルトはNONE（記録しない）。

OPTIONS: パケットがIPオプション付きかどうか。

PROTOCOL: IPプロトコル番号または定義済みのプロトコル名。DPORT、SPORTを指定するときは、PROTOCOLにTCPかUDPを指定する必要がある。また、ICMPCODE、ICMPTYPE指定時はICMPを指定する。

SESSION: TCPのセッション制御情報。ANYはすべてのTCPパケット、STARTは接続開始パケット（SYN=1、ACK=0）、ESTABLISHEDは接続済みパケット（ACK=1）を意味する。

SIZE: 再構成後のデータグラムサイズ。パケット（フラグメント）ごとにlength + offset * 8 <= SIZEがチェックされ、真ならマッチし、偽ならマッチしない。lengthとoffsetは、それぞれIPヘッダーのLengthフィールドとFragment Offsetフィールドを示す。

ENTRY: エントリー番号。省略時は現在最後尾のエントリーの後に追加される（最後尾のエントリー番号を「n」とすると、新規エントリーは「n+1」になる）。「n+1」より大きなエントリー番号を指定した場合は、指定した番号で追加される。既存エントリーと同じ番号を指定した場合は、既存エントリーの位置に新規エントリーが挿入され、既存エントリー以降は番号が1つずつ後ろにずれる。

表 1：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）

表 2：定義済みのサービス名一覧
サービス名 | 該当サービス/アプリケーション（ポート/プロトコル）
ANY | すべてのポート
BOOTPC | BOOTPクライアント（68/udp）
BOOTPS | BOOTPサーバー（67/udp）
DOMAIN | DNSサーバー（53/tcp、53/udp）
FINGER | Finger（79/tcp）
FTP | FTPコントロールセッション（21/tcp）
FTPDATA | FTPデータセッション（20/tcp）
GOPHER | Gopher（70/tcp）
HOSTNAME | NIC Host Name Server（101/tcp、101/udp）
IPX | IPX（213/tcp、213/udp）
KERBEROS | Kerberos（88/udp）
LOGIN | Login（49/udp）
MSGICP | MSG ICP（29/tcp、29/udp）
NAMESERVER | Host Name Server（42/udp）
NEWS | NewS（144/tcp）
NNTP | NNTPサーバー（119/tcp）
NTP | NTPサーバー（123/tcp）
RTELNET | Remote Telnet（107/tcp、107/udp）
SFTP | Simple FTP（115/tcp、115/udp）
SMTP | SMTPサーバー（25/tcp）
SNMP | SNMP（161/udp）
SNMPTRAP | SNMPトラップ（162/udp）
SYSTAT | Active Users（11/tcp）
TELNET | Telnet（23/tcp）
TFTP | TFTP（69/udp）
TIME | Time（37/tcp、37/udp）
UUCP | uucpd（540/tcp）
UUCPRLOGIN | uucp-rlogin（541/tcp、541/udp）
WWWHTTP | 80/TCP（World Wide Web HTTP）
XNSTIME | XNS Time Protocol（52/tcp、52/udp）

表 3：定義済みのICMPメッセージタイプ名一覧
メッセージタイプ名 | タイプ番号 | サブコード | 説明
ECHORPLY | 0 | なし | エコー応答（Echo Reply）
UNREACHABLE | 3 | あり | 宛先到達不可能（Unreachable）
QUENCH | 4 | なし | 送信抑制要求（Source Quench）
REDIRECT | 5 | あり | 経路変更要求（Redirect）
ECHO | 8 | なし | エコー要求（Echo Request）
ADVERTISEMENT | 9 | なし | ルーター通知（Router Advertisement）
SOLICITATION | 10 | なし | ルーター要請（Router Solicitation）
TIMEEXCEED | 11 | あり | 時間超過（Time Exceeded）
PARAMETER | 12 | あり | パラメーター異常（Parameter Problem）
TSTAMP | 13 | なし | タイムスタンプ要求（Timestamp Request）
TSTAMPRPLY | 14 | なし | タイムスタンプ応答（Timestamp Reply）
INFOREQ | 15 | なし | 情報要求（Information Request）
INFOREP | 16 | なし | 情報応答（Information Reply）
ADDRREQ | 17 | なし | アドレスマスク要求
ADDRREP | 18 | なし | アドレスマスク応答

表 4：定義済みのICMPコード名一覧
コード名 | コード番号 | 説明
ANY |  | すべて
UNREACHABLE（Type=3）
NETUNREACH | 0 | ネットワーク到達不可能
HOSTUNREACH | 1 | ホスト到達不可能
PROTUNREACH | 2 | プロトコル到達不可能
PORTUNREACH | 3 | ポート到達不可能
FRAGMENT | 4 | フラグメント化不可能
SOURCEROUTE | 5 | 始点経路制御失敗
NETUNKNOWN | 6 | 宛先ネットワーク不明
HOSTUNKNOWN | 7 | 宛先ホスト不明
HOSTISOLATED | 8 | 始点ホスト隔離
NETCOMM | 9 | 宛先ネットワークとの通信が禁止されている
HOSTCOMM | 10 | 宛先ホストとの通信が禁止されている
NETTOS | 11 | 指定のサービスタイプでは宛先ネットワークに到達不可能
HOSTTOS | 12 | 指定のサービスタイプでは宛先ホストに到達不可能
FILTER | 13 | フィルタリングにより通信が禁止されている
HOSTPREC | 14 | ホスト優先度違反
PRECEDENT | 15 | 優先度制限
REDIRECT（Type=5）
NETREDIRECT | 0 | ネットワーク経路変更要求
HOSTREDIRECT | 1 | ホスト経路変更要求
NETRTOS | 2 | 指定サービスタイプのネットワーク経路変更要求
HOSTRTOS | 3 | 指定サービスタイプのホスト経路変更要求
TIMEEXCEEDED（Type=11）
TTL | 0 | 生存時間超過
FRAGREASSM | 1 | フラグメント再構成時間超過
PARAMETER（Type=12）
PTRPROBLEM | 0 | ポインターフィールドの値がエラーのあった箇所を示す
NOPTR | 1 | ポインターなし

例

``■ 200.100.10.100からのパケットだけを通過させるトラフィックフィルター「0」をppp0に適用する。
`ADD IP FILTER=0 TYPE=TRAFFIC SOURCE=200.100.10.100 SMASK=255.255.255.255 ACTION=INCLUDE
SET IP INT=ppp0 FILTER=0
` ■ 10.1.1.10から10.2.2.12へのトラフィックに経路選択ポリシー4を設定するポリシーフィルター「100」を作成してvlan1に適用。
`ADD IP FILTER=100 TYPE=POLICY SOURCE=10.1.1.10 SMASK=255.255.255.255 DEST=10.2.2.12 POLICY=4
SET IP INT=vlan1 POLICYFILTER=100
` ■ TCPを最優先で送信するプライオリティーフィルター「200」をppp0に適用
`ADD IP FILTER=200 TYPE=PRIORITY SOURCE=0.0.0.0 PROTOCOL=TCP PRIORITY=P0
SET IP INT=ppp0 PRIORITYFILTER=200`

備考・注意事項

トラフィックフィルターの末尾には、すべてのパケットを破棄する暗黙のエントリーが存在する。そのため、特定のパケットだけを破棄したい場合は、エントリーリストの最後に「すべてを許可」するエントリーを明示的に作成する必要がある。

関連コマンド

ADD BGP PEER
ADD IP INTERFACE
DELETE IP FILTER
SET BGP PEER
SET IP FILTER
SET IP INTERFACE
SHOW IP FILTER

参考

RFC768, User Datagram Protocol
RFC791, INTERNET PROTOCOL
RFC792, INTERNET CONTROL MESSAGE PROTOCOL
RFC793, TRANSMISSION CONTROL PROTOCOL
RFC950, Internet Standard Subnetting Procedure
RFC1771, A Border Gateway Protocol 4 (BGP-4)
RFC1772, Application of the Border Gateway Protocol in the Internet

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

PN: J613-M0710-03 Rev.H