File: iptables.8

package info (click to toggle)
manpages-ja 0.5.0.0.20120606-1
  • links: PTS
  • area: main
  • in suites: wheezy
  • size: 25,964 kB
  • sloc: perl: 161; makefile: 116
file content (741 lines) | stat: -rw-r--r-- 51,465 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
.\"*******************************************************************
.\"
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
.TH IPTABLES 8 "Mar 09, 2002" "" ""
.\"
.\" Man page written by Herve Eychenne <rv@wallfire.org> (May 1999)
.\" It is based on ipchains page.
.\" TODO: add a word for protocol helpers (FTP, IRC, SNMP-ALG)
.\"
.\" ipchains page by Paul ``Rusty'' Russell March 1997
.\" Based on the original ipfwadm man page by Jos Vos <jos@xos.nl>
.\"
.\"	This program is free software; you can redistribute it and/or modify
.\"	it under the terms of the GNU General Public License as published by
.\"	the Free Software Foundation; either version 2 of the License, or
.\"	(at your option) any later version.
.\"
.\"	This program is distributed in the hope that it will be useful,
.\"	but WITHOUT ANY WARRANTY; without even the implied warranty of
.\"	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
.\"	GNU General Public License for more details.
.\"
.\"	You should have received a copy of the GNU General Public License
.\"	along with this program; if not, write to the Free Software
.\"	Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
.\"
.\"
.SH 名前
iptables \- IPv4 のパケットフィルタと NAT を管理するツール
.SH 書式
\fBiptables [\-t table] \-[AD] \fPチェイン ルールの詳細 [オプション]
.br
\fBiptables [\-t table] \-I \fPチェイン [ルール番号] ルールの詳細 [オプション]
.br
\fBiptables [\-t table] \-R \fPチェイン ルール番号 ルールの詳細 [オプション]
.br
\fBiptables [\-t table] \-D \fPチェイン ルール番号 [オプション]
.br
\fBiptables [\-t table] \-[LFZ] \fP[チェイン] [オプション]
.br
\fBiptables [\-t table] \-N \fPチェイン
.br
\fBiptables [\-t table] \-X \fP[チェイン]
.br
\fBiptables [\-t table] \-P \fPチェイン ターゲット [オプション]
.br
\fBiptables [\-t table] \-E \fP旧チェイン名 新チェイン名
.SH 説明
\fBiptables\fP は Linux カーネルの IP パケットフィルタルールのテーブルを 設定・管理・検査するために使われる。
複数の異なるテーブルを定義できる。 各テーブルにはたくさんの組み込み済みチェインが含まれており、 さらにユーザー定義のチェインを加えることもできる。

各チェインは、パケット群にマッチするルールのリストである。 各ルールは
マッチしたパケットに対して何をするかを指定する。 これは「ターゲット」と
呼ばれ、 同じテーブル内のユーザー定義チェインにジャンプすることもできる。

.SH ターゲット
ファイアウォールのルールは、パケットを判断する基準とターゲットを指定する。
パケットがマッチしない場合、チェイン内の次のルールが評価される。
パケットがマッチした場合、 ターゲットの値によって次のルールが指定される。
ターゲットの値は、ユーザー定義チェインの名前、または特別な値
\fIACCEPT\fP, \fIDROP\fP, \fIQUEUE\fP, \fIRETURN\fP のうちの 1 つである。
.PP
\fIACCEPT\fP はパケットを通すという意味である。
\fIDROP\fP はパケットを床に落す (捨てる) という意味である。
\fIQUEUE\fP はパケットをユーザー空間に渡すという意味である
(カーネルがサポートしていればであるが)。
\fIRETURN\fP は、このチェインを辿るのを中止して、
前の (呼び出し元) チェインの次のルールから再開するという意味である。
組み込み済みチェインの最後に到達した場合、 または組み込み済みチェインで
ターゲット \fIRETURN\fP を持つルールにマッチした場合、
チェインポリシーで指定されたターゲットが パケットの行方を決定する。
.SH テーブル
現在のところ 3 つの独立なテーブルが存在する (ある時点でどのテーブルが存在するかは、 カーネルの設定やどういったモジュールが存在するかに依存する)。
.TP 
\fB\-t, \-\-table \fP\fItable\fP
このオプションは、このコマンドが操作するパケットマッチングテーブルを
指定する。 カーネルに自動モジュールローディングが設定されている場合、
そのテーブルに対する適切なモジュールがまだロードされていなければ、
そのモジュールがロードされる。

テーブルは以下の通りである。
.RS
.TP  .4i
\fBfilter\fP:
(\-t オプションが指定されていない場合は) これがデフォルトのテーブルである。
これには \fBINPUT\fP (マシン自体に入ってくるパケットに対するチェイン)・
\fBFORWARD\fP (マシンを経由するパケットに対するチェイン)・
\fBOUTPUT\fP (ローカルマシンで生成されたパケットに対するチェイン) という
組み込み済みチェインが含まれる。
.TP 
\fBnat\fP:
このテーブルは新しい接続を開くようなパケットに対して参照される。 これには \fBPREROUTING\fP
(パケットが入ってきた場合、すぐにそのパケットを変換するためのチェイン)・ \fBOUTPUT\fP
(ローカルで生成されたパケットをルーティングの前に変換するためのチェイン)・ \fBPOSTROUTING\fP
(パケットが出て行くときに変換するためのチェイン)  という 3 つの組み込み済みチェインが含まれる。
.TP 
\fBmangle\fP:
このテーブルは特別なパケット変換に使われる。 カーネル 2.4.17 までは、
\fBPREROUTING\fP (パケットが入ってきた場合、 すぐにそのパケットを変換する
ためのチェイン)・ \fBOUTPUT\fP (ローカルで生成されたパケットを ルーティン
グの前に変換するためのチェイン) という 2 つの組み込み済みチェインが含ま
れていた。 カーネル 2.4.18 からは、これらの他に \fBINPUT\fP (マシン自体に
入ってくるパケットに対するチェイン)・ \fBFORWARD\fP (マシンを経由するパケッ
トに対するチェイン)・ \fBPOSTROUTING\fP (パケットが出て行くときに変換する
ためのチェイン)・ という 3 つの組み込み済みチェインもサポートされる。
.RE
.SH オプション
\fBiptables\fP で使えるオプションは、いくつかのグループに分けられる。
.SS コマンド
これらのオプションは、実行する特定の動作を指定する。 以下の説明で注記されていない限り、 コマンドラインで指定できるのはこの中の 1 つだけである。
長いバージョンのコマンド名とオプション名は、 \fBiptables\fP が他のコマンド名やオプション名と区別できる範囲で (文字を省略して)
指定することもできる。
.TP 
\fB\-A, \-\-append \fP\fIchain rule\-specification\fP
選択されたチェインの最後に 1 つ以上のルールを追加する。
送信元や送信先の名前の解決を行って、 1 つ以上のアドレスに展開された
場合は、可能なアドレスの組合せそれぞれに対してルールが追加される。
.TP 
\fB\-D, \-\-delete \fP\fIchain rule\-specification\fP
.ns
.TP 
\fB\-D, \-\-delete \fP\fIchain rulenum\fP
選択されたチェインから 1 つ以上のルールを削除する。 このコマンドには 2 つの使い方がある: チェインの中の番号 (最初のルールを 1 とする)
を指定する場合と、 マッチするルールを指定する場合である。
.TP 
\fB\-I, \-\-insert \fP\fIチェイン\fP [\fIルール番号\fP] \fIルールの詳細\fP
選択されたチェインにルール番号を指定して 1 つ以上のルールを挿入する。 ルール番号が 1 の場合、ルールはチェインの先頭に挿入される。
これはルール番号が指定されない場合のデフォルトでもある。
.TP 
\fB\-R, \-\-replace \fP\fIchain rulenum rule\-specification\fP
選択されたチェインにあるルールを置き換える。
送信元や送信先の名前が 1 つ以上のアドレスに解決された場合は、
このコマンドは失敗する。ルール番号は 1 からはじまる。
.TP 
\fB\-L, \-\-list \fP[\fIchain\fP]
選択されたチェインにある全てのルールを一覧表示する。 チェインが指定されない場合、全てのチェインにあるリストが一覧表示される。 他の各 iptables
コマンドと同様に、指定されたテーブル (デフォルトは filter) に対して作用する。 よって NAT ルールを表示するには以下のようにする。
.nf
 iptables \-t nat \-n \-L
.fi
DNS の逆引きを避けるために、よく \fB\-n\fP オプションと共に使用される。
\fB\-Z\fP (ゼロ化) オプションを同時に指定することもできる。この場合、
チェインは要素毎にリストされて、 (訳註: パケットカウンタとバイト
カウンタが) ゼロにされる。出力表示は同時に与えられた他の引き数に
影響される。以下のように、 \fB\-v\fP オプションを指定しない限り、
実際のルールそのものは表示されない。
.nf
 iptables \-L \-v
.fi
.TP 
\fB\-F, \-\-flush \fP[\fIchain\fP]
選択されたチェイン (何も指定されなければテーブル内の全てのチェイン)
の内容を全消去する。これは全てのルールを 1 個ずつ削除するのと
同じである。
.TP 
\fB\-Z, \-\-zero \fP[\fIchain\fP]
すべてのチェインのパケットカウンタとバイトカウンタをゼロにする。 クリアされる直前のカウンタを見るために、 \fB\-L, \-\-list\fP (一覧表示)
オプションと同時に指定することもできる (上記を参照)。
.TP 
\fB\-N, \-\-new\-chain \fP\fIchain\fP
指定した名前でユーザー定義チェインを作成する。 同じ名前のターゲットが既に存在してはならない。
.TP 
\fB\-X, \-\-delete\-chain \fP[\fIchain\fP]
指定したユーザー定義チェインを削除する。 そのチェインが参照されていては
ならない。 チェインを削除する前に、そのチェインを参照しているルールを
削除するか置き換えるかしなければならない。 引き数が与えられない場合、テー
ブルにあるチェインのうち 組み込み済みチェインでないものを全て削除する。
.TP 
\fB\-P, \-\-policy \fP\fIchain target\fP
チェインのポリシーを指定したターゲットに設定する。指定可能なターゲット
は「\fBターゲット\fP」の章を参照すること。 (ユーザー定義ではない) 組み込み
済みチェインにしかポリシーは設定できない。 また、組み込み済みチェインも
ユーザー定義チェインも ポリシーのターゲットに設定することはできない。
.TP 
\fB\-E, \-\-rename\-chain \fP\fIold\-chain new\-chain\fP
ユーザー定義チェインを指定した名前に変更する。 これは見た目だけの変更なので、テーブルの構造には何も影響しない。
.TP 
\fB\-h\fP
ヘルプ。 (今のところはとても簡単な) コマンド書式の説明を表示する。
.SS パラメータ
以下のパラメータは (add, delete, insert, replace, append コマンドで用いられて) ルールの仕様を決める。
.TP 
\fB\-p, \-\-protocol \fP[!] \fIprotocol\fP
ルールで使われるプロトコル、またはチェックされるパケットのプロトコル。 指定できるプロトコルは、 \fItcp\fP, \fIudp\fP, \fIicmp\fP,
\fIall\fP のいずれか 1 つか、数値である。 数値には、これらのプロトコルのどれかないし別のプロトコルを表す 数値を指定することができる。
/etc/protocols にあるプロトコル名も指定できる。 プロトコルの前に "!" を置くと、そのプロトコルを除外するという意味になる。 数値 0
は \fIall\fP と等しい。 プロトコル \fIall\fP は全てのプロトコルとマッチし、 このオプションが省略された際のデフォルトである。
.TP 
\fB\-s, \-\-source \fP[!] \fIaddress\fP[/\fImask\fP]
送信元の指定。 \fIaddress\fP はホスト名 (DNS のようなリモートへの問い合わせで解決する名前を指定するのは非常に良くない)  ・ネットワーク
IP アドレス (/mask を指定する)・ 通常の IP アドレス、のいずれかである。 \fImask\fP はネットワークマスクか、
ネットワークマスクの左側にある 1 の数を指定する数値である。 つまり、 \fI24\fP という mask は \fI255.255.255.0\fP に等しい。
アドレス指定の前に "!" を置くと、そのアドレスを除外するという意味になる。 フラグ \fB\-\-src\fP は、このオプションの別名である。
.TP 
\fB\-d, \-\-destination \fP[!] \fIaddress\fP[/\fImask\fP]
送信先の指定。 書式の詳しい説明については、 \fB\-s\fP (送信元) フラグの説明を参照すること。 フラグ \fB\-\-dst\fP
は、このオプションの別名である。
.TP 
\fB\-j, \-\-jump \fP\fItarget\fP
ルールのターゲット、つまり、パケットがマッチした場合にどうするかを指定
する。ターゲットはユーザー定義チェイン (そのルール自身が入っている
チェイン以外) でも、パケットの行方を即時に決定する特別な組み込み済み
ターゲットでも、拡張されたターゲット (以下の 「\fBターゲットの拡張\fP」 を
参照) でもよい。 このオプションがルールの中で省略された場合、 ルールに
マッチしてもパケットの行方に何も影響しないが、 ルールのカウンタは 1 つ
加算される。
.TP 
\fB\-i, \-\-in\-interface \fP[!] \fIname\fP
パケットを受信することになるインターフェース名 (\fBINPUT\fP, \fBFORWARD\fP,
\fBPREROUTING\fP チェインに入るパケットのみ)。インターフェース名の前に
"!" を置くと、 そのインターフェースを除外するという意味になる。
インターフェース名が "+" で終っている場合、 その名前で始まる任意の
インターフェース名にマッチする。このオプションが省略された場合、
任意のインターフェース名にマッチする。
.TP 
\fB\-o, \-\-out\-interface \fP[!] \fIname\fP
パケットを送信することになるインターフェース名 (\fBFORWARD\fP, \fBOUTPUT\fP, \fBPOSTROUTING\fP
チェインに入るパケットのみ)。 インターフェース名の前に "!" を置くと、 そのインターフェースを除外するという意味になる。 インターフェース名が
"+" で終っている場合、 その名前で始まる任意のインターフェース名にマッチする。 このオプションが省略された場合、
任意のインターフェース名にマッチする。
.TP 
\fB[!]  \-f, \-\-fragment\fP
このオプションは、分割されたパケット (fragmented packet) のうち 2 番目以降のパケットだけを参照するルールであることを意味する。
このようなパケット (または ICMP タイプのパケット) は 送信元・送信先ポートを知る方法がないので、
送信元や送信先を指定するようなルールにはマッチしない。 "\-f" フラグの前に "!" を置くと、 分割されたパケットのうち最初のものか、
分割されていないパケットだけにマッチする。
.TP 
\fB\-c, \-\-set\-counters \fP\fIPKTS BYTES\fP
このオプションを使うと、 (\fBinsert\fP, \fBappend\fP, \fBreplace\fP 操作において) 管理者はパケットカウンタとバイトカウンタを
初期化することができる。
.SS その他のオプション
その他に以下のオプションを指定することができる:
.TP 
\fB\-v, \-\-verbose\fP
詳細な出力を行う。 list コマンドの際に、インターフェース名・ (もしあれば) ルールのオプション・TOS マスクを表示させる。
パケットとバイトカウンタも表示される。 添字 'K', 'M', 'G' は、 それぞれ 1000, 1,000,000, 1,000,000,000
倍を表す (これを変更する \fB\-x\fP フラグも見よ)。 このオプションを append, insert, delete, replace
コマンドに適用すると、 ルールについての詳細な情報を表示する。
.TP 
\fB\-n, \-\-numeric\fP
数値による出力を行う。 IP アドレスやポート番号を数値によるフォーマット
で表示する。 デフォルトでは、iptables は (可能であれば) これらの情報を
ホスト名・ネットワーク名・サービス名で表示しようとする。
.TP 
\fB\-x, \-\-exact\fP
厳密な数値で表示する。 パケットカウンタとバイトカウンタを、 K (1000 の何倍か)・M (1000K の何倍か)・G (1000M の何倍か)
ではなく、 厳密な値で表示する。 このオプションは、 \fB\-L\fP コマンドとしか関係しない。
.TP 
\fB\-\-line\-numbers\fP
ルールを一覧表示する際、そのルールがチェインのどの位置にあるかを表す 行番号を各行の始めに付加する。
.TP 
\fB\-\-modprobe=command\fP
チェインにルールを追加または挿入する際に、 (ターゲットやマッチングの拡張などで) 必要なモジュールをロードするために使う \fBcommand\fP
を指定する。
.SH マッチングの拡張
iptables は拡張されたパケットマッチングモジュールを使うことができる。 これらのモジュールは 2 種類の方法でロードされる: モジュールは、
\fB\-p\fP または \fB\-\-protocol\fP で暗黙のうちに指定されるか、 \fB\-m\fP または \fB\-\-match\fP
の後にモジュール名を続けて指定される。 これらのモジュールの後ろには、モジュールに応じて 他のいろいろなコマンドラインオプションを指定することができる。
複数の拡張マッチングモジュールを一行で指定することができる。 また、モジュールに特有のヘルプを表示させるためには、 モジュールを指定した後で \fB\-h\fP
または \fB\-\-help\fP を指定すればよい。

以下の拡張がベースパッケージに含まれている。大部分のものは、 \fB!\fP を
前におくことによってマッチングの意味を逆にできる。
.SS ah
このモジュールは IPSec パケットの AH ヘッダーの SPI 値にマッチする。
.TP 
\fB\-\-ahspi \fP[!] \fIspi\fP[:\fIspi\fP]
.SS conntrack
このモジュールは、接続追跡 (connection tracking) と組み合わせて用いると、 "state" マッチよりもさらに多くの、
パケットについての接続追跡状態を知ることができる (この機能をサポートしたカーネルのもとで iptables がコンパイルされた場合
にのみ、このモジュールは存在する)。
.TP 
\fB\-\-ctstate \fP\fIstate\fP
state は、マッチング対象となる、コンマ区切りの接続状態リストである。 指定可能な state は以下の通り。 \fBINVALID\fP:
メモリを使い果たした為や、 既知の接続とは対応しない ICMP エラーなど、 何らかの理由によりパケットが識別できない。 \fBESTABLISHED\fP:
このパケットは、過去双方向にパケットがやり取りされた接続に属するパケットである。 \fBNEW\fP: このパケットが新しい接続を開始したか、
双方向にはパケットがやり取りされていない接続に属するパケットである。 \fBRELATED\fP: このパケットが新しい接続を開始しているが、 FTP
データ転送や ICMP エラーのように、既存の接続に関係している。 \fBSNAT\fP:
仮想的な状態であり、書き換え前の送信元アドレスが応答の宛先アドレスと 異なる場合にマッチする。 \fBDNAT\fP:
仮想的な状態であり、書き換え前の宛先アドレスが応答の送信元アドレスと 異なる場合にマッチする。
.TP 
\fB\-\-ctproto \fP\fIproto\fP
(名前または数値で) 指定されたプロトコルにマッチする。
.TP 
\fB\-\-ctorigsrc \fP\fI[!] address[/mask]\fP
書き換え前の送信元アドレスにマッチする。
.TP 
\fB\-\-ctorigdst \fP\fI[!] address[/mask]\fP
書き換え前の宛先アドレスにマッチする。
.TP 
\fB\-\-ctreplsrc \fP\fI[!] address[/mask]\fP
応答の送信元アドレスにマッチする。
.TP 
\fB\-\-ctrepldst \fP\fI[!] address\fP\fB[/\fP\fImask\fP\fB]\fP
応答の宛先アドレスにマッチする。
.TP 
\fB\-\-ctstatus \fP\fI[NONE|EXPECTED|SEEN_REPLY|ASSURED][,...]\fP
接続追跡の内部的な状態にマッチする。
.TP 
\fB\-\-ctexpire \fP\fItime[:time]\fP
有効期間の残り秒数、またはその範囲(両端を含む)にマッチする。
.SS dscp
このモジュールは、IP ヘッダーの TOS フィールド内にある、 6 bit の DSCP フィールドにマッチする。 IETF では DSCP が
TOS に取って代わった。
.TP 
\fB\-\-dscp \fP\fIvalue\fP
(10 進または 16 進の) 数値 [0\-63] にマッチする。
.TP 
\fB\-\-dscp\-class \fP\fIDiffServ Class\fP
DiffServ クラスにマッチする。 値は BE, EF, AFxx, CSx クラスのいずれかである。
これらは、対応する数値で指定するのと同じである。
.SS esp
このモジュールは IPSec パケットの ESP ヘッダーの SPI 値にマッチする。
.TP 
\fB\-\-espspi \fP[!] \fIspi\fP[:\fIspi\fP]
.SS helper
このモジュールは、指定された接続追跡ヘルパーモジュールに 関連するパケットにマッチする。
.TP 
\fB\-\-helper \fP\fIstring\fP
指定された接続追跡ヘルパーモジュールに 関連するパケットにマッチする。
.RS
.PP
デフォルトのポートを使った ftp\-セッションに関連するパケットでは、 string に "ftp" と書ける。 他のポートでは "\-ポート番号"
を値に付け加える。 すなわち "ftp\-2121" となる。
.PP
他の接続追跡ヘルパーでも同じルールが適用される。
.RE
.SS icmp
この拡張は `\-\-protocol icmp' が指定された場合にロードされ、 以下のオプションが提供される:
.TP 
\fB\-\-icmp\-type \fP[!] \fItypename\fP
ICMP タイプを指定できる。タイプ指定には、 数値の ICMP タイプ、または以下のコマンド で表示される ICMP タイプ名を指定できる。
.nf
 iptables \-p icmp \-h
.fi
.SS length
このモジュールは、指定されたパケット長、またはその範囲にマッチする。
.TP 
\fB\-\-length \fP\fIlength\fP[:\fIlength\fP]
.SS limit
このモジュールは、トークンバケツフィルタを使い、 単位時間あたり制限され
た回数だけマッチする。 この拡張を使ったルールは、(`!' フラグが指定され
ない限り) 制限に達するまでマッチする。 例えば、このモジュールはログ記録
を制限するために \fBLOG\fP ターゲットと組み合わせて使うことができる。
.TP 
\fB\-\-limit \fP\fIrate\fP
単位時間あたりの平均マッチ回数の最大値。 数値で指定され、添字 `/second', `/minute', `/hour', `/day'
を付けることもできる。 デフォルトは 3/hour である。
.TP 
\fB\-\-limit\-burst \fP\fInumber\fP
パケットがマッチする回数の最大初期値: 上のオプションで指定した制限に
達しなければ、 その度ごとに、この数値になるまで 1 個ずつ増やされる。
デフォルトは 5 である。
.SS mac
.TP 
\fB\-\-mac\-source \fP[!] \fIaddress\fP
送信元 MAC アドレスにマッチする。 \fIaddress\fP は XX:XX:XX:XX:XX:XX と
いう形式でなければならない。イーサーネットデバイスから入ってくるパケッ
トで、 \fBPREROUTING\fP, \fBFORWARD\fP, \fBINPUT\fP チェインに入るパケットにしか
意味がない。
.SS mark
このモジュールはパケットに関連づけられた netfilter の mark フィールドにマッチする (このフィールドは、以下の \fBMARK\fP
ターゲットで設定される)。
.TP 
\fB\-\-mark \fP\fIvalue\fP[/\fImask\fP]
指定された符号なし mark 値のパケットにマッチする (mask が指定されると、比較の前に mask との論理積 (AND) がとられる)。
.SS multiport
このモジュールは送信元や送信先のポートの集合にマッチする。 ポートは 15 個まで指定できる。 このモジュールは \fB\-p tcp\fP または \fB\-p
udp\fP と組み合わせて使うことしかできない。
.TP 
\fB\-\-source\-ports \fP\fIport\fP[,\fIport\fP[,\fIport\fP...]]
送信元ポートが指定されたポートのうちのいずれかであればマッチする。 フラグ \fB\-\-sports\fP は、このオプションの便利な別名である。
.TP 
\fB\-\-destination\-ports \fP\fIport\fP[,\fIport\fP[,\fIport\fP...]]
宛先ポートが指定されたポートのうちのいずれかであればマッチする。
フラグ \fB\-\-dports\fP は、このオプションの便利な別名である。
.TP 
\fB\-\-ports \fP\fIport\fP[,\fIport\fP[,\fIport\fP...]]
送信元ポートと宛先ポートが等しく、 かつそのポートが指定されたポートの
うちのいずれかであればマッチする。
.SS owner
このモジュールは、ローカルで生成されたパケットに付いて、 パケット生成者のいろいろな特性に対してマッチを行う。 これは \fBOUTPUT\fP
チェインのみでしか有効でない。 また、(ICMP ping 応答のような) パケットは、 所有者がいないので絶対にマッチしない。
.TP 
\fB\-\-uid\-owner \fP\fIuserid\fP
指定された実効ユーザー ID のプロセスにより パケットが生成されている場合にマッチする。
.TP 
\fB\-\-gid\-owner \fP\fIgroupid\fP
指定された実効グループ ID のプロセスにより パケットが生成されている場合にマッチする。
.TP 
\fB\-\-pid\-owner \fP\fIprocessid\fP
指定されたプロセス ID のプロセスにより パケットが生成されている場合にマッチする。
.TP 
\fB\-\-sid\-owner \fP\fIsessionid\fP
指定されたセッショングループのプロセスにより パケットが生成されている場合にマッチする。
.TP 
\fB\-\-cmd\-owner \fP\fIname\fP
指定されたコマンド名を持つプロセスにより パケットが生成されている場合にマッチする (この機能をサポートしたカーネルのもとで iptables
がコンパイルされた場合 にのみ、このモジュールは存在する)。
.SS physdev
このモジュールは、ブリッジデバイスのスレーブにされた、 ブリッジポートの入出力デバイスにマッチする。 このモジュールは、ブリッジによる透過的な IP
ファイアウォールの基盤の一部であり、 カーネルバージョン 2.5.44 以降でのみ有効である。
.TP 
\fB\-\-physdev\-in name\fP
パケットが受信されるブリッジのポート名 (\fBINPUT\fP, \fBFORWARD\fP, \fBPREROUTING\fP チェインに入るパケットのみ)。
インターフェース名が "+" で終っている場合、 その名前で始まる任意のインターフェース名にマッチする。
ブリッジデバイスを通して受け取られなかったパケットは、 \&'!' が指定されていない限り、このオプションにマッチしない。
.TP 
\fB\-\-physdev\-out name\fP
パケットを送信することになるブリッジのポート名 (\fBFORWARD\fP, \fBOUTPUT\fP, \fBPOSTROUTING\fP
チェインに入るパケットのみ)。 インターフェース名が "+" で終っている場合、 その名前で始まる任意のインターフェース名にマッチする。 \fBnat\fP
と \fBmangle\fP テーブルの \fBOUTPUT\fP チェインではブリッジの出力ポートにマッチさせることができないが、 \fBfilter\fP テーブルの
\fBOUPUT\fP チェインではマッチ可能である。 パケットがブリッジデバイスから送られなかった場合、 またはパケットの出力デバイスが不明であった場合は、
\&'!' が指定されていない限り、パケットはこのオプションにマッチしない。
.TP 
\fB\-\-physdev\-is\-in\fP
パケットがブリッジインターフェースに入った場合にマッチする。
.TP 
\fB\-\-physdev\-is\-out\fP
パケットがブリッジインターフェースから出ようとした場合にマッチする。
.TP 
\fB\-\-physdev\-is\-bridged\fP
パケットがブリッジされることにより、 ルーティングされなかった場合にマッチする。 これは FORWARD, POSTROUTING
チェインにおいてのみ役立つ。
.SS pkttype
このモジュールは、リンク層のパケットタイプにマッチする。
.TP 
\fB\-\-pkt\-type \fP\fI[unicast|broadcast|multicast]\fP
.SS state
このモジュールは、接続追跡 (connection tracking) と組み合わせて用いると、 パケットについての接続追跡状態を知ることができる。
.TP 
\fB\-\-state \fP\fIstate\fP
state は、マッチングを行うための、コンマで区切られた接続状態のリストである。 指定可能な state は以下の通り。 \fBINVALID\fP:
このパケットは既知の接続と関係していない。 \fBESTABLISHED\fP:
このパケットは、過去双方向にパケットがやり取りされた接続に属するパケットである。 \fBNEW\fP: このパケットが新しい接続を開始したか、
双方向にはパケットがやり取りされていない接続に属するパケットである。 \fBRELATED\fP: このパケットが新しい接続を開始しているが、 FTP
データ転送や ICMP エラーのように、既存の接続に関係している。
.SS tcp
これらの拡張は `\-\-protocol tcp' が指定され場合にロードされ、 以下のオプションが提供される:
.TP 
\fB\-\-source\-port \fP[!] \fIport\fP[:\fIport\fP]
送信元ポートまたはポート範囲の指定。 サービス名またはポート番号を指定で
きる。 \fIport\fP:\fIport\fP という形式で、2 つの番号を含む範囲を指定すること
もできる。 最初のポートを省略した場合、"0" を仮定する。 最後のポートを
省略した場合、"65535" を仮定する。 最初のポートが最後のポートより大きい
場合、2 つは入れ換えられる。 フラグ \fB\-\-sport\fP は、このオプションの便利
な別名である。
.TP 
\fB\-\-destination\-port \fP[!] \fIport\fP[:\fIport\fP]
送信先ポートまたはポート範囲の指定。 フラグ \fB\-\-dport\fP は、このオプションの便利な別名である。
.TP 
\fB\-\-tcp\-flags \fP[!] \fImask\fP \fIcomp\fP
TCP フラグが指定されたものと等しい場合にマッチする。 第 1 引き数は評価
対象とするフラグで、コンマ区切りのリストである。 第 2 引き数は必ず設定
しなければならないフラグで、コンマ区切りのリストである。 指定できるフラ
グは \fBSYN ACK FIN RST URG PSH ALL NONE\fP である。 よって、コマンド
.nf
 iptables \-A FORWARD \-p tcp \-\-tcp\-flags SYN,ACK,FIN,RST SYN
.fi
は、SYN フラグが設定され ACK, FIN, RST フラグが設定されていない パケットにのみマッチする。
.TP 
\fB[!] \-\-syn\fP
SYN ビットが設定され ACK と RST ビットがクリアされている TCP パケットに
のみマッチする。このようなパケットは TCP 接続の開始要求に使われる。例え
ば、あるインターフェースに入ってくるこのようなパケットをブロックすれば、
内側への TCP 接続は禁止されるが、外側への TCP 接続には影響しない。 これ
は \fB\-\-tcp\-flags SYN,RST,ACK SYN\fP と等しい。 "\-\-syn" の前に "!" フラグ
を置くと、 SYN ビットがクリアされ ACK と RST ビットが設定されている
TCP パケットにのみマッチする。
.TP 
\fB\-\-tcp\-option \fP[!] \fInumber\fP
TCP オプションが設定されている場合にマッチする。
.TP 
\fB\-\-mss \fP\fIvalue\fP[:\fIvalue\fP]
指定された MSS 値 (の範囲) を持つ TCP の SYN または SYN/ACK パケットにマッチする。 MSS
は接続に対するパケットの最大サイズを制御する。
.SS tos
このモジュールは IP ヘッダーの 8 ビットの (つまり上位ビットを含む)  Type of Service フィールドにマッチする。
.TP 
\fB\-\-tos \fP\fItos\fP
引き数は、マッチを行う標準的な名前でも数値でもよい (名前のリストを見るには
.br
 iptables \-m tos \-h
.br
を使うこと)。
.SS ttl
このモジュールは IP ヘッダーの time to live フィールドにマッチする。
.TP 
\fB\-\-ttl \fP\fIttl\fP
指定された TTL 値にマッチする。
.SS udp
これらの拡張は `\-\-protocol udp' が指定された場合にロードされ、 以下のオプションが提供される:
.TP 
\fB\-\-source\-port \fP[!] \fIport\fP[:\fIport\fP]
送信元ポートまたはポート範囲の指定。 詳細は TCP 拡張の \fB\-\-source\-port\fP オプションの説明を参照すること。
.TP 
\fB\-\-destination\-port \fP[!] \fIport\fP[:\fIport\fP]
送信先ポートまたはポート範囲の指定。 詳細は TCP 拡張の \fB\-\-destination\-port\fP オプションの説明を参照すること。
.SS unclean
このモジュールにはオプションがないが、 おかしく正常でないように見えるパケットにマッチする。 これは実験的なものとして扱われている。
.SH ターゲットの拡張
iptables は拡張ターゲットモジュールを使うことができる: 以下のものが、標準的なディストリビューションに含まれている。
.SS DNAT
このターゲットは \fBnat\fP テーブルの \fBPREROUTING\fP, \fBOUTPUT\fP チェイン、これらのチェインから呼び出される
ユーザー定義チェインのみで有効である。 このターゲットはパケットの送信先アドレスを修正する (この接続の以降のパケットも修正して分からなく
(mangle) する)。 さらに、ルールによるチェックを止めさせる。 このターゲットにはオプションが 1 種類ある:
.TP 
\fB\-\-to\-destination \fP\fIipaddr\fP[\-\fIipaddr\fP][:\fIport\fP\-\fIport\fP]
1 つの新しい送信先 IP アドレス、または IP アドレスの範囲が指定できる。 ポートの範囲を指定することもできる (これはルールで \fB\-p
tcp\fP または \fB\-p udp\fP を指定している場合にのみ有効)。 ポートの範囲が指定されていない場合、送信先ポートは変更されない。
.RS
.PP
複数の \-\-to\-destination オプションを指定することができる。 アドレスの範囲によって、 もしくは複数の \-\-to\-destination
オプションによって 2 つ以上の送信先アドレスを指定した場合、 それらのアドレスを使った単純なラウンド・ロビン (順々に循環させる) がおこなわれる。
.SS DSCP
このターゲットは、IPv4 パケットの TOS ヘッダーにある DSCP ビットの値の書き換えを可能にする。 これはパケットを操作するので、mangle
テーブルでのみ使用できる。
.TP 
\fB\-\-set\-dscp \fP\fIvalue\fP
DSCP フィールドの数値を設定する (10 進または 16 進)。
.TP 
\fB\-\-set\-dscp\-class \fP\fIclass\fP
DSCP フィールドの DiffServ クラスを設定する。
.SS ECN
このターゲットは ECN ブラックホール問題への対処を可能にする。 mangle テーブルでのみ使用できる。
.TP 
\fB\-\-ecn\-tcp\-remove\fP
TCP ヘッダーから全ての ECN ビット (訳注: ECE/CWR フラグ) を取り除く。 当然、 \fB\-p tcp\fP
オプションとの組合わせでのみ使用できる。
.SS LOG
マッチしたパケットをカーネルログに記録する。 このオプションがルールに対して設定されると、 Linux カーネルはマッチしたパケットについての
(大部分の IP ヘッダーフィールドのような) 何らかの情報を カーネルログに表示する (カーネルログは \fIdmesg\fP または
\fIsyslogd\fP(8)  で見ることができる)。 これは "非終了ターゲット" である。 すなわち、ルールの検討は、次のルールへと継続される。
よって、拒否するパケットをログ記録したければ、 同じマッチング判断基準を持つ 2 つのルールを使用し、 最初のルールで LOG ターゲットを、
次のルールで DROP (または REJECT) ターゲットを指定する。
.TP 
\fB\-\-log\-level \fP\fIlevel\fP
ログ記録のレベル (数値て指定するか、(名前で指定する場合は)
\fIsyslog.conf\fP(5) を参照すること)。
.TP 
\fB\-\-log\-prefix \fP\fIprefix\fP
指定したプレフィックスをログメッセージの前に付ける。
プレフィックスは 29 文字までの長さで、
ログの中でメッセージを区別するのに役立つ。
.TP 
\fB\-\-log\-tcp\-sequence\fP
TCP シーケンス番号をログに記録する。 ログがユーザーから読める場合、セキュリティ上の危険がある。
.TP 
\fB\-\-log\-tcp\-options\fP
TCP パケットヘッダのオプションをログに記録する。
.TP 
\fB\-\-log\-ip\-options\fP
IP パケットヘッダーのオプションをログに記録する。
.SS MARK
パケットに関連づけられた netfilter の mark 値を設定する。 \fBmangle\fP テーブルのみで有効である。 例えば、iproute2
と組み合わせて使うことができる。
.TP 
\fB\-\-set\-mark \fP\fImark\fP
.SS MASQUERADE
このターゲットは \fBnat\fP テーブルの \fBPOSTROUTING\fP チェインのみで有効である。 動的割り当て IP (ダイヤルアップ)
接続の場合にのみ使うべきである。 固定 IP アドレスならば、SNAT ターゲットを使うべきである。
マスカレーディングは、パケットが送信されるインターフェースの IP アドレスへのマッピングを指定するのと同じであるが、
インターフェースが停止した場合に接続を\fI忘れる\fPという効果がある。 次のダイヤルアップでは同じインターフェースアドレスになる可能性が低い
(そのため、前回確立された接続は失われる) 場合、 この動作は正しい。 このターゲットにはオプションが 1 つある。
.TP 
\fB\-\-to\-ports \fP\fIport\fP[\-\fIport\fP]
このオプションは、使用する送信元ポートの範囲を指定し、 デフォルトの \fBSNAT\fP 送信元ポートの選択方法 (上記) よりも優先される。 ルールが
\fB\-p tcp\fP または \fB\-p udp\fP を指定している場合にのみ有効である。
.SS MIRROR
実験的なデモンストレーション用のターゲットであり、 IP ヘッダーの送信元と送信先フィールドを入れ換え、 パケットを再送信するものである。 これは
\fBINPUT\fP, \fBFORWARD\fP, \fBPREROUTING\fP チェインと、これらのチェインから呼び出される
ユーザー定義チェインだけで有効である。 ループ等の問題を回避するため、外部に送られるパケットは いかなるパケットフィルタリングチェイン・接続追跡・NAT
からも 監視\fBされない\fP。
.SS REDIRECT
このターゲットは、 \fBnat\fP テーブル内の \fBPREROUTING\fP チェイン及び \fBOUTPUT\fP
チェイン、そしてこれらチェインから呼び出される ユーザー定義チェインでのみ有効である。 このターゲットはパケットの送信先 IP アドレスを マシン自身の
IP アドレスに変換する。 (ローカルで生成されたパケットは、アドレス 127.0.0.1 にマップされる)。 このターゲットにはオプションが 1
つある:
.TP 
\fB\-\-to\-ports \fP\fIport\fP[\-\fIport\fP]
このオプションは使用される送信先ポート・ポート範囲・複数ポートを指定する。 このオプションが指定されない場合、送信先ポートは変更されない。 ルールが
\fB\-p tcp\fP または \fB\-p udp\fP を指定している場合にのみ有効である。
.SS REJECT
マッチしたパケットの応答としてエラーパケットを送信するために使われる。
エラーパケットを送らなければ、 \fBDROP\fP と同じであり、TARGET を終了し、
ルールの検討を終了する。 このターゲットは、 \fBINPUT\fP, \fBFORWARD\fP,
\fBOUTPUT\fP チェインと、これらのチェインから呼ばれる ユーザー定義チェイン
だけで有効である。以下のオプションは、返されるエラーパケットの特性を
制御する。
.TP 
\fB\-\-reject\-with \fP\fItype\fP
type として指定可能なものは
.nf
\fBicmp\-net\-unreachable\fP
\fBicmp\-host\-unreachable\fP
\fBicmp\-port\-unreachable\fP
\fBicmp\-proto\-unreachable\fP
\fBicmp\-net\-prohibited\fP
\fBicmp\-host\-prohibited or\fP
\fBicmp\-admin\-prohibited (*)\fP
.fi
であり、適切な ICMP エラーメッセージを返す (\fBport\-unreachable\fP がデフォルトである)。 TCP
プロトコルにのみマッチするルールに対して、オプション \fBtcp\-reset\fP を使うことができる。 このオプションを使うと、TCP RST
パケットが送り返される。 主として \fIident\fP (113/tcp) による探査を阻止するのに役立つ。 \fIident\fP による探査は、壊れている
(メールを受け取らない) メールホストに メールが送られる場合に頻繁に起こる。
.RS
.PP
(*) icmp\-admin\-prohibited をサポートしないカーネルで、 icmp\-admin\-prohibited を使用すると、
REJECT ではなく単なる DROP になる。
.SS SNAT
このターゲットは \fBnat\fP テーブルの \fBPOSTROUTING\fP チェインのみで有効である。
このターゲットはパケットの送信元アドレスを修正させる (この接続の以降のパケットも修正して分からなく (mangle) する)。
さらに、ルールが評価を中止するように指示する。 このターゲットにはオプションが 1 種類ある:
.TP 
\fB\-\-to\-source  \fP\fIipaddr\fP[\-\fIipaddr\fP][:\fIport\fP\-\fIport\fP]
1 つの新しい送信元 IP アドレス、または IP アドレスの範囲が指定できる。 ポートの範囲を指定することもできる (ルールが \fB\-p tcp\fP
または \fB\-p udp\fP を指定している場合にのみ有効)。 ポートの範囲が指定されていない場合、 512 未満の送信元ポートは、他の 512
未満のポートにマッピングされる。 512 〜 1023 までのポートは、1024 未満のポートにマッピングされる。 それ以外のポートは、1024
以上のポートにマッピングされる。 可能であれば、ポートの変換は起こらない。
.RS
.PP
複数の \-\-to\-source オプションを指定することができる。 アドレスの範囲によって、 もしくは複数の \-\-to\-source オプションによって
2 つ以上の送信元アドレスを指定した場合、 それらのアドレスを使った単純なラウンド・ロビン (順々に循環させる) がおこなわれる。
.SS TCPMSS
このターゲットを用いると、TCP の SYN パケットの MSS 値を書き換え、 そのコネクションの最大サイズ (通常は、送信インターフェースの MTU
から 40 引いた値)  を制御できる。 もちろん \fB\-p tcp\fP と組み合わせてしか使えない。
.br
このターゲットは犯罪的に頭のいかれた ISP や ICMP Fragmentation Needed パケットをブロックしてしまうサーバーを
乗り越えるために使用する。 Linux ファイアウォール/ルーターでは何も問題がないのに、 そこにぶら下がるマシンでは以下のように大きなパケットを
やりとりできないというのが、この問題の兆候である。
.PD 0
.RS 0.1i
.TP  0.3i
1)
ウェブ・ブラウザで接続が、何のデータも受け取らずにハングする
.TP 
2)
短いメールは問題ないが、長いメールがハングする
.TP 
3)
ssh は問題ないが、scp は最初のハンドシェーク後にハングする
.RE
.PD
回避方法: このオプションを有効にし、以下のようなルールを ファイアウォールの設定に追加する。
.nf
 iptables \-A FORWARD \-p tcp \-\-tcp\-flags SYN,RST SYN \e
             \-j TCPMSS \-\-clamp\-mss\-to\-pmtu
.fi
.TP 
\fB\-\-set\-mss \fP\fIvalue\fP
MSS オプションの値に指定した値を明示的に設定する。
.TP 
\fB\-\-clamp\-mss\-to\-pmtu\fP
自動的に、MSS 値を (path_MTU \- 40) に強制する。
.TP 
これらのオプションはどちらか 1 つしか指定できない。
.SS TOS
IP ヘッダーの 8 ビットの Type of Service フィールドを設定するために使われる。 \fBmangle\fP テーブルのみで有効である。
.TP 
\fB\-\-set\-tos \fP\fItos\fP
TOS を番号で指定することができる。 また、
.nf
 iptables \-j TOS \-h
.fi
を実行して得られる、使用可能な TOS 名の一覧にある TOS 名も指定できる。
.SS ULOG
このターゲットは、マッチしたパケットを ユーザー空間でログ記録する機能を提供する。 このターゲットがルールに設定されると、 Linux
カーネルは、そのパケットを \fInetlink\fP ソケットを用いてマルチキャストする。 そして、1 つ以上のユーザー空間プロセスが
いろいろなマルチキャストグループに登録をおこない、 パケットを受信する。 LOG と同様、これは "非終了ターゲット" であり、
ルールの検討は次のルールへと継続される。
.TP 
\fB\-\-ulog\-nlgroup \fP\fInlgroup\fP
パケットを送信する netlink グループ (1\-32) を指定する。 デフォルトの値は 1 である。
.TP 
\fB\-\-ulog\-prefix \fP\fIprefix\fP
指定したプレフィックスをログメッセージの前に付ける。 32 文字までの指定できる。 ログの中でメッセージを区別するのに便利である。
.TP 
\fB\-\-ulog\-cprange \fP\fIsize\fP
ユーザー空間にコピーするパケットのバイト数。 値が 0 の場合、サイズに関係なく全パケットをコピーする。 デフォルトは 0 である。
.TP 
\fB\-\-ulog\-qthreshold \fP\fIsize\fP
カーネル内部のキューに入れられるパケットの数。 例えば、この値を 10 にした場合、 カーネル内部で 10 個のパケットをまとめ、 1 つの
netlink マルチパートメッセージとしてユーザー空間に送る。 (過去のものとの互換性のため) デフォルトは 1 である。
.br
.SH 返り値
いろいろなエラーメッセージが標準エラーに表示される。 正しく機能した場合、終了コードは 0 である。
不正なコマンドラインパラメータによりエラーが発生した場合は、 終了コード 2 が返される。 その他のエラーの場合は、終了コード 1 が返される。
.SH バグ
バグ? バグって何? ;\-)  えーと…、sparc64 ではカウンター値が信頼できない。
.SH "IPCHAINS との互換性"
\fBiptables\fP は、Rusty Russell の ipchains と非常によく似ている。 大きな違いは、チェイン \fBINPUT\fP と
\fBOUTPUT\fP が、それぞれローカルホストに入ってくるパケットと、 ローカルホストから出されるパケットのみしか調べないという点である。
よって、(INPUT と OUTPUT の両方のチェインを起動する ループバックトラフィックを除く)  全てのパケットは 3 つあるチェインのうち 1
しか通らない。 以前は (ipchains では)、 フォワードされるパケットは 3 つのチェイン全てを通っていた。
.PP
その他の大きな違いは、 \fB\-i\fP で入力インターフェース、 \fB\-o\fP で出力インターフェースを参照すること、 そしてともに \fBFORWARD\fP
チェインに入るパケットに対して指定可能な点である。
.PP
NAT のいろいろな形式が分割された。 オプションの拡張モジュールとともに デフォルトの「フィルタ」テーブルを用いた場合、 \fBiptables\fP
は純粋なパケットフィルタとなる。 これは、以前みられた IP マスカレーディングとパケットフィルタリングの 組合せによる混乱を簡略化する。
よって、オプション
.nf
 \-j MASQ
 \-M \-S
 \-M \-L
.fi
は別のものとして扱われる。 iptables では、その他にもいくつかの変更がある。
.SH 関連項目
\fBiptables\-save\fP(8), \fBiptables\-restore\fP(8), \fBip6tables\fP(8),
\fBip6tables\-save\fP(8), \fBip6tables\-restore\fP(8).
.P
パケットフィルタリングについての詳細な iptables の使用法を
説明している packet\-filtering\-HOWTO。
NAT について詳細に説明している NAT\-HOWTO。
標準的な配布には含まれない拡張の詳細を 説明している
netfilter\-extensions\-HOWTO。
内部構造について詳細に説明している netfilter\-hacking\-HOWTO。
.br
\fBhttp://www.netfilter.org/\fP を参照。
.SH 作者
Rusty Russell は、初期の段階で Michael Neuling に相談して iptables を書いた。
.PP
Marc Boucher は Rusty に iptables の一般的なパケット選択の考え方を勧めて、 ipnatctl を止めさせた。
そして、mangle テーブル・所有者マッチング・ mark 機能を書き、いたるところで使われている素晴らしいコードを書いた。
.PP
James Morris が TOS ターゲットと tos マッチングを書いた。
.PP
Jozsef Kadlecsik が REJECT ターゲットを書いた。
.PP
Harald Welte が ULOG ターゲットと、 TTL, DSCP, ECN のマッチ・ターゲットを書いた。
.PP
Netfilter コアチームは、Marc Boucher, Martin Josefsson, Jozsef Kadlecsik, James
Morris, Harald Welte, Rusty Russell である。
.PP
man ページは Herve Eychenne <rv@wallfire.org> が書いた。
.\" .. and did I mention that we are incredibly cool people?
.\" .. sexy, too ..
.\" .. witty, charming, powerful ..
.\" .. and most of all, modest ..