File: ebtables.8

package info (click to toggle)
manpages-ja 0.5.0.0.20180315%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 28,516 kB
  • sloc: perl: 161; makefile: 101
file content (1262 lines) | stat: -rw-r--r-- 48,636 bytes parent folder | download | duplicates (4)
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
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
.TH EBTABLES 8  "December 2011"
.\"
.\" Man page written by Bart De Schuymer <bdschuym@pandora.be>
.\" It is based on the iptables man page.
.\"
.\" The man page was edited, February 25th 2003, by
.\"      Greg Morgan <" dr_kludge_at_users_sourceforge_net >
.\"
.\" Japanese translation, Feburary 27th 2014, by
.\"      Hiroaki KAWAI <" kawai_at_stratosphere_co_jp >
.\"
.\" Iptables page by Herve Eychenne March 2000.
.\"
.\"     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 名前
ebtables (v2.0.10-4) \- Ethernet bridge frame table の管理
.SH 書式
.BR "ebtables " [ -t " table ] " - [ ACDI "] chain rule specification [match extensions] [watcher extensions] target"
.br
.BR "ebtables " [ -t " table ] " -P " chain " ACCEPT " | " DROP " | " RETURN
.br
.BR "ebtables " [ -t " table ] " -F " [chain]"
.br
.BR "ebtables " [ -t " table ] " -Z " [chain]"
.br
.BR "ebtables " [ -t " table ] " -L " [" -Z "] [chain] [ [" --Ln "] | ["--Lx "] ] [" --Lc "] [" --Lmac2 ]
.br
.BR "ebtables " [ -t " table ] " -N " chain [" "-P ACCEPT " | " DROP " | " RETURN" ]
.br
.BR "ebtables " [ -t " table ] " -X " [chain]"
.br
.BR "ebtables " [ -t " table ] " -E " old-chain-name new-chain-name"
.br
.BR "ebtables " [ -t " table ] " --init-table
.br
.BR "ebtables " [ -t " table ] [" --atomic-file " file] " --atomic-commit
.br
.BR "ebtables " [ -t " table ] [" --atomic-file " file] " --atomic-init
.br
.BR "ebtables " [ -t " table ] [" --atomic-file " file] " --atomic-save
.br
.SH 説明
.B ebtables
は (Linux カーネル内にある) Ethernet フレームの検査ルールを設定管理するプロ
グラムである。
.B iptables
に類似しているが、 Ethernet プロトコルは IP プロトコルよりもずっと単純な
ので、
それほど込み入ってはいない。
.SS チェイン
Linux カーネルには 3 つの ebtables テーブルがあり、各テーブルには
組み込みチェインがある。
これらのテーブルを使って、機能ごとに別々のルールセットに分類されている。
それぞれのルールセットのことをチェインと呼んでいる。
チェインとは Ethernet フレームにマッチングする順序付きのルールのリスト
である。
あるルールが Ethernet フレームにマッチングすると、処理の指定により
その対象フレームにどういった処理を施すかが決まる。
処理の指定は「ターゲット」と呼ばれている。現在のルールにマッチングしな
かった場合は、
次のルールが検査される。「ターゲット」として、 (ユーザ独自の) 新しいチェ
インを作ることもできる。
ユーザ定義チェインを使うと、ルールを線形検索するのと比べてパフォーマンス
を改善したり、
管理しやすい構造化されたフィルタリングルールを構成したりできる。
.SS ターゲット
Ethernet フレームに対するファイアウォールルール指定や処理は、ターゲット
と呼ばれる。
フレームがルールにマッチングしたときにカーネルが次に行う処理は、ターゲッ
トで指定される。
ターゲットは次のいずれかの値をとる:
.BR ACCEPT ,
.BR DROP ,
.BR CONTINUE ,
.BR RETURN ,
 'extension' の 1 つ (後述) あるいはユーザ定義チェインへのジャンプ。
.PP
.B ACCEPT
はフレームを通過させることを意味する。
.B DROP
はフレームを破棄することを意味する。
.B BROUTING
チェイン内では、
.B ACCEPT
.B DROP
は異なる意味を持つ
.RB ( -t
オプションで表示される情報を参照すること) 。
.B CONTINUE
は次のルールをチェックすることを意味する。このターゲットは、例えば、
ある地点を通過したフレームの数を数えたり、ログを取ったり、
フレームに複数のターゲットを適用するのに便利である。
.B RETURN
はそのチェインの探索を打ち切り、前の (呼び出し元の) チェインの次のルールから
再開することを意味する。
target extension については、この man ページの
.B TARGET EXTENSION
セクションを参照すること。
.SS テーブル
前述のとおり Linux カーネルには 3 つの ebtables テーブルがある。
.BR filter ,
.BR nat ,
.B broute
という名前がついている。これら 3 つのテーブルのうち、filter
テーブルがコマンドのデフォルトのテーブルである。つまり filter
テーブルについては ebtables の '-t filter' 引数を省略できる。その他 2 つ
のテーブルについては
-t 引数が必要である。また -t 引数を使う際は、 ebtables コマンドの最初の
引数でなければならない。
.TP
.B "-t, --table"
.br
.B filter
がデフォルトのテーブルで、3 つの組み込みチェインがある:
.B INPUT
(送信先 MAC アドレスのレベルでブリッジ自身に送られたフレームに対してマッチする),
.B OUTPUT
(local で生成された、あるいは (b)route されたフレームに対してマッチする) と
.B FORWARD
(ブリッジで転送されるフレームに対してマッチする) である。
.br
.br
.B nat
は MAC アドレスを変更するために使われるもので、3 つの組み込みチェインが
ある。
.B PREROUTING
(フレームが入ってきた時点で変更するため),
.B OUTPUT
(local で生成された、あるいは (b)route されたフレームをブリッジする前に
変更するため) と
.B POSTROUTING
(フレームが出力される時点で変更するため) である。PREROUTING と POSTROUTING
の名称については、より正確には PREFORWARDING, POSTFORWARDING と呼ばれる
べきものだが、
iptables と ebtables の用語を合わせたほうが簡単だということで、このよう
になっている。
もしこのデフォルトの名称が気に入らない場合は、
.RB ( -E
オプションで) 変更できる。
.br
.br
.B broute
で brouter を作ることができて、このテーブルには
.B BROUTING
という組み込みチェインが 1 つだけある。
.B DROP
.B ACCEPT
ターゲットは broute テーブル内では特殊な意味を持っている (実装を単純化す
るために、
説明的な名称をあえて使っていない) 。
.B DROP
はフレームが route されることを意味し、
.B ACCEPT
はフレームがブリッジされることを意味する。
.B BROUTING
チェインは、とても早い段階で検査される。
ただしブリッジポートに入ってきて転送状態になっているフレームについてのみ
検査される。
通常これらのフレームはブリッジされるが、ここでその処理を変更できる。
.B redirect
ターゲットが便利だ。
.SH EBTABLES コマンドライン引数
最初の '-t table' コマンド引数の後に続く引数は、いくつかのグループに分類できる。
「コマンド」「その他コマンド」「ルール指定 (rule specification) 」
「match extension」「watch extension」と「target extension」である。
.SS コマンド
ebtables コマンドは -t 引数で定義されたテーブルに対して行う処理を指定する。
-t 引数を使わなかった場合、デフォルトの filter テーブルに適用される。
一度には 1 つのコマンドしか使えない。
.B -L
.B -Z
の組み合わせ、
.B -N
.B -P
の組み合わせ、あるいは
.B --atomic-file
を使ったときは例外として複数のコマンドを使える。
.TP
.B "-A, --append"
チェインの最後にルールを追加する。
.TP
.B "-D, --delete"
チェインから指定したルールを削除する。二通りの使い方がある。一つ目の使い
方は、ルール番号の範囲を
.RB ( -D
直後に) 指定する方法である。構文: \fIstart_nr\fP[\fI:end_nr\fP]
.RB ( "-L --Ln"
を使ってルール番号を表示できる) \fIend_nr\fP が省略された場合
は、\fIstart_nr\fP
以降のルールすべてが削除される。負の数も使えるが、詳細は
.B -I
引数を参照すること。二つ目の使い方は、追加時と全く同じ完全なルールを使っ
て指定する方法である。
合致するルールのうち、一番最初に見つかったもの、つまり最も小さな (正の)
ルール番号のもののみが削除される。
.TP
.B "-C, --change-counters"
チェイン内の指定したルールのカウンタを変更する。二通りの使い方がある。一つ目
はルール番号の範囲を使って
.RB ( -C
直後に) 指定する方法である。
構文: \fIstart_nr\fP[\fI:end_nr\fP]
.RB ( "-L --Ln"
を使ってルール番号を表示できる) 詳細は
.B -D
と同様である。二つ目の使い方は、追加時と全く同じ完全なルールを使って指定
する方法である。
合致するルールのうち、一番最初に見つかったもの、つまり最も小さな (正の)
ルール番号のカウンタのみが変更される。
カウンタ値は、一つ目の方法ではルール番号の範囲の直後に指定し、二つ目の方法では
.B -C
の直後に指定する。最初にパケットカウンタ値を指定し、次にバイトカウンタ値
を指定する。
カウンタ値が '+' で始まっている場合、カウンタ値は現在値にそれぞれ追加し
た値になる。
カウンタ値が '-' で始まる場合は、現在値から差し引いた値になる。境界値の
検査は行われない。
 '+' や '-' で始まらなかった場合は、指定した値そのものに変更される。
.TP
.B "-I, --insert"
指定したルール番号の位置にルールを追加する。ルール番号が未指定の場合、
チェインの先頭に追加される。ルールが
.I N
個あった場合、
.I -N
から
.I N+1
の間の数を指定できる。正の数
.I i
があったとして、
.I i
.I i-N-1
はチェイン上での同じ挿入位置となる。ルール番号 0 はチェインの最後のルー
ルを示し、
.B -A
コマンドを使ったときと同じになる。0 より小さいルール番号は複数のルールを
一つのチェインに挿入する際に便利である。
.TP
.B "-P, --policy"
チェインのポリシーを、指定したターゲットに設定する。ポリシーは
.BR ACCEPT ,
.BR DROP ,
.B RETURN
のいずれかである。
.TP
.B "-F, --flush"
指定したチェインを flush する。チェイン指定がない場合、全てのチェインが
flush される。
flush ではチェインのポリシーは変更されない。
.TP
.B "-Z, --zero"
指定したチェインのカウンタを 0 にする。チェイン指定がない場合、全ての
チェインでのカウンタが 0 になる。
.B "-Z"
コマンドは
.B "-L"
と組み合わせて使える。
.B "-Z"
.B "-L"
を同時に使うと、0 にされる前のカウンタ値が出力される。
.TP
.B "-L, --list"
指定したチェインにあるルールリストを出力する。チェイン指定がない場合、
全てのチェインについてリストが出力される。
.br
.B -L
コマンドの出力形式には次のオプションがある。
.br
.B "--Ln"
.br
全てのルールの行頭にルール番号を出力する。
.B --Lx
とは組み合わせられない。
.br
.B "--Lc"
.br
全てのルールの行末にルール番号を出力する。フレームカウンタ値 (pcnt) とバ
イトカウンタ値 (bcnt)
の両方が表示される。フレームカウンタ値は、そのルールにマッチングした回数
を示していて、
バイトカウンタ値はこれらのフレームのサイズを合計した値となる。
.B --Lx
オプションと組み合わせると、カウンタ値は
.B -c <pcnt> <bcnt>
の形式で出力される。
.br
.B "--Lx"
.br
チェインの内容を再構築できるような ebtables コマンドの形式で出力する。
チェイン指定がない場合、
(もしあれば) ユーザ定義のチェインを作成するコマンドも含めて、
テーブル全体を構築できる ebtables コマンドが出力される。
このコマンドを使って ebtables の起動・再起動スクリプトを作成できる。
例えばこのコマンドの出力をシステム起動時に使える。
.B --Lx
オプションは
.B --Ln
オプションと互換性がない。
.B --Lx
.B --Lc
と同時に使うと、カウンタが
.B -c <pcnt> <bcnt>
の形式で出力される。
.br
.B "--Lmac2"
.br
必要に応じてアドレス先頭に 0 パディングして、全 MAC アドレスを同じ長さで表示する。
デフォルトの表示形式では、アドレス先頭の 0 は省略される。
.TP
.B "-N, --new-chain"
指定した名前の新しいユーザ定義チェインを作る。ユーザ定義チェインの個数の
上限は、
作り得る名前の数に限られる。ユーザ定義のチェイン名は 31 文字までである。
ユーザ定義チェインのデフォルトのポリシーは ACCEPT である。
.B -P
コマンドを
.B -N
コマンドと同時に使うことで新規チェインのポリシーを標準のターゲットと異な
るもので初期化できる。
この場合
.B -P
コマンドにチェイン名の指定は不要である。
.TP
.B "-X, --delete-chain"
ユーザ定義チェインを削除する。対象チェインを参照している (jump してくる)
ものが残っていてはいけない。
残っていると ebtables は削除を拒否する。
チェイン指定がない場合、参照されていない全てのユーザ定義チェインが削除される。
.TP
.B "-E, --rename-chain"
指定したチェインを新しい名前に変更する。ユーザ定義チェインの名前を変更で
きるのはもちろんのこと、
標準チェインの名前を好きなものに変更することもできる。例えば PREROUTING ではなく
PREFORWARDING にしたい場合、-E コマンドで PREROUTING チェインの名前を変更できる。
標準チェインの名前を変更していたら、ebtables メーリングリストに投稿する際には、
そのことについて言及すること。この ebtables 標準チェインの名称変更では、
カーネル ebtables テーブルの構造は影響を受けない。
.TP
.B "--init-table"
現在のテーブルデータを初期テーブルデータで置き換える。
.TP
.B "--atomic-init"
テーブルのカーネルの初期データを指定したファイルにコピーする。
ルールがファイルに追加された後の最初の処理にできる。ファイル名は
.B --atomic-file
コマンドを使った指定か、あるいは
.I EBTABLES_ATOMIC_FILE
環境変数で指定できる。
.TP
.B "--atomic-save"
カーネルの現在のテーブルデータを指定したファイルにコピーする。
ルールがファイルに追加された後の最初の処理にできる。ファイル名は
.B --atomic-file
コマンドを使った指定か、あるいは
.I EBTABLES_ATOMIC_FILE
環境変数で指定できる。
.TP
.B "--atomic-commit"
カーネルテーブルデータを指定したファイルにあるデータで置き換える。ある
テーブルの全ルールを
カーネルに一度にロードし、カーネル時間を大幅に節約しつつもアトミックなテー
ブルの更新を行うことができるので、
便利なコマンドである。テーブルデータが入っているファイルは
.B "--atomic-init"
.B "--atomic-save"
コマンドで出力した起動ファイルで構成する。その後
.B "--atomic-file"
コマンドでルールを構成したり
.I EBTABLES_ATOMIC_FILE
環境変数を使うことで、ファイルを拡張したりして完全なテーブルを組み上げた
後にカーネルに登録できる。
このコマンドは boot スクリプトで ebtables を高速に組み上げるのに大変便利である。
.SS その他コマンド
.TP
.B "-V, --version"
ebtables ユーザスペースプログラムのバージョンを表示する。
.TP
.BR "-h, --help " "[\fIlist of module names\fP]"
コマンドの構文についての簡単な説明を出力する。extension の名前を指定する
こともできて、そうすると
ebtables はこれらの extension のヘルプを表示する。例えば
.I ebtables -h snat log ip arp
である。
.I list_extensions
と指定すると、ユーザスペースユーティリティでサポートされている全
extension を出力する。
.TP
.BR "-j, --jump " "\fItarget\fP"
ルールのターゲットである。これは次のいずれかの値をとる:
.BR ACCEPT ,
.BR DROP ,
.BR CONTINUE ,
.BR RETURN ,
target extension
.RB ( "TARGET EXTENSION"
を参照すること) あるいはユーザ定義チェイン名。
.TP
.B --atomic-file "\fIfile\fP"
指定したファイルに対してコマンドを実行する。
操作対象のテーブルのデータはファイルから読み取って構築し、操作した結果は
再びファイルに書き戻される。
指定する際はコマンド指定の前に置くべきである。他のやり方としては、
.I EBTABLES_ATOMIC_FILE
環境変数を使う方法がある。
.TP
.B -M, --modprobe "\fIprogram\fP"
カーネルとやり取りする際に、指定した
.I program
がロードされていないカーネルモジュールを自動的にロードするようにする。
.TP
.B --concurrent
ebtables カーネルテーブルを更新するスクリプトが同時に複数実行されても
大丈夫なように、ファイルロックを使用する。

.SS ルール指定
ルール指定は次のコマンドライン引数で (追加、削除のコマンドで使うことで)
構築される。
"!" オプションを指定の前につけると、その否定の意味になる。
下記の標準ルール指定の他にもいくつか興味深い引数がある。
.B MATCH EXTENSION
.B WATCHER EXTENSION
を参照すること。
.TP
.BR "-p, --protocol " "[!] \fIprotocol\fP"
フレームを構成しているプロトコル。
.I 0x0600
より大きい hex の数値か、名前 (例えば
.IR ARP )、
.B LENGTH
を指定できる。(802.2/802.3ネットワークにおいては) Ethernet フレームのプ
ロトコルフィールドは、
ヘッダの長さを表すこともできる。値が
.I 0x0600
より小さいか等しいときは、その値はヘッダサイズと等しく、プロトコル番号と
して扱ってはいけない。
そのかわり、プロトコルフィールドが長さフィールドとして使われている全ての
フレームは、同じ 'protocol' として扱われる。
ebtables では、これらのフレームのプロトコルを表す名前は
.B LENGTH
である。
.br
.B /etc/ethertypes
を使って、プロトコルを指定する hex 数値の代わりに可読な文字列を
指定することができる。例えば
.I 0x0800
.I IPV4
で表現できる。このファイルでは大文字小文字は区別されない。
詳細はファイルを参照すること。
.B --proto
フラグはこのオプションのエイリアスである。
.TP
.BR "-i, --in-interface " "[!] \fIname\fP"
フレームを受信したインターフェース (ブリッジポート) を指定する
(このオプションは
.BR INPUT ,
.BR FORWARD ,
.B PREROUTING ,
.B BROUTING
チェインで有効) 。インターフェース名が '+' で終わっている場合、
その名前で始まる ('+' 自体は除く) インターフェース名全てがマッチングする。
.B --in-if
はこのオプションのエイリアスである。
.TP
.BR "--logical-in " "[!] \fIname\fP"
will match.
フレームを受信した (論理的な) ブリッジインターフェースを指定する
(このオプションは
.BR INPUT ,
.BR FORWARD ,
.BR PREROUTING ,
.B BROUTING
チェインで有効) 。インターフェース名が '+' で終わっている場合、
その名前で始まる ('+' 自体は除く) インターフェース名全てがマッチングする。
.TP
.BR "-o, --out-interface " "[!] \fIname\fP"
フレームが送出されるインターフェース (ブリッジポート) を指定する
(このオプションは
.BR OUTPUT ,
.BR FORWARD ,
.B POSTROUTING
チェインで有効) 。インターフェース名が '+' で終わっている場合、
その名前で始まる ('+' 自体は除く) インターフェース名全てがマッチングする。
.B --out-if
はこのオプションのエイリアスである。
.TP
.BR "--logical-out " "[!] \fIname\fP"
フレームが送出される (論理的な) ブリッジインターフェースを指定する
(このオプションは
.BR OUTPUT ,
.BR FORWARD ,
.B POSTROUTING
チェインで有効) 。インターフェース名が '+' で終わっている場合、
その名前で始まる ('+' 自体は除く) インターフェース名全てがマッチングする。
.TP
.BR "-s, --source " "[!] \fIaddress\fP[/\fImask\fP]"
送信元 MAC アドレス。マスクとアドレスの両方とも hex 数値 6 つをコロン区
切りで記述する。あるいは
Unicast, Multicast, Broadcast, BGA (Bridge Group Address) も指定できる:
.br
.IR Unicast "=00:00:00:00:00:00/01:00:00:00:00:00,"
.IR Multicast "=01:00:00:00:00:00/01:00:00:00:00:00,"
.IR Broadcast "=ff:ff:ff:ff:ff:ff/ff:ff:ff:ff:ff:ff,"
.IR BGA "=01:80:c2:00:00:00/ff:ff:ff:ff:ff:ff"
である。ブロードキャストアドレスはマルチキャストアドレスにも
マッチングする点に注意すること。
.B --src
はこのオプションのエイリアスである。
.TP
.BR "-d, --destination " "[!] \fIaddress\fP[/\fImask\fP]"
送信先 MAC アドレス。MAC アドレスの詳細については
.B -s
オプションを参照すること。
.B --dst
フラグはこのオプションのエイリアスである。
.TP
.BR "-c, --set-counter " "\fIpcnt bcnt\fP"
.B -A
.B -I
と組み合わせた場合、新しいルールの
.IR pcnt ,
.I bcnt
それぞれが指定した値になる。
.B -C
.B -D
コマンドと組み合わせた場合、
.I pcnt
.I bcnt
がパケットカウント値とバイトカウント値と等しいルールのみがマッチングする。

.SS MATCH EXTENSION
ebtables extension はユーザスペースツールに動的に組み込まれる。iptables
コマンドで -m オプションを使っていた時のように、明示的にロードする必要はない。
これらの extension は、ebtables core コードを補足するものとして、
カーネルモジュールでサポートされている機能を扱っている。
.SS 802_3
802.3 DSAP/SSAP フィールドあるいは SNAP タイプを指定する。プロトコルは
.I LENGTH
として指定されていなければならない (上記
.I -p
オプションを参照) 。
.TP
.BR "--802_3-sap " "[!] \fIsap\fP"
DSAP と SSAP は 802.3 中の 2 つの 1 バイトフィールドである。これらのバイ
トは常に同じなので、
1 バイト (hex 数値で) の指定のみ必要である。
.TP
.BR "--802_3-type " "[!] \fItype\fP"
802.3 DSAP と SSAP の値が 0xaa の場合、SNAP タイプフィールドがペイロード
プロトコルを決定する。
これは 2 つの 1 バイト引数である (hex 数値で) 。802.3 DSAP/SSAP 0xaa フ
レームのみが検査される。
.SS among
MAC アドレスあるいは MAC/IP アドレスの組に対して、 MAC アドレスあるいは
MAC/IP アドレスの組のリストをマッチングさせる。
リストのエントリは
.I xx:xx:xx:xx:xx:xx[=ip.ip.ip.ip][,]
の書式で指定する。
リストのエントリはコンマで区切る。
IP アドレスを MAC アドレスと組み合わせるのはオプションである。
同一 MAC アドレスで IP アドレスが異なるという複数の MAC/IP アドレスの組を登録
しても構わない。
MAC アドレスがリストのどのエントリともマッチングしなかった場合、
フレームはそのルールにマッチングしなかったことになる
("!" が使われていない場合) 。
.TP
.BR "--among-dst " "[!] \fIlist\fP"
送信先 MAC とリストを比較する。もし Ethernet フレームが
.I IPv4
あるいは
.I ARP
であれば、リスト中にある送信先 MAC/IP アドレスペアとの比較も可能である。
.TP
.BR "--among-src " "[!] \fIlist\fP"
送信元 MAC とリストを比較する。もし Ethernet フレームが
.I IPv4
あるいは
.I ARP
であれば、リストにある送信元 MAC/IP アドレスペアとの比較も可能である。
.TP
.BR "--among-dst-file " "[!] \fIfile\fP"
.B --among-dst
と同様だが、指定したファイルからリストを読み込む。
.TP
.BR "--among-src-file " "[!] \fIfile\fP"
.B --among-src
と同様だが、指定したファイルからリストを読み込む。
.SS arp
(R)ARP フィールドを指定する。プロトコルは
.I ARP
あるいは
.I RARP
でなければならない。
.TP
.BR "--arp-opcode " "[!] \fIopcode\fP"
(R)ARP opcode (10 進数か文字列。詳細は
.B ebtables -h arp
参照すること)
.TP
.BR "--arp-htype " "[!] \fIhardware type\fP"
ハードウェアタイプで、10 進数か文字列
.I Ethernet
.RI ( type
1 になる)。ほとんどの (R)ARP パケットではハードウェアタイプが Ethernet
になる。
.TP
.BR "--arp-ptype " "[!] \fIprotocol type\fP"
(R)ARP で使われているプロトコルタイプ (hex あるいは 0x0800 を意味する文字列
.IR IPv4 )。
ほとんどの (R)ARP パケットではプロトコルタイプは IPv4 になる。
.TP
.BR "--arp-ip-src " "[!] \fIaddress\fP[/\fImask\fP]"
(R)ARP 送信元 IP アドレス指定。
.TP
.BR "--arp-ip-dst " "[!] \fIaddress\fP[/\fImask\fP]"
(R)ARP 送信先 IP アドレス指定。
.TP
.BR "--arp-mac-src " "[!] \fIaddress\fP[/\fImask\fP]"
(R)ARP 送信元 MAC アドレス指定。
.TP
.BR "--arp-mac-dst " "[!] \fIaddress\fP[/\fImask\fP]"
(R)ARP 送信先 MAC アドレス指定。
.TP
.BR "" "[!]" " --arp-gratuitous"
ARP gratuitous パケットを検査する: ARP ヘッダ中の送信元 IPv4 アドレスと
送信先
IPv4 アドレスが等しいものを検査する。
.SS ip
IPv4 フィールドを指定する。プロトコルは
.I IPv4
でなければならない。
.TP
.BR "--ip-source " "[!] \fIaddress\fP[/\fImask\fP]"
送信元 IP アドレス。
.B --ip-src
フラグはこのオプションのエイリアスである。
.TP
.BR "--ip-destination " "[!] \fIaddress\fP[/\fImask\fP]"
.B --ip-dst
送信先 IP アドレス。
.B --ip-dst
フラグはこのオプションのエイリアスである。
.TP
.BR "--ip-tos " "[!] \fItos\fP"
IP サービスタイプを、hex 表記の数値で。
.B IPv4
のものである。
.TP
.BR "--ip-protocol " "[!] \fIprotocol\fP"
IP プロトコル。
.B --ip-proto
フラグはこのオプションのエイリアスである。
.TP
.BR "--ip-source-port " "[!] \fIport1\fP[:\fIport2\fP]"
IP プロトコル 6 (TCP), 17 (UDP), 33 (DCCP), 132 (SCTP) における、送信元
ポートあるいはポートの範囲。
.B --ip-protocol
オプションで
.IR TCP ,
.IR UDP ,
.IR DCCP ,
.I SCTP
のいずれかが指定されていなければならない。
.I port1
が省略された場合は
.I 0:port2
が使われる。
.I port2
が省略されたがコロンが指定された場合は
.I port1:65535
が使われる。
.B --ip-sport
フラグはこのオプションのエイリアスである。
.TP
.BR "--ip-destination-port " "[!] \fIport1\fP[:\fIport2\fP]"
IP プロトコル 6 (TCP), 17 (UDP), 33 (DCCP), 132 (SCTP) における、送信先
ポートあるいはポートの範囲。
.B --ip-protocol
オプションで
.IR TCP ,
.IR UDP ,
.IR DCCP ,
.I SCTP
のいずれかが指定されていなければならない。
.I port1
が省略された場合は
.I 0:port2
が使われる。
.I port2
が省略されたがコロンが指定された場合は
.I port1:65535
が使われる。
.B --ip-dport
フラグはこのオプションのエイリアスである。
.SS ip6
IPv6 のフィールドを指定する。プロトコルは
.I IPv6
でなければならない。
.TP
.BR "--ip6-source " "[!] \fIaddress\fP[/\fImask\fP]"
送信元 IPv6 アドレス。
.B --ipv6-src
フラグはこのオプションのエイリアスである。
.TP
.BR "--ip6-destination " "[!] \fIaddress\fP[/\fImask\fP]"
送信先 IPv6 アドレス。
.B --ipv6-dst
フラグはこのオプションのエイリアスである。
.TP
.BR "--ip6-tclass " "[!] \fItclass\fP"
IPv6 トラフィッククラスを hex 表記の数値で。
.TP
.BR "--ip6-protocol " "[!] \fIprotocol\fP"
IP プロトコル。
.B --ip6-proto
フラグはこのオプションのエイリアスである。
.TP
.BR "--ip6-source-port " "[!] \fIport1\fP[:\fIport2\fP]"
IP プロトコル 6 (TCP), 17 (UDP), 33 (DCCP), 132 (SCTP) における、送信元
ポートあるいはポートの範囲。
.B --ip6-protocol
オプションで
.IR TCP ,
.IR UDP ,
.IR DCCP ,
.I SCTP
のいずれかが指定されていなければならない。
.I port1
が省略された場合は
.I 0:port2
が使われる。
.I port2
が省略されたがコロンが指定された場合は
.I port1:65535
が使われる。
.B --ip6-sport
はこのオプションのエイリアスである。
.TP
.BR "--ip6-destination-port " "[!] \fIport1\fP[:\fIport2\fP]"
IP プロトコル 6 (TCP), 17 (UDP), 33 (DCCP), 132 (SCTP) における、送信先
ポートあるいはポートの範囲。
.B --ip6-protocol
オプションで
.IR TCP ,
.IR UDP ,
.IR DCCP ,
.I SCTP
のいずれかが指定されていなければならない。
.I port1
が省略された場合は
.I 0:port2
が使われる。
.I port2
が省略されたがコロンが指定された場合は
.I port1:65535
が使われる。
.B --ip6-sport
フラグはこのオプションのエイリアスである。
.TP
.BR "--ip6-icmp-type " "[!]
{\fItype\fP[:\fItype\fP]/\fIcode\fP[:\fIcode\fP]|\fItypename\fP}"
マッチングさせる ipv6\-icmp タイプとコード。タイプとコードのどちらも範囲
指定できる。
タイプとコードはスラッシュで区切る。
タイプとコードとして有効な数値は 0 から 255 の範囲である。
あるタイプのすべてのコードにマッチングさせるには、数値の代わりにシンボル
名を使って指定することもできる。
既知のタイプ名については次のコマンドでリストが表示される。
.nf
  ebtables \-\-help ip6
.fi
このオプションは \-\-ip6\-protocol ipv6\-icmp についてのみ有効である。
.SS limit
このモジュールは token bucket フィルタを使って、マッチングにレートリミッ
トを付ける。この
extension を使っているルールは、リミットに到達するまではマッチングする。
例えば
.B --log
watcher と組み合わせて使うと、レートリミットのついたロギングを行うことが
できる。
iptables における limit マッチングと同様に使える。
.TP
.BR "--limit " "[\fIvalue\fP]"
マッチングレート最大平均値: 数値指定で、
.IR /second ,
.IR /minute ,
.IR /hour ,
.I day
サフィックスを付けることができる; デフォルト値は
.I 3/hour
である。
.TP
.BR "--limit-burst " "[\fInumber\fP]"
マッチングする初期パケット最大値: 上記のリミットに到達しなかった場合、
毎回指定した数値までリチャージされる; デフォルト値は
.I 5
である。
.SS mark_m
.TP
.BR "--mark " "[!] [\fIvalue\fP][/\fImask\fP]"
符号なし数値の mark でフレームにマッチングする。
.I value
.I mask
が指定されている場合、フレームの mark 値とユーザ指定の
.I mask
値の論理和 (AND) が計算されてから、ユーザ指定の mark
.I value
値と比較される。
.I value
のみが指定された場合、ユーザ指定の mark
.I value
と同一の値の mark を持ったパケットのみがマッチングする。
.I mask
のみが指定された場合、フレームの mark 値とユーザ指定の
.I mask
値の論理和 (AND) が計算され、結果が非 0 であるフレームがマッチングする。
.I mask
のみ指定する方法は、複数の mark 値とマッチングさせるのに便利である。
.SS pkttype
.TP
.BR "--pkttype-type " "[!] \fItype\fP"
フレームの Ethernet "class" にマッチングし、これは一般的なネットワーク
コードによって決まる。取りうる値は、
.I broadcast
(送信先 MAC アドレスがブロードキャストアドレス),
.I multicast
(送信先 MAC アドレスがマルチキャストアドレス),
.I host
(送信先 MAC アドレスが受信ネットワークデバイス),
.I otehrhost
(それ以外) のいずれかである。
.SS stp
stp BPDU (bridge protocol data unit) フィールドを指定する。送信先アドレス
.RB ( -d )
は bridge group address
.RI ( BGA )
が指定されていなければならない。
数値の範囲指定ができるオプションでは、下限を省略した際は取りうる最小値が
使われ、
上限を省略した際 (コロンがついている場合) は取りうる最大値が使われる。
.TP
.BR "--stp-type " "[!] \fItype\fP"
BPDU type (0-255) である。数値以外で認識できるタイプは、
configuration BPDU (=0) を表す
.I config
と、topology change notification BPDU (=128) を表す
.I tcn
である。
.TP
.BR "--stp-flags " "[!] \fIflag\fP"
BPDU flag (0-255) である。数値以外で認識できるフラグは、
topology change flag (=1) を表す
.I topology-change
と、 topology change acknowledgement flag (=128) を表す
.I topology-change-ack
である。
.TP
.BR "--stp-root-prio " "[!] [\fIprio\fP][:\fIprio\fP]"
root 優先度 (0-65535) の範囲。
.TP
.BR "--stp-root-addr " "[!] [\fIaddress\fP][/\fImask\fP]"
root MAC アドレス。詳細は
.B -s
オプション参照すること。
.TP
.BR "--stp-root-cost " "[!] [\fIcost\fP][:\fIcost\fP]"
root path コスト (0-4294967295) の範囲。
.TP
.BR "--stp-sender-prio " "[!] [\fIprio\fP][:\fIprio\fP]"
BPDU 送信者優先度 (0-65535) の範囲。
.TP
.BR "--stp-sender-addr " "[!] [\fIaddress\fP][/\fImask\fP]"
BPDU 送信者の MAC アドレス。詳細は
.B -s
オプション参照すること。
.TP
.BR "--stp-port " "[!] [\fIport\fP][:\fIport\fP]"
port 識別子の範囲 (0-65535)。
.TP
.BR "--stp-msg-age " "[!] [\fIage\fP][:\fIage\fP]"
メッセージ age timer の範囲 (0-65535)。
.TP
.BR "--stp-max-age " "[!] [\fIage\fP][:\fIage\fP]"
max age time の範囲 (0-65535)。
.TP
.BR "--stp-hello-time " "[!] [\fItime\fP][:\fItime\fP]"
hello time timer の範囲 (0-65535)。
.TP
.BR "--stp-forward-delay " "[!] [\fIdelay\fP][:\fIdelay\fP]"
forward delay timer の範囲 (0-65535)。
.SS vlan
802.1Q タグ制御情報フィールドを指定する。プロトコルは
.I 802_1Q
(0x8100) でなければならない。
.TP
.BR "--vlan-id " "[!] \fIid\fP"
VLAN 識別子フィールド (VID)。0 から 4095 の間の 10 進数の数字。
.TP
.BR "--vlan-prio " "[!] \fIprio\fP"
優先度フィールドで、0 から 7 までの 10 進数の数字。VID は 0 ("null VID")
か、無指定であるべきです (後者の無指定の場合 VID は 0 であるとされる) 。
.TP
.BR "--vlan-encap " "[!] \fItype\fP"
格納されている Ethernet フレームの type/length の値。0x0000 から 0xFFFF
の範囲の hex 数値か
.B /etc/ethertypes
にあるシンボル名で指定する。

.SS WATCHER EXTENSIONS
watchers は通過するフレームを観測するだけで、
フレームを変更したり許可するかどうかの判断を行ったりはしない。
これらの watcher はフレームがルールにマッチングするかどうかを見るだけで、
それはターゲットが実行される前に行われる。
.SS log
log watcher はフレームの説明を syslog に書き出す。
.TP
.B "--log"
.br
デフォルトの logging オプションでロギングを行う: log-leve=
.I info
, log-prefix="", ip ログなし, arp ログなし。
.TP
.B --log-level "\fIlevel\fP"
.br
logging レベルを定義する。取りうる値は
.B ebtables -h log
を参照すること。デフォルトのレベルは
.I info
である。
.TP
.BR --log-prefix " \fItext\fP"
.br
ログ情報の行頭にプリントする
.I text
プレフィックスを定義する。
.TP
.B --log-ip
.br
ルールで ip プロトコルにマッチングした際に生成されるフレームの ip
情報をログする。デフォルトでは ip 情報はログされない。
.TP
.B --log-ip6
.br
ルールで ipv6 プロトコルにマッチングした際に生成されるフレームの ipv6
情報をログする。デフォルトでは ipv6 情報はログされない。
.TP
.B --log-arp
.br
ルールで (r)arp プロトコルマッチングした際に生成されるフレームの (r)arp
情報をログする。デフォルトでは (r)arp 情報はログされない。
.SS nflog
nflog watcher はパケットをログするためにロードされた logging バックエン
ドにパケットを渡す。
これは通常 logging バックエンド nfnetlink_log との組み合わせで使用され、
これが netlink
ソケット経由でパケットを指定したマルチキャストグループにマルチキャストする。
1 つあるいは複数のユーザスペースプロセスがそのグループに参加してパケット
を受け取ることができる。
.TP
.B "--nflog"
.br
デフォルトの logging オプションでログする。
.TP
.B --nflog-group "\fInlgroup\fP"
.br
パケットが送出先である netlink グループ (1 から 2^32-1 の間)
(nfnetlink_log でのみ有効)。デフォルト値は 1。
.TP
.B --nflog-prefix "\fIprefix\fP"
.br
ログメッセージに含まれるプレフィックス文字列で、最大 30 文字まで。
ログの中でメッセージを区別するのに便利。
.TP
.B --nflog-range "\fIsize\fP"
.br
ユーザスペースにコピーされるバイト数 (nfnetlink_log でのみ有効)。
nfnetlink_log インスタンスでも範囲指定可能で、
このオプションはそれを上書きする。
.TP
.B --nflog-threshold "\fIsize\fP"
.br
ユーザスペースに送る前にカーネル内のキューイングするパケットの数
(nfnetlink_log でのみ有効)。
大きな数値にすると 1 パケットあたりのオーバーヘッドは小さくなるが、
ユーザスペースにパケットが届くまでの遅延は大きくなる。デフォルト値は 1。
.SS ulog
ulog watcher は netlink マルチキャストソケットを使ってユーザランド logging
デーモンにパケットを渡す。
log watcher との違いは、
パケットの説明ではなくパケット全体がユーザスペースに送信されるという点と
syslog ではなく netlink マルチキャストソケットが使われるという点である。
この watcher ではユーザスペースのプログラムでパケットを解析することができ、
物理ブリッジの入出力ポートの情報も netlink メッセージに含まれている。
ulog watcher モジュールは、(modprobe などで) カーネルに
ロードされる際にパラメータを 2 つ受け取ることができる。
.B nlbufsiz
で各 netlink マルチキャストグループが持つバッファの大きさを指定できる。例えば
.I nlbufsiz=8192
では、ユーザスペースに送り出す前に 8kB の数のパケットまでカーネル内に
溜めることができる。
128kB より大きな値を設定することはできない。ここでのバッファサイズは nlgroup そ
れぞれについて確保されるということにも注意。
つまり消費カーネルメモリはその倍数で増えていく。デフォルト値は 4096 である。
.B flushtimeout
で、キューが一杯にならなかった場合に、どれだけの間待ってから flush するかを、
100 分の 1 秒刻みで指定する。デフォルト値は 10 である (0.1秒) 。
.TP
.B "--ulog"
.br
デフォルトの設定を使う: ulog-prefix="", ulog-nlgroup=1,
ulog-cprange=4096, ulog-qthreshold=1
.TP
.B --ulog-prefix "\fItext\fP"
.br
ユーザスペースに送られるパケットに含まれるプレフィックスを定義する。
.TP
.BR --ulog-nlgroup " \fIgroup\fP"
.br
どの netlink グループ番号を使うかを定義する (1 から 32 の間の数字) 。
iptables ULOG ターゲットで使われている netlink グループ番号と
ebtables ulog watcher のものとは異なるものにすること。
デフォルトのグループ番号は 1 である。
.TP
.BR --ulog-cprange " \fIrange\fP"
.br
ルールにマッチングしたパケットについて、ユーザスペースにコピーされる範囲
の最大値を定義する。
デフォルトの範囲は 0 で、これは
.B nlbufsiz
で指定された範囲の最大値を意味する。128*1024 より大きな値を指定しても意
味はない。
なぜなら、ユーザスペースに送られるパケットサイズの上限は 128*1024
だからである。
.TP
.BR --ulog-qthreshold " \fIthreshold\fP"
.br
netlink ソケット経由でユーザスペースに送りだす前に
.I threshold
の数までパケットをキューイングする。
キューが埋まる以前であってもパケットは送出されることがあることに注意すること。
これは ulog カーネルタイマが達した際に起こる (このタイマの周期は
.B flushtimeout
により決まる)。
.SS TARGET EXTENSIONS
.SS arpreply
.B arpreply
ターゲットは
.B nat
テーブルの
.B PREROUTING
チェインで使うことができる。ターゲットが ARP リクエストを発見すると、
自動的に ARP reply
を返す。reply に使う MAC アドレスを指定することができる。プロトコルは
.I ARP
でなければならない。ARP メッセージが ARP リクエストではなかったり、ARP
リクエストが
Ethernet ネットワーク上の IP アドレスに対するものではなかった場合、この
ターゲットでは無視される
.RB ( CONTINUE )。
ARP リクエストが不正だった場合、破棄される
.RB ( DROP )。
.TP
.BR "--arpreply-mac " "\fIaddress\fP"
reply に返す MAC アドレスを指定する。Ethernet 送信元 MAC アドレスと ARP
ペイロード中の送信元 MAC アドレスの両方がこのアドレスになる。
.TP
.BR "--arpreply-target " "\fItarget\fP"
標準のターゲットを指定する。ARP reply を送信した後に、ebtables がその
ARP request
に対してさらに何を行うかを指定する。デフォルトのターゲットは
.B DROP
である。
.SS dnat
.B dnat
.B broute
テーブルの
.B BROUTING
チェインと、
.B nat
テーブルの
.B PREROUTING
.B OUTPUT
チェインでのみ使える。送信先 MAC アドレスを変更するときに指定する。
.TP
.BR "--to-destination " "\fIaddress\fP"
.br
送信先 MAC アドレスを指定した
.I address
に変更する。
.B --to-dst
フラグはこのオプションのエイリアスである。
.TP
.BR "--dnat-target " "\fItarget\fP"
.br
標準のターゲットを指定する。dnat を行った後に、ebtables がその
フレームに対してさらに何を行うかを指定する。デフォルトのターゲットは
.B ACCEPT
である。
.B CONTINUE
にすると、同一フレームに対して複数の target extension を使える。
.B DROP
.B BROUTING
チェインで
.B redirect
ターゲットと使うときにのみ意味がある。
.B RETURN
を基本チェインで使うことはできない (理由は明らかでしょう)。
.SS mark
.B mark
ターゲットはどのテーブルのどのチェインでも使える。bridge-nf がカーネルに
組み込まれていれば
ebtables と iptables の両方で mark できる。どちらも同じ場所に mark を記
録するので、
ebtables と iptables 間の通信にもなる。
.TP
.BR "--mark-set " "\fIvalue\fP"
.br
フレームに非負数の
.I value
を mark する。
.TP
.BR "--mark-or " "\fIvalue\fP"
.br
フレームに非負数の
.I value
で OR した値を記録する。
.TP
.BR "--mark-and " "\fIvalue\fP"
.br
フレームに非負数の
.I value
で AND した値を記録する。
.TP
.BR "--mark-xor " "\fIvalue\fP"
.br
フレームに非負数の
.I value
で XOR した値を記録する。
.TP
.BR "--mark-target " "\fItarget\fP"
.br
標準のターゲットを指定する。mark を行った後に、ebtables がその
フレームに対してさらに何を行うかを指定する。デフォルトのターゲットは
.B ACCEPT
である。
.B CONTINUE
にすると、後続のチェインのルールでフレームに対して何らかの他の処理ができる。
.SS redirect
.B redirect
ターゲットは MAC ターゲットアドレスをフレームが到達したブリッジデバイス
のものに変更する。
このターゲットは
.B broute
テーブルの
.B BROUTING
チェインと
.B nat
テーブルの
.B PREROUTING
チェインでのみ使える。
.B BROUTING
チェインではブリッジポートの MAC アドレスが送信先アドレスとして使われ、
.B PREROUTING
チェインではブリッジの MAC アドレスが使われる。
.TP
.BR "--redirect-target " "\fItarget\fP"
.br
標準のターゲットを指定する。MAC リダイレクトを行った後に、ebtables がさ
らに何を行うかを指定する。
デフォルトのターゲットは
.B ACCEPT
である。
.B CONTINUE
にすると、同一フレームに対して複数の target extension を使える。
.B BROUTING
チェイン中で
.B DROP
を使うと、そのフレームは route される。
.B RETURN
も使うことができる。
.B RETURN
を基本チェインで使うことはできない。
.SS snat
.B snat
ターゲットは
.B nat
テーブルの
.B POSTROUTING
でのみ使うことができる。送信元 MAC アドレスを変更する際に使いる。
.TP
.BR "--to-source " "\fIaddress\fP"
.br
送信元 MAC アドレスを指定した
.I address
に変更する。
.B --to-src
フラグはこのオプションのエイリアスである。
.TP
.BR "--snat-target " "\fItarget\fP"
.br
標準のターゲットを指定する。snat を行った後に、ebtables がさらに何を行う
かを指定する。
デフォルトのターゲットは
.B ACCEPT
である。
.B CONTINUE
にすると、同一フレームに対して複数の target extension を使える。
.B DROP
は 意味をなさないが、実行することはできる。
.B RETURN
も使える。
.B RETURN
を基本チェインで使うことはできない。
.br
.TP
.BR "--snat-arp "
.br
パケットが arp メッセージであり、かつ、arp ヘッダ中のハードウェアアドレ
スの長さが 6 バイトであった場合に、arp ヘッダ中のハードウェア送信元アドレスも変
更する。
.br
.SH ファイル
.I /etc/ethertypes
.I /var/lib/ebtables/lock
.SH 環境変数
.I EBTABLES_ATOMIC_FILE
.SH メーリングリスト
.BR http://netfilter.org/mailinglists.html " 参照"
.SH 関連項目
.BR iptables "(8), " brctl "(8), " ifconfig "(8), " route (8)
.PP
.BR http://ebtables.sf.net " 参照"