Manpages

名 前

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]

説 明

iptablesip6tables は 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) の ネ ッ ト ワ ー ク ル ー ル 用 に 使 用 さ れ る 。 例 え ば 、 SECMARKCONNSECMARK タ ー ゲ ッ ト に よ り 有 効 に さ れ る ル ー ル な ど で あ る 。 強 制 ア ク セ ス 制 御 は 、 SELinux な ど の Linux セ キ ュ リ テ ィ モ ジ ュ ー ル に よ り 実 装 さ れ て い る 。 セ キ ュ リ テ ィ テ ー ブ ル は filter テ ー ブ ル の 後 に 呼 ば れ る 。 こ れ に よ り 、 強 制 ア ク セ ス 制 御 の ル ー ル よ り も 前 に 、 filter テ ー ブ ル の 任 意 ア ク セ ス 制 御 (Discretionary Access Control; DAC) の ル ー ル を 適 用 す る こ と が で き る 。 こ の テ ー ブ ル で は 、 INPUT (マ シ ン 自 体 に 入 っ て く る パ ケ ッ ト に 対 す る チ ェ イ ン )、 OUTPUT (ロ ー カ ル マ シ ン で 生 成 さ れ た パ ケ ッ ト に 対 し て ル ー テ ィ ン グ 前 に 変 更 を 行 う た め の チ ェ イ ン )、 FORWARD (マ シ ン を 経 由 し て 転 送 さ れ る パ ケ ッ ト に 対 し て ル ー テ ィ ン グ 前 に 変 更 を 行 う た め の チ ェ イ ン ) の 3 つ の 組 み 込 み チ ェ イ ン が 提 供 さ れ て い る 。

オ プ シ ョ ン

iptablesip6tables で 使 え る オ プ シ ョ ン は 、 い く つ か の グ ル ー プ に 分 け ら れ る 。 コ マ ン ド こ れ ら の オ プ シ ョ ン は 、 実 行 し た い 動 作 を 指 定 す る 。 以 下 の 説 明 で 注 記 さ れ て い な い 限 り 、 コ マ ン ド ラ イ ン で 指 定 で き る の は こ の 中 の 一 つ だ け で あ る 。 長 い バ ー ジ ョ ン の コ マ ン ド 名 と オ プ シ ョ ン 名 は 、 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 拡 張 ヘ ッ ダ は 指 定 で き な い 点 に 注 意 。 espipv6−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 と 非 常 に よ く 似 て い る 。 大 き な 違 い は 、 チ ェ イ ン INPUTOUTPUT が 、 そ れ ぞ れ ロ ー カ ル ホ ス ト に 入 っ て く る パ ケ ッ ト と 、 ロ ー カ ル ホ ス ト か ら 出 さ れ る パ ケ ッ ト の み し か 調 べ な い と い う 点 で あ る 。 よ っ て 、 ど の パ ケ ッ ト も 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 に つ い て 説 明 し て い る 。