IPFWADM(8) IPFWADM(8)
名前
ipfwadm - IP ファイヤーウォールとアカウント制御の管理
書式
ipfwadm -A コマンド パラメータ [オプション]
ipfwadm -I コマンド パラメータ [オプション]
ipfwadm -O コマンド パラメータ [オプション]
ipfwadm -F コマンド パラメータ [オプション]
ipfwadm -M [ -l | -s ] [オプション]
説明
Ipfwadm は、LinuxカーネルでのIPファイヤーウォールとアカウント制御の規則
を設定・更新および調査するためのものである。これらの制御規則は4つの種類
に 分 け る 事 が で き る。それらはすなわち、 IPパケットのアカウント制
御(accounting of IP packets)、 IP入力ファイヤーウォー ル(the IP input
firewall) 、 IP出力ファイヤーウォール(the IP output firewall)、そしてIP
転送ファイヤーウォール(the IP forwarding firewall) である。これらそれぞ
れの種類は、それぞれ別の条件リストで制御される。
詳細は ipfw(4) を参照の事。
オプション
ipfwadm で指定可能なオプションはいくつかのグループに分類できる。
CATEGORIES
以下に示すフラグはコマンドに与える条件の種類を指定するのに用いる。:
-A [direction]
IP アカウント規則オプションとして、 direction(方向) を指定する事
ができる (in(入力方向), out(出力方向), or both(双方向)), 指定 さ
れた入力方向または出力方向のパケットのみがカウントされる。デフォ
ルトでは both(双方向) である。
-I IP 入力ファイヤーウォール条件。
-O IP 出力ファイヤーウォール条件。
-F IP 転送ファイヤーウォール。
-M IP マスカレード設定。
この設定は -l (list:リスト) または -s (set timeout values:タイム
アウト値設定) コマンドとの組み合わせでのみ使用可能である。
厳密には、これらのオプションのうち一つを必ず指定する事。
COMMANDS
次 に示すオプションは実際の動作を指定するものである。これらのうち一つだ
けを書式で示された方法でコマンドラインにて指定する。
-a [policy]
設定した条件の最後に一つ以上の条件を追加する。アカウント条件の設
定の場合は、policyの設定を行わない事。ファイヤーウォール条件の設
定の場合は、以下に示すうちの一つを指定する事 。 accept( 許 可),
deny(不許可), または reject(拒絶)
ソ ース(元) とデスティネーション(先)のホスト名が一つ以上のアドレ
スであった場合はそれらの考えられうる組み合わせが追加される。
-i [policy]
設定した条件の先頭に一つ以上の条件を挿入する。詳細な書式について
は -a を参照の事
-d [policy]
設定した条件のうち、一つ以上の条件を削除する。意味合いとしては追
加/挿入コマンドと同じである。指定するパラメータはすでに追加/挿入
したコマンドと全く同じにする事。異なる場合は不一致となり、その条
件は削除されない。また、最初に一致した条件だけが削除される。
-l 設定した条件の一覧を表示する。このコマンドは -z (reset counters
to zero :カウンタの0リセット)コマンドと組み合わせて使用できる
。この場合、パケットとバイトカウンタは、現在の値を表示した直後に
リセットされる。 -x オプションを付けないと、パケットとバイトカウ
ンタ(が指定されていれば) は 数値K または 数値M で表示される。 こ
こで、1Kは1000であり、1Mは1000Kを意味する。(最も近い整数に丸めら
れる) 下記の -e と -x のフラグの多くの機能も参照の事。
-z 設定した条件のパケット数とバイト数のカウンタをリセットする。この
コマンドは -l (リスト:list)コマンドとの組み合わせて使用する事が
多いであろう。
-f 設定した条件を抹消する。
-p policy
選択したファイヤーウォールタイプのデフォルトの"policy"を変更する
。与えるべき"policy"は accept、 deny、または reject の内の一つで
なければならない。デフォルト"policy"は一致する条件がない場合に使
用する。この設定はIPファイヤーウォールにのみ有効である。よって下
記の -I、 -O、または -F のフラグとの組み合わせで使用する。
-s tcp tcpfin udp
IPマスカレードで使用するタイムアウト値を変更する。このコマンドは
常に3つのパラメータをとり、それらはそれぞれ秒の単位でTCPセション
、FINパケットを受けた後のTCPセション、 UDPパケットのタイムアウト
値 を記述する。タイムアウト値として0を指定した場合は、現在そのエ
ントリで使用している値がそのまま引き継がれる。この設定は、 -M フ
ラグとの組み合わせでのみ有効である。
-c 選択したファイヤーウォールにおいて、このIPパケットがaccept(許可)
、 deny (不許可)、またはreject (拒絶)であるかどうかを確認する 。
こ の設定は、 -I, -O, または -F フラグとの組み合わせでのみ有効で
ある。
-h Help(ヘルプ)である。コマンドの記法を(現在は非常に簡単に)表示する
。
PARAMETERS
以 下 に 示 すパラメータはappend(追加)、insert(挿入)、delete(削除) また
はcheck(確認)と組み合わせて使用可能である。
-P protocol
設定条件または確認すべきパケットのプロトコルを示す。記述する事が
できるプロトコルとしては tcp、 udp、 icmp、または all(全て) のプ
ロトコルのうちの一つである。 all を指定した場合はこのオプショ ン
が 省 略されている場合にとりうるすべてのプロトコルが対象になる。
All はcheck(確認)コマンドとの組み合わせで用いる事はないであろ う
。
-S address[/mask] [port ...]
ソ ースの指定(オプション)。 Address はhost名、ネットワーク名およ
びIPアドレスによる指定が可能である。 mask はネットワークマスクに
よる指定と数値による指定が可能であり、数値による指定は左側からの
ネットマスクビット数を指定する。よ っ て 、 マ ス ク 値 24 は
255.255.255.0 と等価である。
ソ ー スは一つ以上のポートまたはICMPタイプを含む。それぞれの指定
はservice名、port番号、または(数値での)ICMP タイプで指定できる。
この章の残りの部分で記述する port は、port番号またはICMPタイプを
示す。これらの指定の内、port番号の範囲を 指 定 す る 場 合 は 、
port:port と、記述する。さらに、ソース(元)とデスティネーション(
先)の指定できる合計port 数は IP_FW_MAX_PORTS (現状 10)を超えては
ならない。ここで、portの範囲指定の場合は2と数える。
TCP、UDPまたはICMPパケットの「最初のフラグメントでない」部分は常
にファイヤーウォールに許可される。アカウント制御においては、これ
らの二番目以降のフラグメントは特別に扱われ、種々の方法でカウント
できる。 port番号0xFFFF(65535)が二番目以降のTCPまたはUDPパケット
として扱われる。これらのport番号0xFFFFのパケットはアカウント目的
で用いられる。 0xFF (255)はICMPパケットの二番目以降に相当する も
のとして扱われる。また、ICMPタイプが0xFFのパケットはアカウント目
的で用いられる。注意すべきは、記述したコマンドやプロ ト コ ル は
、port を暗黙に制限する。 portは下記プロトコルとの組み合わせで使
用する。 tcp、 udp、または icmp
このオプションが省略された場合は、デフォルトのアドレス/ネット マ
ス クとして 0.0.0.0/0 (すべてのアドレスに適合するもの)がソースア
ドレスとして使用される。チェックコマンドにおいてはこのオプション
が必須であり、必ず1つのポートが指定されていなければならない。
-D address[/mask] [port ...]
デ スティネーション(先)を指定する。(オプション) 記法の詳細に関し
ては -S 記法、省略時標準値、その他の指定項目については(source :
ソ ース)フラグの項を参照の事。注意すべきは、ICMPタイプは -D フラ
グとの組み合わせでは使用できない。すなわち、 -S フラグの後に指定
する事。
-V address
オプションとして、パケットが受け取られるまたは送られる時に経由す
るインタフェースのアドレスを指定する。 Address はhost名でも数 値
に よ るIP アドレスでもよい。 host名が指定された場合は、ただ一つ
のIPアドレスに割り当てられる。このオプションが省略された場合は、
ア ドレスは 0.0.0.0 が仮定され、特別にどのインタフェースアドレス
も適合される。チェックコマンドにおいてはこのオプションが必須であ
る。
-W name
オプションとして、パケットが受け取られるまたは送られる時に経由す
るインタフェースの名前を指定する。このオプションが省略された場合
は、名前はempty string(空文字列)が仮定され、特別にどのインタフェ
ース名も適合される。チェックコマンドにおいてはこのオプションが必
須である。
OTHER OPTIONS
以下に示すオプションが使用可能である。
-b Bidirectional(双方向)モード。
指 定 し た 条 件 を双方向のIPパケットに適合する。このオプション
はappend(追加)、insert(挿入)またはdelete(削除) コマンドと組み 合
わせて使用可能である。
-e Extended output( 拡張出力)。このオプションを指定するとlist(リス
ト)コマンドでの出力でインタフェースと(もしあれば)設定条件を表 示
する。ファイヤーウォールリストにおいては、パケットとバイトカウン
タ値 (デフォルトの状態では、アカウント制御を行っているバイトカウ
ンタ値のみが表示される)およびTOSマスクを出力する。 -M との組み合
わせで使用した場合は、delta sequence numbersに関連した情報が表示
される。このオプションはlist(リスト)コマンドとの組み合わせでのみ
有効である。
-k TCPパケットのACKビットがセットされているもののみ適合する。 (この
オ プ シ ョ ン は 他 の プロトコルでは無視される) このオプション
はappend(追加)、insert(挿入)またはdelete(削除) コマンドと組み 合
わせて使用可能である。
-m 転送用のマスカレードパケットの許可。
このオプションを指定した場合、パケットがローカルホストからのもの
であればマスカレードパケットとして扱われる。さらに、逆向きのパケ
ットは自動的に逆マスカレードパケットとして扱われ、ファイヤーウォ
ールをバイパスする。このオプションは、転送ファイヤーウォールの場
合 で"policy" と し て accept (またはデフォルトの"policy"として
accept が指定されている場合)に使用可能で、さらにカーネルコンパイ
ル時に
CONFIG_IP_MASQUERADE が定義されていなければならない。
-n Numeric output(数値での出力)。 IPアドレスとport番号を数値で表示
する。デフォルトでは、それらを(できるならば)host名、ネットワーク
名およびservice名で表示する。
-o 適合したパケットに対するカーネルロギングを行う。ある条件に対して
このオプションを設定するとLinuxカーネルは適合したパケット(IPヘッ
ダ フィールドのほとんど)の情報を printk() 関数を使って出力する。
このオプションはLinuxカーネルコンパ イ ル 時 に CONFIG_IP_FIRE-
WALL_VERBOSE を定義した場合に有効である。このオプションはappend(
追加)、insert(挿入)またはdelete(削除) コマンドと組み合わせでのみ
有効である。
-r [port]
ローカルソケットにリダイレクトする。このオプションが設定されてい
る場合は、もしそのパケットがリモートのホストから送られたものであ
ってもこの条件にしたがってローカルのソケットにリダイレクトされる
。リダイレクトを行うポート番号が0の場合(デフォルトである)は、 そ
のパケットのデスティネーションポートがリダイレクトされるポートと
して用いられる。
このオプションは、入力ファイヤーウォールの場合で"policy"と し て
accept が指定されている場合に使用可能で、さらにカーネルコンパイ
ル時に CONFIG_IP_TRANSPARENT_PROXY が定義されていなければなら な
い。
-t andmask xormask
IP ヘッダのTOSフィールドを改変するときに用いるマスク (マスカレー
ドの有無に関わらず)ファイヤーウォールの条件によりパケットが許 可
さ れた場合に、そのパケットのTOSフィールドに対して初めに指定した
マスク値とビット毎にAND(論理積)し、さらにその結果に対して次の マ
ス ク値とビット毎にXOR(排他的論理和)を行う。それぞれのマスクは16
進数の8ビットで指定する。このオプションはappend(追加)、insert(挿
入)またはdelete(削除) コマンドと組み合わせてでのみ有効であり、ア
カウント制御や、 reject(拒絶)やdeny(不許可)のファイヤーウォー ル
制御のコマンド時には意味を持たない。
-v Verbose output(詳細出力)。
条件やパケットの追加、削除および確認において詳細情報を出力する。
このオプションはappend(追加)、insert(挿入)、delete(削除) ま た
はcheck(確認)コマンドと組み合わせでのみ有効である。
-x Expand numbers(拡張数値出力)。パケット数およびバイトカウンタ値の
出力において、K(1000倍)や M(1000K倍)といった丸めた値ではなく、正
確な値を出力する。このオプションはカウント値が出力される場合にの
み有効である。 (オプション -e 参照の事)。
-y TCPパケットのSYNビットがセットされており、ACKビットがリセット さ
れているもののみ適合する。 (このオプションは他のプロトコルでは無
視される) このオプション はappend( 追 加) 、insert( 挿 入) ま た
はdelete(削除) コマンドと組み合わせて使用可能である。
ファイル
/proc/net/ip_acct
/proc/net/ip_input
/proc/net/ip_output
/proc/net/ip_forward
/proc/net/ip_masquerade
関連項目
ipfw(4)
著者
Jos Vos
Copyright(C) linux-cmd.com All Rights Reserved. Author Takayuki Yukawa