静的フィルタリングの基本コマンド

ここでは、静的フィルタリングを設定するコマンドを紹介します。

パケットのフィルタ設定

 IPパケットのフィルタは、次のコマンドで設定します。protocol に”*”を指定するか、TCP/UDPを含む複数のプロトコルを列挙している場合には、src_port_list と dest_port_listの指定は、パケットがTCPまたは、UDPである場合はポート番号がフィルタが比較され、その他のプロトコル(ICMPなど)の場合には、src_port_list と dest_port_list の指定は存在しないものとしてフィルタと比較されます。

# ip filter filter_num pass_reject src_addr[/mask] [dest_addr[/mask] [protocol [src_port_list[dest_port_list]]]]

【設定値及び初期値】

●filter_num
・ 静的フィルタ番号 (1..21474836)

●pass_reject

設定値 :

設定値説明
pass一致すれば通す。(ログに記録しない)
pass-log一致すれば通す。(ログに記録する)
reject一致すれば破棄する。(ログに記録しない)
reject-log一致すれば破棄する。(ログに記録する)

※その他の設定値は、コマンドリファレンスを参照して下さい。

●src_addr
IP パケットの始点 IP アドレス

・xxx.xxx.xxx.xxx (xxx は十進数 )
・「* 」( ネットマスクの対応するビットが 8 ビットとも 0 と同じ。すべての IP アドレスに対応 )

●dest_addr
・IP パケットの終点 IP アドレス

・src_addr と同じ形式。省略時は 1 個の * と同じ。

●mask
IP アドレスのビットマスク (src_addr および dest_addr がネットワークアドレスの場合のみ指定可)

・xxx.xxx.xxx.xxx (xxx は十進数 )
・0x に続く十六進数
・マスクビット数
・省略時は 0xffffffff と同じ

●protocol
フィルタリングするパケットの種類

・プロトコルを表す十進数 (0..255)
・プロトコルを表すニーモニック

ニーモニック10進数説明
icmp1icmpパケット
tcp6tcpパケット
udp17udpパケット

※その他の設定値は、コマンドリファレンスを参照して下さい。

・上項目のカンマで区切った並び (5 個以内 )

・特殊指定

設定値説明
icmp-errorTYPE が 3、4、5、11、12、31、32 のいずれかであるICMPパケット
icmp-infoTYPE が 0、8.10、13.18、30、33.36 のいずれかであるICMPパケット
tcpsyn SYNフラグの立っているtcpパケット
tcpfin FINフラグの立っているtcpパケット
tcprst RSTフラグの立っているtcpパケット
establishedACKフラグの立っているtcp パケット内から外への接続は許可するが、外から内への接続は拒否する。
tcpflag=value/maskTCP フラグの値と mask の値の論理積 (AND) が、value に一致、または不一致であるTCP パケット。
value と mask は 0x に続く十六進数で 0x0000~0xffff
tcpflag!=value/mask
*全てのプロトコル

※省略時は、*と同じ。

●src_port_list
 protocolに、TCP(tcp/tcpsyn/tcpfin/tcprst/established/tcpflag)、UDP(udp) のいずれかが含まれる場合は、TCP/UDP のソースポート番号。protocolがICMP単独の場合には、ICMPタイプ。

・ポート番号、タイプを表す十進数
・ポート番号を表すニーモニック

ニーモニックポート番号
ftp20,21
ftpdata20
telnet23
smtp25
domain53
gopher70
www80
pop3110
ident113
ntp123
snmp161
syslog514

※その他のニーモニックは、コマンドリファレンスを参照して下さい。

  • 上項目のカンマで区切った並び (10個以内)
  • * ( すべてのポート、タイプ )
  • 省略時は * と同じ。

フィルタセットの定義

ip filter set name direction filter_list [filter_list ...]

【設定値及び初期値】

●name
フィルタセットの名前を表す文字列

●direction
in 入力方向のフィルタ
out 出力方向のフィルタ

●filter_list
空白で区切られたフィルタ番号の並び (1000個以内)

 IPパケットのフィルタは、次のコマンドで設定します。protocol に”*”を指定するか、TCP/UDPを含む複数のプロトコルを列挙している場合には、src_port_list と dest_port_listの指定は、パケットがTCPまたは、UDPである場合はポート番号がフィルタが比較され、その他のプロトコル(ICMPなど)の場合には、src_port_list と dest_port_list の指定は存在しないものとしてフィルタと比較されます。

# ip filter filter_num pass_reject src_addr[/mask] [dest_addr[/mask] [protocol [src_port_list[dest_port_list]]]]

【設定値及び初期値】

●filter_num
設定値 : 静的フィルタ番号 (1..21474836)

●pass_reject
設定値 :

設定値説明
pass一致すれば通す。(ログに記録しない)
pass-log一致すれば通す。(ログに記録する)
reject一致すれば破棄する。(ログに記録しない)
reject-log一致すれば破棄する。(ログに記録する)

※その他の設定値は、コマンドリファレンスを参照して下さい。

●src_addr
IP パケットの始点 IP アドレス
・xxx.xxx.xxx.xxx (xxx は十進数 )
・「* 」( ネットマスクの対応するビットが 8 ビットとも 0 と同じ。すべての IP アドレスに対応 )

●dest_addr
・IP パケットの終点 IP アドレス
設定値 :
・src_addr と同じ形式。省略時は 1 個の * と同じ。

●mask
IP アドレスのビットマスク (src_addr および dest_addr がネットワークアドレスの場合のみ指定可)
設定値 :

・xxx.xxx.xxx.xxx (xxx は十進数 )
・0x に続く十六進数
・マスクビット数
・省略時は 0xffffffff と同じ

●protocol
フィルタリングするパケットの種類
設定値 :
・プロトコルを表す十進数 (0..255)
・プロトコルを表すニーモニック
設定値 :

ニーモニック10進数説明
icmp1icmpパケット
tcp6tcpパケット
udp17udpパケット

※その他の設定値は、コマンドリファレンスを参照して下さい。
・上項目のカンマで区切った並び (5 個以内 )

・特殊指定

設定値説明
icmp-errorTYPE が 3、4、5、11、12、31、32 のいずれかであるICMPパケット
icmp-infoTYPE が 0、8.10、13.18、30、33.36 のいずれかであるICMPパケット
tcpsyn SYNフラグの立っているtcpパケット
tcpfin FINフラグの立っているtcpパケット
tcprst RSTフラグの立っているtcpパケット
establishedACKフラグの立っているtcp パケット内から外への接続は許可するが、外から内への接続は拒否する。
tcpflag=value/maskTCP フラグの値と mask の値の論理積 (AND) が、value に一致、または不一致であるTCP パケット。
value と mask は 0x に続く十六進数で 0x0000~0xffff
tcpflag!=value/mask
*全てのプロトコル

※省略時は、*と同じ。

●src_port_list
 protocolに、TCP(tcp/tcpsyn/tcpfin/tcprst/established/tcpflag)、UDP(udp) のいずれかが含まれる場合は、TCP/UDP のソースポート番号。protocolがICMP単独の場合には、ICMPタイプ。

設定値 :

・ポート番号、タイプを表す十進数

・ポート番号を表すニーモニック

ニーモニックポート番号
ftp20,21
ftpdata20
telnet23
smtp25
domain53
gopher70
www80
pop3110
ident113
ntp123
snmp161
syslog514

※その他のニーモニックは、コマンドリファレンスを参照して下さい。

  • 上項目のカンマで区切った並び (10個以内)
  • * ( すべてのポート、タイプ )
  • 省略時は * と同じ。