名 前
iptables/ip6tables — IPv4/IPv6 の パ ケ ッ ト フ ィ ル タ と NAT の 管 理 ツ ー ル
書 式
iptables [−t table] {−A|−C|−D} chain rule−specification
ip6tables [−t table] {−A|−C|−D} chain rule−specification
iptables [−t table] −I chain [rulenum] rule−specification
iptables [−t table] −R chain rulenum rule−specification
iptables [−t table] −D chain rulenum
iptables [−t table] −S [chain [rulenum]]
iptables [−t table] {−F|−L|−Z} [chain [rulenum]] [options...]
iptables [−t table] −N chain
iptables [−t table] −X [chain]
iptables [−t table] −P chain target
iptables [−t table] −E old−chain−name new−chain−name
rule−specification = [matches...] [target]
match = −m matchname [per−match−options]
target = −j targetname [per−target−options]
説 明
iptables と ip6tables は Linux カ ー ネ ル の IPv4/IPv6 パ ケ ッ ト フ ィ ル タ ル ー ル の テ ー ブ ル の 設 定 ・ 管 理 ・ 検 査 に 使 用 さ れ る 。 複 数 の 異 な る テ ー ブ ル を 定 義 で き る 。 各 テ ー ブ ル に は 数 個 の 組 み 込 み チ ェ イ ン が あ り 、 さ ら に ユ ー ザ ー 定 義 の チ ェ イ ン を 加 え る こ と も で き る 。 各 チ ェ イ ン は 、 パ ケ ッ ト 群 に マ ッ チ す る ル ー ル の リ ス ト で あ る 。 各 ル ー ル は マ ッ チ し た パ ケ ッ ト に 対 す る 処 理 を 規 定 す る 。 パ ケ ッ ト に 対 す る 処 理 は 「 タ ー ゲ ッ ト 」 と 呼 ば れ 、 同 じ テ ー ブ ル 内 の ユ ー ザ ー 定 義 チ ェ イ ン に ジ ャ ン プ す る こ と も で き る 。
タ ー ゲ ッ ト
フ ァ イ ア ウ ォ ー ル の ル ー ル で は 、 パ ケ ッ ト の マ ッ チ 条 件 と タ ー ゲ ッ ト を 指 定 す る 。 パ ケ ッ ト が マ ッ チ し な い 場 合 、 チ ェ イ ン 内 の 次 の ル ー ル が 評 価 さ れ る 。 パ ケ ッ ト が マ ッ チ し た 場 合 、 タ ー ゲ ッ ト の 値 に よ っ て 次 の ル ー ル が 指 定 さ れ る 。 タ ー ゲ ッ ト の 値 に は 、 ユ ー ザ ー 定 義 チ ェ イ ン の 名 前 、 iptables−extensions(8) に 説 明 が あ る タ ー ゲ ッ ト の い ず れ か 、 も し く は 特 別 な 値 ACCEPT, DROP, RETURN の い ず れ か を 指 定 す る 。
ACCEPT は パ ケ ッ ト 通 過 、 DROP は パ ケ ッ ト 廃 棄 を 意 味 す る 。 RETURN は 、 こ の チ ェ イ ン を 辿 る の を 中 止 し て 、 前 の (呼 び 出 し 元 ) チ ェ イ ン の 次 の ル ー ル か ら 再 開 す る と い う 意 味 で あ る 。 組 み 込 み チ ェ イ ン の 最 後 に 到 達 し た 場 合 、 ま た は 組 み 込 み チ ェ イ ン で タ ー ゲ ッ ト RETURN を 持 つ ル ー ル に マ ッ チ し た 場 合 、 パ ケ ッ ト を ど の よ う に 処 理 す る か は 、 そ の チ ェ イ ン の ポ リ シ ー で 指 定 さ れ た タ ー ゲ ッ ト に よ り 決 ま る 。
テ ー ブ ル
現 在 の と こ ろ 5 つ の 独 立 な テ ー ブ ル が 存 在 す る (あ る 時 点 で ど の テ ー ブ ル が 存 在 す る か は 、 カ ー ネ ル の 設 定 や ど う い っ た モ ジ ュ ー ル が 存 在 す る か に 依 存 す る )。
−t, −−table table こ の コ マ ン ド で 操 作 す る パ ケ ッ ト マ ッ チ ン グ テ ー ブ ル を 指 定 す る 。 カ ー ネ ル で 自 動 モ ジ ュ ー ル ロ ー デ ィ ン グ が 有 効 に な っ て い る 場 合 、 そ の テ ー ブ ル で 必 要 と な る モ ジ ュ ー ル が ま だ ロ ー ド さ れ て い な け れ ば 、 ロ ー ド さ れ る 。 以 下 の テ ー ブ ル が あ る 。
filter:
(−t オ プ シ ョ ン が 指 定 さ れ て い な い 場 合 は ) こ の テ ー ブ ル が デ フ ォ ル ト と な る 。 こ の テ ー ブ ル に は 、 INPUT (ロ ー カ ル マ シ ン の ソ ケ ッ ト 宛 の パ ケ ッ ト に 対 す る チ ェ イ ン )、 FORWARD (マ シ ン を 経 由 し て 転 送 さ れ る パ ケ ッ ト に 対 す る チ ェ イ ン )、 OUTPUT (ロ ー カ ル マ シ ン で 生 成 さ れ た パ ケ ッ ト に 対 す る チ ェ イ ン ) と い う 組 み 込 み チ ェ イ ン が あ る 。
nat: こ の
テ ー ブ ル は 新
し い 接 続 を 開
く パ ケ ッ ト の
場 合 に 参 照 さ
れ る 。 PREROUTING (パ
ケ ッ ト が 入 っ
て き た 場 合 、
す ぐ に そ の パ
ケ ッ ト を 変 換
す る た め の チ
ェ イ ン )、 OUTPUT (ロ
ー カ ル で 生 成
さ れ た パ ケ ッ
ト を ル ー テ ィ
ン グ の 前 に 変
換 す る た め の
チ ェ イ ン )、
POSTROUTING (パ ケ ッ ト
が 出 て 行 く と
き に 変 換 す る
た め の チ ェ イ
ン ) と い う 3 つ の
組 み 込 み チ ェ
イ ン が あ る 。 IPv6
NAT サ ポ ー ト は カ
ー ネ ル 3.7 以 降 で
利 用 で き る 。
mangle: こ の テ ー ブ
ル は 特 別 な パ
ケ ッ ト 変 換 に
使 わ れ る 。 カ
ー ネ ル 2.4.17 ま で は
、 組 み 込 み チ
ェ イ ン は PREROUTING
(パ ケ ッ ト が 入
っ て き た 場 合
、 す ぐ に そ の
パ ケ ッ ト を 変
換 す る た め の
チ ェ イ ン )、 OUTPUT
(ロ ー カ ル で 生
成 さ れ た パ ケ
ッ ト を ル ー テ
ィ ン グ の 前 に
変 換 す る た め
の チ ェ イ ン ) の 2
つ で あ っ た 。
カ ー ネ ル 2.4.18 か ら
は 、 こ れ ら に
加 え て INPUT (マ シ
ン 自 体 に 入 っ
て く る パ ケ ッ
ト に 対 す る チ
ェ イ ン )、 FORWARD
(マ シ ン を 経 由
す る パ ケ ッ ト
に 対 す る チ ェ
イ ン )、 POSTROUTING (パ
ケ ッ ト が 出 て
行 く と き に 変
換 す る た め の
チ ェ イ ン ) の 3 つ
の 組 み 込 み チ
ェ イ ン も サ ポ
ー ト さ れ て い
る 。
raw: こ の テ ー ブ
ル は 、 NOTRACK タ ー
ゲ ッ ト と の 組
み 合 わ せ で 使
用 さ れ 、 接 続
追 跡 (connection tracking) の 対
象 外 と す る 通
信 を 設 定 す る
の に 使 わ れ る
。 こ の テ ー ブ
ル は netfilter フ ッ ク
に 優 先 度 高 で
登 録 さ れ て い
る の で 、 ip_conntrack や
他 の IP テ ー ブ ル
よ り も 前 に 呼
ば れ る 。 こ の
テ ー ブ ル で は
、 PREROUTING (任 意 の
ネ ッ ト ワ ー ク
イ ン タ フ ェ ー
ス か ら 到 着 す
る パ ケ ッ ト に
対 す る チ ェ イ
ン )、 OUTPUT (ロ ー カ
ル プ ロ セ ス が
生 成 し た パ ケ
ッ ト に 対 す る
チ ェ イ ン ) の 2 つ
の 組 み 込 み チ
ェ イ ン が 提 供
さ れ て い る 。
security: こ の テ ー ブ
ル は 、 強 制 ア
ク セ ス 制 御 (Mandatory
Access Control; MAC) の ネ ッ ト
ワ ー ク ル ー ル
用 に 使 用 さ れ
る 。 例 え ば 、
SECMARK や CONNSECMARK タ ー
ゲ ッ ト に よ り
有 効 に さ れ る
ル ー ル な ど で
あ る 。 強 制 ア
ク セ ス 制 御 は
、 SELinux な ど の Linux セ
キ ュ リ テ ィ モ
ジ ュ ー ル に よ
り 実 装 さ れ て
い る 。 セ キ ュ
リ テ ィ テ ー ブ
ル は filter テ ー ブ ル
の 後 に 呼 ば れ
る 。 こ れ に よ
り 、 強 制 ア ク
セ ス 制 御 の ル
ー ル よ り も 前
に 、 filter テ ー ブ ル
の 任 意 ア ク セ
ス 制 御 (Discretionary Access Control;
DAC) の ル ー ル を 適
用 す る こ と が
で き る 。 こ の
テ ー ブ ル で は
、 INPUT (マ シ ン 自
体 に 入 っ て く
る パ ケ ッ ト に
対 す る チ ェ イ
ン )、 OUTPUT (ロ ー カ
ル マ シ ン で 生
成 さ れ た パ ケ
ッ ト に 対 し て
ル ー テ ィ ン グ
前 に 変 更 を 行
う た め の チ ェ
イ ン )、 FORWARD (マ
シ ン を 経 由 し
て 転 送 さ れ る
パ ケ ッ ト に 対
し て ル ー テ ィ
ン グ 前 に 変 更
を 行 う た め の
チ ェ イ ン ) の 3 つ
の 組 み 込 み チ
ェ イ ン が 提 供
さ れ て い る 。
オ プ シ ョ ン
iptables
と ip6tables で 使 え
る オ プ シ ョ ン
は 、 い く つ か
の グ ル ー プ に
分 け ら れ る 。
コ マ ン ド こ れ
ら の オ プ シ ョ
ン は 、 実 行 し
た い 動 作 を 指
定 す る 。 以 下
の 説 明 で 注 記
さ れ て い な い
限 り 、 コ マ ン
ド ラ イ ン で 指
定 で き る の は
こ の 中 の 一 つ
だ け で あ る 。
長 い バ ー ジ ョ
ン の コ マ ン ド
名 と オ プ シ ョ
ン 名 は 、 iptables が
他 の コ マ ン ド
名 や オ プ シ ョ
ン 名 と 区 別 で
き る 範 囲 で (後
ろ の 方 の 文 字
を 省 略 し て ) 指
定 す る こ と も
で き る 。
−A, −−append chain
rule−specification 選 択 さ
れ た チ ェ イ ン
の 最 後 に 1 つ 以
上 の ル ー ル を
追 加 す る 。 送
信 元 や 送 信 先
の 名 前 の 解 決
を 行 っ て 、 複
数 の ア ド レ ス
に 展 開 さ れ た
場 合 は 、 可 能
な ア ド レ ス の
組 合 せ そ れ ぞ
れ に 対 し て ル
ー ル が 追 加 さ
れ る 。
−C, −−check chain
rule−specification 指 定 し
た ル ー ル に マ
ッ チ す る ル ー
ル が 指 定 さ れ
た チ ェ イ ン に
あ る か を 確 認
す る 。 こ の コ
マ ン ド で マ ッ
チ す る エ ン ト
リ を 探 す の に
使 用 さ れ る ロ
ジ ッ ク は −D と
同 じ だ が 、 既
存 の iptables 設 定 は
変 更 さ れ ず 、
終 了 コ ー ド は
成 功 、 失 敗 を
示 す の に 使 用
さ れ る 。
−D, −−delete chain
rule−specification
−D, −−delete chain
rulenum 選 択 さ れ た
チ ェ イ ン か ら 1
つ 以 上 の ル ー
ル を 削 除 す る
。 こ の コ マ ン
ド に は 2 つ の 使
い 方 が あ る : チ
ェ イ ン の 中 の
番 号 (最 初 の ル
ー ル を 1 と す る )
を 指 定 す る 場
合 と 、 マ ッ チ
す る ル ー ル を
指 定 す る 場 合
で あ る 。
−I, −−insert chain
[rulenum] rule−specification 選
択 さ れ た チ ェ
イ ン に ル ー ル
番 号 を 指 定 し
て 1 つ 以 上 の ル
ー ル を 挿 入 す
る 。 ル ー ル 番
号 が 1 の 場 合 、
ル ー ル は チ ェ
イ ン の 先 頭 に
挿 入 さ れ る 。
ル ー ル 番 号 が
指 定 さ れ な か
っ た 場 合 、 ル
ー ル 番 号 の デ
フ ォ ル ト は 1 と
な る 。
−R, −−replace chain rulenum
rule−specification 選 択 さ
れ た チ ェ イ ン
の ル ー ル を 置
き 換 え る 。 送
信 元 や 送 信 先
の 名 前 が 複 数
の ア ド レ ス に
展 開 さ れ た 場
合 は 、 こ の コ
マ ン ド は 失 敗
す る 。 ル ー ル
番 号 は 1 か ら は
じ ま る 。
−L, −−list [chain]
選 択 さ れ た チ
ェ イ ン に あ る
全 て の ル ー ル
を 一 覧 表 示 す
る 。 チ ェ イ ン
が 指 定 さ れ な
い 場 合 、 全 て
の チ ェ イ ン の
リ ス ト が 一 覧
表 示 さ れ る 。
他 の コ マ ン ド
と 同 様 に 、 指
定 さ れ た テ ー
ブ ル (デ フ ォ ル
ト は filter) に 対 し
て 作 用 す る 。 NAT
ル ー ル を 表 示
す る に は 以 下
の よ う に す る
。
iptables −t nat −n
−L
DNS の 逆 引 き を 避
け る た め に 、
−n オ プ シ ョ ン
と 共 に 使 用 さ
れ る こ と が よ
く あ る 。 −Z
(ゼ ロ ク リ ア ) オ
プ シ ョ ン を 同
時 に 指 定 す る
こ と も で き る
。 こ の 場 合 、
各 チ ェ イ ン の
表 示 と ゼ ロ ク
リ ア は 同 時 に
行 わ れ 、 カ ウ
ン タ 値 に 抜 け
が 発 生 す る こ
と は な い 。 細
か な 出 力 内 容
は 同 時 に 指 定
さ れ た 他 の 引
き 数 に よ り 変
化 す る 。 以 下
の よ う に −v オ
プ シ ョ ン を 指
定 し な い 限 り
、 ル ー ル の 表
示 は 一 部 省 略
さ れ た も の と
な る 。
iptables −L −v
−S,
−−list−rules [chain]
選 択 さ れ た チ
ェ イ ン に あ る
全 て の ル ー ル
を 表 示 す る 。
チ ェ イ ン が 指
定 さ れ な い 場
合 、 iptables−save と 同
じ く 、 全 て の
チ ェ イ ン の 情
報 が 表 示 さ れ
る 。 他 の コ マ
ン ド 同 様 、 指
定 さ れ た テ ー
ブ ル (デ フ ォ ル
ト は filter) に 対 し
て 作 用 す る 。
−F, −−flush [chain]
選 択 さ れ た チ
ェ イ ン (何 も 指
定 さ れ な け れ
ば テ ー ブ ル 内
の 全 て の チ ェ
イ ン ) の 内 容 を
全 消 去 す る 。
こ れ は 全 て の
ル ー ル を 1 個 ず
つ 削 除 す る の
と 同 じ で あ る
。
−Z, −−zero [chain
[rulenum]] 全 て の チ
ェ イ ン の パ ケ
ッ ト カ ウ ン タ
と バ イ ト カ ウ
ン タ を ゼ ロ に
す る 。 チ ェ イ
ン や チ ェ イ ン
内 の ル ー ル が
指 定 さ れ た 場
合 に は 、 指 定
さ れ た チ ェ イ
ン や ル ー ル の
カ ウ ン タ だ け
を ゼ ロ に す る
。 ク リ ア さ れ
る 直 前 の カ ウ
ン タ を 見 る た
め に 、 −L,
−−list (一 覧 表
示 ) オ プ シ ョ ン
と 同 時 に 指 定
す る こ と も で
き る (上 記 を 参
照 )。
−N, −−new−chain
chain 指 定 し た 名
前 の ユ ー ザ ー
定 義 チ ェ イ ン
を 作 成 す る 。
同 じ 名 前 の タ
ー ゲ ッ ト が 存
在 し て い て は
な ら な い 。
−X, −−delete−chain
[chain] 指 定 し た ユ
ー ザ ー 定 義 チ
ェ イ ン を 削 除
す る 。 そ の チ
ェ イ ン が 参 照
さ れ て い て は
な ら な い 。 チ
ェ イ ン を 削 除
す る 前 に 、 そ
の チ ェ イ ン を
参 照 し て い る
ル ー ル を 削 除
す る か 、 別 の
チ ェ イ ン を 参
照 す る よ う に
し な け れ ば な
ら な い 。 チ ェ
イ ン は 空 で な
け れ ば な ら な
い 、 つ ま り チ
ェ イ ン に ル ー
ル が 登 録 さ れ
て い て は い け
な い 。 引 き 数
が 指 定 さ れ な
か っ た 場 合 、
テ ー ブ ル に あ
る チ ェ イ ン の
う ち 組 み 込 み
チ ェ イ ン 以 外
の も の を 全 て
削 除 す る 。
−P, −−policy chain
target チ ェ イ ン の
ポ リ シ ー を 指
定 し た タ ー ゲ
ッ ト に 設 定 す
る 。 指 定 可 能
な タ ー ゲ ッ ト
は 「 タ ー ゲ ッ
ト 」 の 章 を 参
照 す る こ と 。
(ユ ー ザ ー 定 義
で は な い ) 組 み
込 み チ ェ イ ン
に し か ポ リ シ
ー は 設 定 で き
な い 。 ま た 、
ポ リ シ ー の タ
ー ゲ ッ ト に 、
組 み 込 み チ ェ
イ ン や ユ ー ザ
ー 定 義 チ ェ イ
ン を 設 定 す る
こ と は で き な
い 。
−E, −−rename−chain
old−chain new−chain ユ ー
ザ ー 定 義 チ ェ
イ ン を 指 定 し
た 名 前 に 変 更
す る 。 こ れ は
見 た 目 だ け の
変 更 な の で 、
テ ー ブ ル の 構
造 に は 何 も 影
響 し な い 。
−h ヘ ル プ 。 |
(今 の と こ ろ は と て も 簡 単 な ) コ マ ン ド 書 式 の 説 明 を 表 示 す |
る 。 パ ラ メ ー タ 以 下 の パ ラ メ ー タ は (add, delete, insert, replace, append コ マ ン ド で 用 い ら れ て ) ル ー ル の 仕 様 を 決 め る 。
−4,
−−ipv4 こ の オ
プ シ ョ ン は iptables
と iptables−restore で は 効
果 を 持 た な い
。 −4 オ プ シ ョ
ン を 使 っ た ル
ー ル を ip6tables−restore で
挿 入 さ れ た 場
合 、 (こ の 場 合
に 限 り ) そ の ル
ー ル は 黙 っ て
無 視 さ れ る 。
そ れ 以 外 の 使
い 方 を し た 場
合 は エ ラ ー が
発 生 す る 。 こ
の オ プ シ ョ ン
を 使 う と 、 IPv4 と
IPv6 の 両 方 の ル ー
ル を 一 つ の ル
ー ル フ ァ イ ル
に 記 述 し 、
iptables−restore と ip6tables−restore
の 両 方 で そ の
フ ァ イ ル を 使
う こ と が で き
る 。
−6, −−ipv6
−6 オ プ シ ョ ン を 使 っ た ル ー ル を iptables−restore で 挿 入 さ れ た 場 合 、 (こ の 場 合 に 限 り ) そ の ル ー ル は 黙 っ て 無 視 さ れ る 。 そ れ 以 外 の 使 い 方 を し た 場 合 は エ ラ ー が 発 生 す る 。 こ の オ プ シ ョ ン を 使 う と 、 IPv4 と IPv6 の 両 方 の ル ー ル を 一 つ の ル ー ル フ ァ イ ル に 記 述 し 、 iptables−restore と ip6tables−restore の 両 方 で そ の フ ァ イ ル を 使 う こ と が で き る 。 こ の オ プ シ ョ ン は ip6tables と ip6tables−restore で は 効 果 を 持 た な い 。
[!] −p,
−−protocol protocol ル
ー ル で 使 わ れ
る プ ロ ト コ ル
、 ま た は チ ェ
ッ ク さ れ る パ
ケ ッ ト の プ ロ
ト コ ル 。 指 定
で き る プ ロ ト
コ ル は 、 tcp, udp,
udplite, icmp, esp, ah,
sctp と 特 別 な キ
ー ワ ー ド all の
い ず れ か 1 つ か
、 ま た は 数 値
で あ る 。 数 値
に は 、 こ れ ら
の プ ロ ト コ ル
の ど れ か 、 ま
た は そ れ 以 外
の プ ロ ト コ ル
を 表 す 数 値 を
指 定 す る こ と
が で き る 。 /etc/protocols
に あ る プ ロ ト
コ ル 名 も 指 定
で き る 。 プ ロ
ト コ ル の 前 に
"!" を 置 く と 、
そ の プ ロ ト コ
ル を 除 外 す る
と い う 意 味 に
な る 。 数 値 0 は
all と 等 し い 。
"all" は 全 て の
プ ロ ト コ ル と
マ ッ チ し 、 こ
の オ プ シ ョ ン
が 省 略 さ れ た
際 の デ フ ォ ル
ト で あ る 。 ip6tables
で は 、 esp 以 外
の IPv6 拡 張 ヘ ッ ダ
は 指 定 で き な
い 点 に 注 意 。
esp と ipv6−nonext は
バ ー ジ ョ ン 2.6.11 以
降 の カ ー ネ ル
で 使 用 で き る
。 数 値 0 は all と
等 し い 。 こ れ
は 、 プ ロ ト コ
ル フ ィ ー ル ド
が 値 0 で あ る か
を 直 接 検 査 で
き な い こ と を
意 味 す る 。 HBH ヘ
ッ ダ と マ ッ チ
さ せ る た め に
は 、 HBH ヘ ッ ダ が
例 え 最 後 に あ
る 場 合 で あ っ
て も 、 −p 0 を
使 う こ と は で
き ず 、 必 ず −m
hbh を 使 う 必 要
が あ る 。
[!] −s, −−source
address[/mask][,...]
送 信 元 の 指 定
。 address は ホ ス ト
名 、 ネ ッ ト ワ
ー ク IP ア ド レ ス
(/mask を 指 定 す
る )、 通 常 の IP ア
ド レ ス の い ず
れ か で あ る 。
ホ ス ト 名 の 解
決 は 、 カ ー ネ
ル に ル ー ル が
登 録 さ れ る 前
に 一 度 だ け 行
わ れ る 。 DNS の よ
う な リ モ ー ト
へ の 問 い 合 わ
せ で 解 決 す る
名 前 を 指 定 す
る の は 非 常 に
良 く な い こ と
で あ る 。 mask に
は 、 IPv4 ネ ッ ト ワ
ー ク マ ス ク か
(iptables の 場 合 )、 ネ
ッ ト ワ ー ク マ
ス ク の 左 側 に
あ る 1 の 数 を 表
す 数 値 を 指 定
す る 。 つ ま り
、 24 と い う iptables
の mask は 255.255.255.0 と
同 じ で あ る 。
ア ド レ ス 指 定
の 前 に "!" を 置
く と 、 そ の ア
ド レ ス を 除 外
す る と い う 意
味 に な る 。 フ
ラ グ −−src は 、
こ の オ プ シ ョ
ン の 別 名 で あ
る 。 複 数 の ア
ド レ ス を 指 定
す る こ と が で
き る が 、 そ の
場 合 は (−A で の
追 加 で あ れ ば )
複 数 の ル ー ル
に 展 開 さ れ 、
(−D で の 削 除 で
あ れ ば ) 複 数 の
ル ー ル が 削 除
さ れ る こ と に
な る 。
[!] −d, −−destination
address[/mask][,...]
宛 先 の 指 定 。
書 式 の 詳 し い
説 明 に つ い て
は 、 −s (送 信
元 ) フ ラ グ の 説
明 を 参 照 す る
こ と 。 フ ラ グ
−−dst は 、 こ の
オ プ シ ョ ン の
別 名 で あ る 。
−m, −−match match
使 用 す る マ ッ
チ 、 つ ま り 、
特 定 の 通 信 を
検 査 す る 拡 張
モ ジ ュ ー ル を
指 定 す る 。 マ
ッ チ の 集 合 に
よ り 、 タ ー ゲ
ッ ト が 起 動 さ
れ る 条 件 が 構
築 さ れ る 。 マ
ッ チ は 先 頭 か
ら 末 尾 に 向 け
て コ マ ン ド ラ
イ ン で 指 定 さ
れ た 順 に 評 価
さ れ 、 短 絡 式
(short−circuit fashion) の 動 作
を 行 う 、 つ ま
り 、 い ず れ の
拡 張 モ ジ ュ ー
ル が 偽 (false) を 返
し た 場 合 、 そ
こ で 評 価 は 終
了 す る 。
−j, −−jump target
ル ー ル の タ ー
ゲ ッ ト 、 つ ま
り 、 パ ケ ッ ト
が マ ッ チ し た
場 合 に ど う す
る か を 指 定 す
る 。 タ ー ゲ ッ
ト は ユ ー ザ ー
定 義 チ ェ イ ン
(そ の ル ー ル 自
身 が 入 っ て い
る チ ェ イ ン 以
外 ) で も 、 パ ケ
ッ ト の 行 方 を
即 時 に 決 定 す
る 特 別 な 組 み
込 み タ ー ゲ ッ
ト で も 、 拡 張
タ ー ゲ ッ ト (以
下 の 「 タ ー ゲ
ッ ト の 拡 張 」
を 参 照 ) で も よ
い 。 こ の オ プ
シ ョ ン が ル ー
ル の 中 で 省 略
さ れ た 場 合 (か
つ −g が 使 用 さ
れ な か っ た 場
合 )、 ル ー ル に
マ ッ チ し て も
パ ケ ッ ト の 行
方 に 何 も 影 響
し な い が 、 ル
ー ル の カ ウ ン
タ は 1 つ 加 算 さ
れ る 。
−g, −−goto chain
ユ ー ザ ー 定 義
チ ェ イ ン で 処
理 を 継 続 す る
こ と を 指 定 す
る 。 −−jump オ プ
シ ョ ン と 異 な
り 、 return が 行 わ れ
た 際 に こ の チ
ェ イ ン で の 処
理 は 継 続 さ れ
ず 、 −−jump で こ
の チ ェ イ ン を
呼 び 出 し た チ
ェ イ ン で 処 理
が 継 続 さ れ る
。
[!] −i,
−−in−interface name パ
ケ ッ ト が 受 信
さ れ た イ ン タ
ー フ ェ ー ス 名
(INPUT, FORWARD, PREROUTING チ
ェ イ ン に 入 る
パ ケ ッ ト の み
)。 イ ン タ ー フ
ェ ー ス 名 の 前
に "!" を 置 く と
、 そ の イ ン タ
ー フ ェ ー ス を
除 外 す る と い
う 意 味 に な る
。 イ ン タ ー フ
ェ ー ス 名 が "+"
で 終 っ て い る
場 合 、 そ の 名
前 で 始 ま る 任
意 の イ ン タ ー
フ ェ ー ス 名 に
マ ッ チ す る 。
こ の オ プ シ ョ
ン が 省 略 さ れ
た 場 合 、 任 意
の イ ン タ ー フ
ェ ー ス 名 に マ
ッ チ す る 。
[!] −o,
−−out−interface name
パ ケ ッ ト を 送
信 す る こ と に
な る イ ン タ ー
フ ェ ー ス 名
(FORWARD, OUTPUT, POSTROUTING チ
ェ イ ン に 入 る
パ ケ ッ ト の み
)。 イ ン タ ー フ
ェ ー ス 名 の 前
に "!" を 置 く と
、 そ の イ ン タ
ー フ ェ ー ス を
除 外 す る と い
う 意 味 に な る
。 イ ン タ ー フ
ェ ー ス 名 が "+"
で 終 っ て い る
場 合 、 そ の 名
前 で 始 ま る 任
意 の イ ン タ ー
フ ェ ー ス 名 に
マ ッ チ す る 。
こ の オ プ シ ョ
ン が 省 略 さ れ
た 場 合 、 任 意
の イ ン タ ー フ
ェ ー ス 名 に マ
ッ チ す る 。
[!] −f,
−−fragment
IPv4 の 分 割 さ れ た パ ケ ッ ト (fragmented packet) の う ち 2 番 目 以 降 の パ ケ ッ ト だ け を 参 照 す る ル ー ル で あ る こ と を 意 味 す る 。 こ の よ う な パ ケ ッ ト (ま た は ICMP タ イ プ の パ ケ ッ ト ) は 送 信 元 ポ ー ト と 宛 先 ポ ー ト を 知 る 方 法 が な い の で 、 送 信 元 ポ ー ト や 宛 先 ポ ー ト を 指 定 す る よ う な ル ー ル に は マ ッ チ し な い 。 "−f" フ ラ グ の 前 に "!" を 置 く と 、 分 割 さ れ た パ ケ ッ ト の う ち 最 初 の フ ラ グ メ ン ト か 、 分 割 さ れ て い な い パ ケ ッ ト だ け に マ ッ チ す る 。 こ の オ プ シ ョ ン は IPv4 固 有 で あ り 、 ip6tables で は 利 用 で き な い 。
−c,
−−set−counters packets bytes
こ の オ プ シ ョ
ン を 使 う と 、
(insert, append, replace 操
作 に お い て ) 管
理 者 は パ ケ ッ
ト カ ウ ン タ と
バ イ ト カ ウ ン
タ を 初 期 化 す
る こ と が で き
る 。 そ の 他 の
オ プ シ ョ ン そ
の 他 に 以 下 の
オ プ シ ョ ン を
指 定 す る こ と
が で き る :
−v, −−verbose 詳 細
な 出 力 を 行 う
。 list コ マ ン ド の
際 に 、 イ ン タ
ー フ ェ ー ス 名
、 ル ー ル の オ
プ シ ョ ン (あ る
場 合 の み )、 TOS マ
ス ク を 表 示 さ
せ る 。 パ ケ ッ
ト と バ イ ト カ
ウ ン タ も 表 示
さ れ る 。 添 字
’K’, ’M’, ’G’ は
、 そ れ ぞ れ 1000,
1,000,000, 1,000,000,000 倍 を 表 す
(こ れ を 変 更 す
る −x フ ラ グ も
見 よ )。 こ の オ
プ シ ョ ン を append, insert,
delete, replace コ マ ン ド に
適 用 す る と 、
ル ー ル に つ い
て の 詳 細 な 情
報 を 表 示 す る
。 −v は 複 数 回
指 定 す る こ と
が で き 、 数 が
多 く な る と よ
り 多 く の デ バ
ッ グ 情 報 が 出
力 さ れ る 。
−w, −−wait
Wait for the xtables lock. To prevent multiple instances of the program from running concurrently, an attempt will be made to obtain an exclusive lock at launch. By default, the program will exit if the lock cannot be obtained. This option will make the program wait until the exclusive lock can be obtained.
−n,
−−numeric 数 値 に
よ る 出 力 を 行
う 。 IP ア ド レ ス
や ポ ー ト 番 号
を 数 値 に よ る
フ ォ ー マ ッ ト
で 表 示 す る 。
デ フ ォ ル ト で
は 、 iptables は (可 能
で あ れ ば ) IP ア ド
レ ス や ポ ー ト
番 号 を ホ ス ト
名 、 ネ ッ ト ワ
ー ク 名 、 サ ー
ビ ス 名 で 表 示
し よ う と す る
。
−x, −−exact 厳 密
な 数 値 で 表 示
す る 。 パ ケ ッ
ト カ ウ ン タ と
バ イ ト カ ウ ン
タ を 、 K (1000 の 何
倍 か )・ M (1000K の 何
倍 か )・ G (1000M の 何
倍 か ) で は な く
、 厳 密 な 値 で
表 示 す る 。 こ
の オ プ シ ョ ン
は 、 −L コ マ ン
ド の 場 合 の み
意 味 が あ る 。
−−line−numbers ル ー
ル を 一 覧 表 示
す る 際 、 そ の
ル ー ル が チ ェ
イ ン の ど の 位
置 に あ る か を
表 す 行 番 号 を
各 行 の 始 め に
付 加 す る 。
−−modprobe=command チ ェ
イ ン に ル ー ル
を 追 加 ま た は
挿 入 す る 際 に
、 (タ ー ゲ ッ ト
や マ ッ チ ン グ
の 拡 張 な ど で )
必 要 な モ ジ ュ
ー ル を ロ ー ド
す る た め に 使
う command を 指 定 す
る 。
マ ッ チ ン グ と タ ー ゲ ッ ト の 拡 張
iptables は 、 パ ケ ッ ト マ ッ チ ン グ と タ ー ゲ ッ ト の 拡 張 を 使 う こ と が で き る 。 iptables−extensions(8) man ペ ー ジ に 利 用 で き る 拡 張 の リ ス ト が 載 っ て い る 。
返 り 値
い ろ い ろ な エ ラ ー メ ッ セ ー ジ が 標 準 エ ラ ー に 表 示 さ れ る 。 正 常 に 動 作 し た 場 合 、 終 了 コ ー ド は 0 で あ る 。 不 正 な コ マ ン ド ラ イ ン パ ラ メ ー タ に よ り エ ラ ー が 発 生 し た 場 合 は 、 終 了 コ ー ド 2 が 返 さ れ る 。 そ の 他 の エ ラ ー の 場 合 は 、 終 了 コ ー ド 1 が 返 さ れ る 。
バ グ
バ グ ? 何 そ れ ?? ;−) http://bugzilla.netfilter.org/ を 覗 い て み る と い い だ ろ う 。
IPCHAINS と の 互 換 性
iptables は 、 Rusty Russell の ipchains と 非 常 に よ く 似 て い る 。 大 き な 違 い は 、 チ ェ イ ン INPUT と OUTPUT が 、 そ れ ぞ れ ロ ー カ ル ホ ス ト に 入 っ て く る パ ケ ッ ト と 、 ロ ー カ ル ホ ス ト か ら 出 さ れ る パ ケ ッ ト の み し か 調 べ な い と い う 点 で あ る 。 よ っ て 、 ど の パ ケ ッ ト も 3 つ あ る チ ェ イ ン の う ち 1 つ し か 通 ら な い (た だ し 、 ル ー プ バ ッ ク ト ラ フ ィ ッ ク だ け は 例 外 で 、 INPUT と OUTPUT の 両 方 の チ ェ イ ン を 通 る )。 ipchains で は 、 フ ォ ワ ー ド さ れ る パ ケ ッ ト は 3 つ の チ ェ イ ン 全 て を 通 っ て い た 。 そ の 他 の 大 き な 違 い は 、 −i で 入 力 イ ン タ ー フ ェ ー ス 、 −o で 出 力 イ ン タ ー フ ェ ー ス を 表 わ し 、 FORWARD チ ェ イ ン に 入 る パ ケ ッ ト で は 入 出 力 両 方 の イ ン タ ー フ ェ ー ス が 指 定 可 能 な 点 で あ る 。
NAT の
い ろ い ろ な 形
式 が 分 割 さ れ
た 。 オ プ シ ョ
ン の 拡 張 モ ジ
ュ ー ル と 組 み
合 わ せ て 、 デ
フ ォ ル ト の 「
フ ィ ル タ 」 テ
ー ブ ル を 用 い
た 場 合 で も 、
iptables は 純 粋 な パ
ケ ッ ト フ ィ ル
タ と な る 。 こ
れ に よ り 、 ipchains
で 見 ら れ た IP マ
ス カ レ ー デ ィ
ン グ と パ ケ ッ
ト フ ィ ル タ リ
ン グ の 組 み 合
せ た 場 合 に 分
か り に く か っ
た 点 が 分 か り
や す く な っ て
い る 。 そ の た
め 、 以 下 の オ
プ シ ョ ン を 指
定 し た 場 合 の
動 作 は 違 っ た
も の に な っ て
い る 。
−j MASQ
−M −S
−M −L
iptables で は 、 そ の
他 に も い く つ
か の 変 更 が あ
る 。
関 連 項 目
iptables−apply(8), iptables−save(8), iptables−restore(8), iptables−extensions(8),
packet−filtering−HOWTO
で は 、 パ ケ ッ
ト フ ィ ル タ リ
ン グ に つ い て
の 詳 細 な iptables の
使 用 法 が 説 明
さ れ て い る 。
NAT−HOWTO に は NAT に つ
い て 詳 し い 説
明 が あ る 。
netfilter−extensions−HOWTO で は
、 標 準 的 な 配
布 に は 含 ま れ
な い 拡 張 の 詳
細 が 説 明 さ れ
て い る 。
netfilter−hacking−HOWTO に は
、 内 部 構 造 に
つ い て の 詳 細
な 説 明 が あ る
。
http://www.netfilter.org/ を 参 照
。
作 者
Rusty Russell が 最 初 に iptables を 書 い た 。 初 期 の 段 階 で の Michael Neuling と の 議 論 の 上 で 書 か れ た 。
Marc Boucher は Rusty に iptables の 汎 用 的 な パ ケ ッ ト 選 択 の フ レ ー ム ワ ー ク を 使 う よ う に 働 き か け て 、 ipnatctl を 使 わ な い よ う に し た 。 そ し て 、 mangle テ ー ブ ル 、 所 有 者 マ ッ チ ン グ 、 mark 機 能 を 書 き 、 い た る と こ ろ で 使 わ れ て い る 素 晴 ら し い コ ー ド を 書 い た 。
James Morris は TOS タ ー ゲ ッ ト と tos マ ッ チ ン グ を 書 い た 。
Jozsef Kadlecsik は REJECT タ ー ゲ ッ ト を 書 い た 。
Harald Welte は ULOG タ ー ゲ ッ ト 、 NFQUEUE タ ー ゲ ッ ト 、 新 し い libiptc や TTL, DSCP, ECN の マ ッ チ ・ タ ー ゲ ッ ト を 書 い た 。
Netfilter コ ア チ ー ム は 、 Martin Josefsson, Yasuyuki Kozakai, Jozsef Kadlecsik, Patrick McHardy, James Morris, Pablo Neira Ayuso, Harald Welte, Rusty Russell で あ る 。
man ペ ー ジ は 元 々 Herve Eychenne <rv [AT] wallfire.org> が 書 い た 。
バ ー ジ ョ ン
こ の man ペ ー ジ は iptables/ip6tables 1.4.21 に つ い て 説 明 し て い る 。