[設定値] :
| 設定値 | 説明 |
|---|---|
| pass | 一致すれば通す ( ログに記録しない ) |
| pass-log | 一致すれば通す ( ログに記録する ) |
| pass-nolog | 一致すれば通す ( ログに記録しない ) |
| reject | 一致すれば破棄する ( ログに記録する ) |
| reject-log | 一致すれば破棄する ( ログに記録する ) |
| reject-nolog | 一致すれば破棄する ( ログに記録しない ) |
| restrict | 回線が接続されていれば通し、切断されていれば破棄する ( ログに記録しない ) |
| restrict-log | 回線が接続されていれば通し、切断されていれば破棄する ( ログに記録する ) |
| restrict-nolog | 回線が接続されていれば通し、切断されていれば破棄する ( ログに記録しない ) |
| ニーモニック | 十進数 | 説明 |
|---|---|---|
| icmp | 1 | ICMP パケット |
| tcp | 6 | TCP パケット |
| udp | 17 | UDP パケット |
| ipv6 | 41 | IPv6 パケット |
| gre | 47 | GRE パケット |
| esp | 50 | ESP パケット |
| ah | 51 | AH パケット |
| icmp6 | 58 | ICMP6 パケット |
| icmp-error | TYPE が 3、4、5、11、12、31、32 のいずれかである ICMP パケット |
| icmp-info | TYPE が 0、8~10、13~18、30、33~36 のいずれかである ICMP パケット |
| tcpsyn | SYN フラグの立っている tcp パケット |
| tcpfin | FIN フラグの立っている tcp パケット |
| tcprst | RST フラグの立っている tcp パケット |
| established | ACK フラグの立っている tcp パケット内から外への接続は許可するが、外から内への接続は拒否する機能 |
| tcpflag=value/mask | TCP フラグの値と mask の値の論理積 (AND) が、value に一致、または不一致である TCP パケット value と mask は 0x に続く十六進数で 0x0000~0xffff |
| tcpflag!=value/mask | |
| * | すべてのプロトコル |
| ニーモニック | ポート番号 |
|---|---|
| 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 |
| submission | 587 |
IP パケットのフィルターを設定する。本コマンドで設定されたフィルターは ip filter directed-broadcast、ip filter dynamic、ip filter set、ip forward filter、ip fragment remove df-bit、ip interface rip filter、ip interface secure filter、および ip route コマンドで用いられる。
restrict-log 及び restrict-nolog を使ったフィルターは、回線が接続されている時だけ通せば十分で、そのために回線に発信するまでもないようなパケットに有効である。例えば、時計を合わせるための NTP パケットがこれに該当する。ICMP パケットに対して、ICMP タイプと ICMP コードをフィルターでチェックしたい場合には、protocol には 'icmp' だけを単独で指定する。protocol が 'icmp' 単独である場合にのみ、src_port_list は ICMP タイプ、dest_port_list は ICMP コードと見なされる。protocol に 'icmp' と他のプロトコルを列挙した場合には src_port_list と dest_port_list の指定は TCP/UDP のポート番号と見なされ、ICMP パケットとの比較は行われない。また、protocol に 'icmp-error' や 'icmpinfo' を指定した場合には、src_port_list と dst_port_list の指定は無視される。protocol に '*' を指定するか、TCP/UDP を含む複数のプロトコルを列挙している場合には、src_port_list と dest_port_list の指定は TCP/UDP のポート番号と見なされ、パケットが TCP または UDP である場合のみポート番号がフィルターが比較される。パケットがその他のプロトコル (ICMP を含む) の場合には、src_port_list と dest_port_list の指定は存在しないものとしてフィルターと比較される。
src_addr および dest_addr に FQDN を指定することによって、固定 IP アドレスではないサーバーや1つの FQDN に対して複数の固定 IP アドレスを持つサーバーを対象にしたフィルタリングを行うことができる。FQDN を使用する場合、ルーター自身がDNSリカーシブサーバーとして動作し、ルーター配下の端末は、DNSサーバーとして本機を指定する必要がある。
指定した FQDN に一致する通信が発生した場合、設定した FQDN に該当する IP アドレスの情報が保持される。保持される期間は、ip filter fqdn timer コマンドで指定できる。
LAN1 で送受信される IPv4 ICMP ECHO/REPLY を pass-log で記録する # ip lan1 secure filter in 1 2 100 # ip lan1 secure filter out 1 2 100 # ip filter 1 pass-log * * icmp 8 # ip filter 2 pass-log * * icmp 0 # ip filter 100 pass * * LAN2 から送信される IPv4 Redirect のうち、"for the Host" だけを通さない # ip lan2 secure filter out 1 100 # ip filter 1 reject * * icmp 5 1 # ip filter 100 pass * *