Provided by: manpages-ja_0.5.0.0.20221215+dfsg-1_all bug

名前

       ebtables-legacy (2.0.11@) - Ethernet bridge frame table の管理 (legacy)

書式

       ebtables  [-t  table  ]  -[ACDI]  chain  rule  specification  [match  extensions] [watcher
       extensions] target
       ebtables [-t table ] -P chain ACCEPT | DROP | RETURN
       ebtables [-t table ] -F [chain]
       ebtables [-t table ] -Z [chain]
       ebtables [-t table ] -L [-Z] [chain] [ [--Ln] | [--Lx] ] [--Lc] [--Lmac2]
       ebtables [-t table ] -N chain [-P ACCEPT | DROP | RETURN]
       ebtables [-t table ] -X [chain]
       ebtables [-t table ] -E old-chain-name new-chain-name
       ebtables [-t table ] --init-table
       ebtables [-t table ] [--atomic-file file] --atomic-commit
       ebtables [-t table ] [--atomic-file file] --atomic-init
       ebtables [-t table ] [--atomic-file file] --atomic-save

LEGACY

       This tool uses the old xtables/setsockopt framework, and is a legacy version of  ebtables.
       That  means  that  a  new,  more  modern tool exists with the same functionality using the
       nf_tables framework and you are encouraged to migrate now.  The  new  binaries  (known  as
       ebtables-nft  and  formerly  known  as ebtables-compat) uses the same syntax and semantics
       than this legacy one.

       You can still use this legacy tool. You should probably get some specific information from
       your Linux distribution or vendor.  More docs are available at https://wiki.nftables.org

説明

       ebtables  は (Linux カーネル内にある) Ethernet フレームの検査ルールを設定管理するプロ グラ
       ムである。 iptables に類似しているが、 Ethernet プロトコルは IP プロトコルよりもずっと単純
       な ので、 それほど込み入ってはいない。

   チェイン
       Linux カーネルには 3 つの ebtables テーブルがあり、各テーブルには 組み込みチェインがある。
       これらのテーブルを使って、機能ごとに別々のルールセットに分類されている。  それぞれのルール
       セットのことをチェインと呼んでいる。  チェインとは Ethernet フレームにマッチングする順序付
       きのルールのリスト である。 あるルールが Ethernet フレームにマッチングすると、処理の指定に
       より その対象フレームにどういった処理を施すかが決まる。 処理の指定は「ターゲット」と呼ばれ
       ている。現在のルールにマッチングしな   かった場合は、   次のルールが検査される。「ターゲッ
       ト」として、  (ユーザ独自の)  新しいチェ インを作ることもできる。 ユーザ定義チェインを使う
       と、ルールを線形検索するのと比べてパフォーマンス  を改善したり、  管理しやすい構造化された
       フィルタリングルールを構成したりできる。

   ターゲット
       Ethernet  フレームに対するファイアウォールルール指定や処理は、ターゲット  と呼ばれる。  フ
       レームがルールにマッチングしたときにカーネルが次に行う処理は、ターゲッ    トで指定される。
       ターゲットは次のいずれかの値をとる: ACCEPT, DROP, CONTINUE, RETURN,
        'extension' の 1 つ (後述) あるいはユーザ定義チェインへのジャンプ。

       ACCEPT  はフレームを通過させることを意味する。  DROP  はフレームを破棄することを意味する。
       BROUTING チェイン内では、 ACCEPTDROP は異なる意味を持つ (-t オプションで表示される情報
       を参照すること) 。 CONTINUE は次のルールをチェックすることを意味する。このターゲットは、例
       えば、 ある地点を通過したフレームの数を数えたり、ログを取ったり、 フレームに複数のターゲッ
       トを適用するのに便利である。  RETURN  はそのチェインの探索を打ち切り、前の  (呼び出し元の)
       チェインの次のルールから 再開することを意味する。 target  extension  については、この  man
       ページの TARGET EXTENSION セクションを参照すること。

   テーブル
       前述のとおり  Linux カーネルには 3 つの ebtables テーブルがある。 filter, nat, broute とい
       う名前がついている。これら 3  つのテーブルのうち、filter  テーブルがコマンドのデフォルトの
       テーブルである。つまり  filter  テーブルについては  ebtables の '-t filter' 引数を省略でき
       る。その他  2  つ  のテーブルについては  -t  引数が必要である。また  -t   引数を使う際は、
       ebtables コマンドの最初の 引数でなければならない。

       -t, --table
              filter がデフォルトのテーブルで、3 つの組み込みチェインがある: INPUT (送信先 MAC ア
              ドレスのレベルでブリッジ自身に送られたフレームに対してマッチする), OUTPUT (local で
              生成された、あるいは  (b)route されたフレームに対してマッチする) と FORWARD (ブリッ
              ジで転送されるフレームに対してマッチする) である。
              nat は MAC アドレスを変更するために使われるもので、3 つの組み込みチェインが  ある。
              PREROUTING (フレームが入ってきた時点で変更するため), OUTPUT (local で生成された、あ
              るいは (b)route されたフレームをブリッジする前に 変更するため) と  POSTROUTING  (フ
              レームが出力される時点で変更するため)  である。PREROUTING と POSTROUTING の名称につ
              いては、より正確には  PREFORWARDING,   POSTFORWARDING   と呼ばれる   べきものだが、
              iptables  と ebtables の用語を合わせたほうが簡単だということで、このよう になってい
              る。 もしこのデフォルトの名称が気に入らない場合は、 (-E オプションで) 変更できる。
              broute で brouter を作ることができて、このテーブルには BROUTING  という組み込みチェ
              インが 1 つだけある。 DROPACCEPT ターゲットは broute テーブル内では特殊な意味を
              持っている (実装を単純化す るために、 説明的な名称をあえて使っていない) 。 DROP  は
              フレームが route されることを意味し、 ACCEPT はフレームがブリッジされることを意味す
              る。 BROUTING チェインは、とても早い段階で検査される。 ただしブリッジポートに入って
              きて転送状態になっているフレームについてのみ  検査される。 通常これらのフレームはブ
              リッジされるが、ここでその処理を変更できる。 redirect ターゲットが便利だ。

EBTABLES コマンドライン引数

       最初の '-t table' コマンド引数の後に続く引数は、いくつかのグループに分類できる。  「コマン
       ド」「その他コマンド」「ルール指定  (rule  specification)  」  「match  extension」「watch
       extension」と「target extension」である。

   コマンド
       ebtables コマンドは -t 引数で定義されたテーブルに対して行う処理を指定する。 -t  引数を使わ
       なかった場合、デフォルトの filter テーブルに適用される。 一度には 1 つのコマンドしか使えな
       い。 -L-Z の組み合わせ、 -N-P の組み合わせ、あるいは --atomic-file  を使ったときは
       例外として複数のコマンドを使える。

       -A, --append
              チェインの最後にルールを追加する。

       -D, --delete
              チェインから指定したルールを削除する。二通りの使い方がある。一つ目の使い 方は、ルー
              ル番号の範囲を (-D 直後に) 指定する方法である。構文: start_nr[:end_nr] (-L --Ln  を
              使ってルール番号を表示できる) end_nr が省略された場合 は、start_nr 以降のルールすべ
              てが削除される。負の数も使えるが、詳細は   -I    引数を参照すること。二つ目の使い方
              は、追加時と全く同じ完全なルールを使っ   て指定する方法である。  合致するルールのう
              ち、一番最初に見つかったもの、つまり最も小さな (正の)  ルール番号のもののみが削除さ
              れる。

       -C, --change-counters
              チェイン内の指定したルールのカウンタを変更する。二通りの使い方がある。一つ目 はルー
              ル番号の範囲を使って (-C 直後に) 指定する方法である。 構文:  start_nr[:end_nr]  (-L
              --Ln を使ってルール番号を表示できる) 詳細は -D と同様である。二つ目の使い方は、追加
              時と全く同じ完全なルールを使って指定 する方法である。  合致するルールのうち、一番最
              初に見つかったもの、つまり最も小さな  (正の) ルール番号のカウンタのみが変更される。
              カウンタ値は、一つ目の方法ではルール番号の範囲の直後に指定し、二つ目の方法では   -C
              の直後に指定する。最初にパケットカウンタ値を指定し、次にバイトカウンタ値   を指定す
              る。 カウンタ値が '+' で始まっている場合、カウンタ値は現在値にそれぞれ追加し た値に
              なる。 カウンタ値が '-' で始まる場合は、現在値から差し引いた値になる。境界値の 検査
              は行われない。
               '+' や '-' で始まらなかった場合は、指定した値そのものに変更される。

       -I, --insert
              指定したルール番号の位置にルールを追加する。ルール番号が未指定の場合、 チェインの先
              頭に追加される。ルールが  N 個あった場合、 -N から N+1 の間の数を指定できる。正の数
              i があったとして、 ii-N-1 はチェイン上での同じ挿入位置となる。ルール番号  0  は
              チェインの最後のルー  ルを示し、  -A コマンドを使ったときと同じになる。0 より小さい
              ルール番号は複数のルールを 一つのチェインに挿入する際に便利である。

       -P, --policy
              チェインのポリシーを、指定したターゲットに設定する。ポリシーは ACCEPT, DROP, RETURN
              のいずれかである。

       -F, --flush
              指定したチェインを  flush する。チェイン指定がない場合、全てのチェインが flush され
              る。 flush ではチェインのポリシーは変更されない。

       -Z, --zero
              指定したチェインのカウンタを 0 にする。チェイン指定がない場合、全ての  チェインでの
              カウンタが 0 になる。 -Z コマンドは -L と組み合わせて使える。 -Z-L を同時に使う
              と、0 にされる前のカウンタ値が出力される。

       -L, --list
              指定したチェインにあるルールリストを出力する。チェイン指定がない場合、 全てのチェイ
              ンについてリストが出力される。
              -L コマンドの出力形式には次のオプションがある。
              --Ln
              全てのルールの行頭にルール番号を出力する。 --Lx とは組み合わせられない。
              --Lc
              全てのルールの行末にルール番号を出力する。フレームカウンタ値 (pcnt) とバ イトカウン
              タ値 (bcnt)  の両方が表示される。フレームカウンタ値は、そのルールにマッチングした回
              数   を示していて、  バイトカウンタ値はこれらのフレームのサイズを合計した値となる。
              --Lx オプションと組み合わせると、カウンタ値は -c <pcnt> <bcnt> の形式で出力される。
              --Lx
              チェインの内容を再構築できるような ebtables コマンドの形式で出力する。 チェイン指定
              がない場合、 (もしあれば) ユーザ定義のチェインを作成するコマンドも含めて、 テーブル
              全体を構築できる ebtables コマンドが出力される。 このコマンドを使って ebtables の起
              動・再起動スクリプトを作成できる。   例えばこのコマンドの出力をシステム起動時に使え
              る。 --Lx オプションは --Ln オプションと互換性がない。 --Lx--Lc  と同時に使う
              と、カウンタが -c <pcnt> <bcnt> の形式で出力される。
              --Lmac2
              必要に応じてアドレス先頭に  0 パディングして、全 MAC アドレスを同じ長さで表示する。
              デフォルトの表示形式では、アドレス先頭の 0 は省略される。

       -N, --new-chain
              指定した名前の新しいユーザ定義チェインを作る。ユーザ定義チェインの個数の   上限は、
              作り得る名前の数に限られる。ユーザ定義のチェイン名は 31 文字までである。 ユーザ定義
              チェインのデフォルトのポリシーは ACCEPT である。 -P コマンドを -N  コマンドと同時に
              使うことで新規チェインのポリシーを標準のターゲットと異な  るもので初期化できる。 こ
              の場合 -P コマンドにチェイン名の指定は不要である。

       -X, --delete-chain
              ユーザ定義チェインを削除する。対象チェインを参照している (jump してくる) ものが残っ
              ていてはいけない。  残っていると  ebtables  は削除を拒否する。 チェイン指定がない場
              合、参照されていない全てのユーザ定義チェインが削除される。

       -E, --rename-chain
              指定したチェインを新しい名前に変更する。ユーザ定義チェインの名前を変更で きるのはも
              ちろんのこと、         標準チェインの名前を好きなものに変更することもできる。例えば
              PREROUTING ではなく PREFORWARDING にしたい場合、-E コマンドで PREROUTING チェインの
              名前を変更できる。  標準チェインの名前を変更していたら、ebtables メーリングリストに
              投稿する際には、 そのことについて言及すること。この ebtables 標準チェインの名称変更
              では、 カーネル ebtables テーブルの構造は影響を受けない。

       --init-table
              現在のテーブルデータを初期テーブルデータで置き換える。

       --atomic-init
              テーブルのカーネルの初期データを指定したファイルにコピーする。 ルールがファイルに追
              加された後の最初の処理にできる。ファイル名は   --atomic-file   コマンドを使った指定
              か、あるいは EBTABLES_ATOMIC_FILE 環境変数で指定できる。

       --atomic-save
              カーネルの現在のテーブルデータを指定したファイルにコピーする。 ルールがファイルに追
              加された後の最初の処理にできる。ファイル名は   --atomic-file   コマンドを使った指定
              か、あるいは EBTABLES_ATOMIC_FILE 環境変数で指定できる。

       --atomic-commit
              カーネルテーブルデータを指定したファイルにあるデータで置き換える。ある テーブルの全
              ルールを カーネルに一度にロードし、カーネル時間を大幅に節約しつつもアトミックなテー
              ブルの更新を行うことができるので、 便利なコマンドである。テーブルデータが入っている
              ファイルは --atomic-init--atomic-save  コマンドで出力した起動ファイルで構成す
              る。その後 --atomic-file コマンドでルールを構成したり EBTABLES_ATOMIC_FILE 環境変数
              を使うことで、ファイルを拡張したりして完全なテーブルを組み上げた 後にカーネルに登録
              できる。 このコマンドは boot スクリプトで ebtables を高速に組み上げるのに大変便利で
              ある。

   その他コマンド
       -V, --version
              ebtables ユーザスペースプログラムのバージョンを表示する。

       -h, --help [list of module names]
              コマンドの構文についての簡単な説明を出力する。extension の名前を指定する こともでき
              て、そうすると ebtables はこれらの extension のヘルプを表示する。例えば ebtables -h
              snat log ip arp である。 list_extensions と指定すると、ユーザスペースユーティリティ
              でサポートされている全 extension を出力する。

       -j, --jump target
              ルールのターゲットである。これは次のいずれかの値をとる:   ACCEPT,  DROP,  CONTINUE,
              RETURN, target extension (TARGET EXTENSION を参照すること) あるいはユーザ定義チェイ
              ン名。

       --atomic-file file
              指定したファイルに対してコマンドを実行する。 操作対象のテーブルのデータはファイルか
              ら読み取って構築し、操作した結果は 再びファイルに書き戻される。  指定する際はコマン
              ド指定の前に置くべきである。他のやり方としては、  EBTABLES_ATOMIC_FILE 環境変数を使
              う方法がある。

       -M, --modprobe program
              カーネルとやり取りする際に、指定した program がロードされていないカーネルモジュール
              を自動的にロードするようにする。

       --concurrent
              ebtables  カーネルテーブルを更新するスクリプトが同時に複数実行されても 大丈夫なよう
              に、ファイルロックを使用する。

   ルール指定
       ルール指定は次のコマンドライン引数で (追加、削除のコマンドで使うことで)  構築される。  "!"
       オプションを指定の前につけると、その否定の意味になる。  下記の標準ルール指定の他にもいくつ
       か興味深い引数がある。 MATCH EXTENSIONWATCHER EXTENSION を参照すること。

       -p, --protocol [!] protocol
              フレームを構成しているプロトコル。 0x0600  より大きい  hex  の数値か、名前  (例えば
              ARP)、 LENGTH を指定できる。(802.2/802.3ネットワークにおいては) Ethernet フレームの
              プ ロトコルフィールドは、 ヘッダの長さを表すこともできる。値が 0x0600  より小さいか
              等しいときは、その値はヘッダサイズと等しく、プロトコル番号と して扱ってはいけない。
              そのかわり、プロトコルフィールドが長さフィールドとして使われている全ての   フレーム
              は、同じ  'protocol' として扱われる。 ebtables では、これらのフレームのプロトコルを
              表す名前は LENGTH である。
              /etc/ethertypes を使って、プロトコルを指定する hex 数値の代わりに可読な文字列を  指
              定することができる。例えば  0x0800IPV4 で表現できる。このファイルでは大文字小文
              字は区別されない。 詳細はファイルを参照すること。 --proto  フラグはこのオプションの
              エイリアスである。

       -i, --in-interface [!] name
              フレームを受信したインターフェース  (ブリッジポート)  を指定する  (このオプションは
              INPUT, FORWARD, PREROUTING , BROUTING チェインで有効) 。インターフェース名が '+' で
              終わっている場合、 その名前で始まる ('+' 自体は除く) インターフェース名全てがマッチ
              ングする。 --in-if はこのオプションのエイリアスである。

       --logical-in [!] name
              will match.  フレームを受信した (論理的な) ブリッジインターフェースを指定する (この
              オプションは  INPUT, FORWARD, PREROUTING, BROUTING チェインで有効) 。インターフェー
              ス名が '+' で終わっている場合、 その名前で始まる ('+' 自体は除く)  インターフェース
              名全てがマッチングする。

       -o, --out-interface [!] name
              フレームが送出されるインターフェース  (ブリッジポート) を指定する (このオプションは
              OUTPUT, FORWARD, POSTROUTING チェインで有効) 。インターフェース名が '+'  で終わって
              いる場合、  その名前で始まる  ('+' 自体は除く) インターフェース名全てがマッチングす
              る。 --out-if はこのオプションのエイリアスである。

       --logical-out [!] name
              フレームが送出される (論理的な) ブリッジインターフェースを指定する  (このオプション
              は OUTPUT, FORWARD, POSTROUTING チェインで有効) 。インターフェース名が '+' で終わっ
              ている場合、 その名前で始まる ('+' 自体は除く) インターフェース名全てがマッチングす
              る。

       -s, --source [!] address[/mask]
              送信元  MAC アドレス。マスクとアドレスの両方とも hex 数値 6 つをコロン区 切りで記述
              する。あるいは Unicast, Multicast, Broadcast, BGA (Bridge Group Address) も指定でき
              る:
              Unicast=00:00:00:00:00:00/01:00:00:00:00:00,
              Multicast=01:00:00:00:00:00/01:00:00:00:00:00,
              Broadcast=ff:ff:ff:ff:ff:ff/ff:ff:ff:ff:ff:ff,
              BGA=01:80:c2:00:00:00/ff:ff:ff:ff:ff:ff    である。ブロードキャストアドレスはマルチ
              キャストアドレスにも  マッチングする点に注意すること。 --src はこのオプションのエイ
              リアスである。

       -d, --destination [!] address[/mask]
              送信先 MAC  アドレス。MAC  アドレスの詳細については  -s  オプションを参照すること。
              --dst フラグはこのオプションのエイリアスである。

       -c, --set-counter pcnt bcnt
              -A-I と組み合わせた場合、新しいルールの pcnt, bcnt それぞれが指定した値になる。
              -C-D コマンドと組み合わせた場合、 pcntbcnt がパケットカウント値とバイトカウ
              ント値と等しいルールのみがマッチングする。

   MATCH EXTENSION
       ebtables extension はユーザスペースツールに動的に組み込まれる。iptables コマンドで -m オプ
       ションを使っていた時のように、明示的にロードする必要はない。      これらの       extension
       は、ebtables  core コードを補足するものとして、 カーネルモジュールでサポートされている機能
       を扱っている。

   802_3
       802.3 DSAP/SSAP フィールドあるいは SNAP タイプを指定する。プロトコルは LENGTH として指定さ
       れていなければならない (上記 -p オプションを参照) 。

       --802_3-sap [!] sap
              DSAP と SSAP は 802.3 中の 2 つの 1 バイトフィールドである。これらのバイ トは常に同
              じなので、 1 バイト (hex 数値で) の指定のみ必要である。

       --802_3-type [!] type
              802.3 DSAP と SSAP の値が 0xaa の場合、SNAP タイプフィールドがペイロード プロトコル
              を決定する。  これは  2 つの 1 バイト引数である (hex 数値で) 。802.3 DSAP/SSAP 0xaa
              フ レームのみが検査される。

   among
       MAC アドレスあるいは MAC/IP アドレスの組に対して、 MAC アドレスあるいは MAC/IP  アドレスの
       組のリストをマッチングさせる。  リストのエントリは xx:xx:xx:xx:xx:xx[=ip.ip.ip.ip][,] の書
       式で指定する。 リストのエントリはコンマで区切る。 IP アドレスを MAC アドレスと組み合わせる
       のはオプションである。 同一 MAC アドレスで IP アドレスが異なるという複数の MAC/IP アドレス
       の組を登録 しても構わない。  MAC  アドレスがリストのどのエントリともマッチングしなかった場
       合、 フレームはそのルールにマッチングしなかったことになる ("!" が使われていない場合) 。

       --among-dst [!] list
              送信先  MAC  とリストを比較する。もし  Ethernet フレームが IPv4 あるいは ARP であれ
              ば、リスト中にある送信先 MAC/IP アドレスペアとの比較も可能である。

       --among-src [!] list
              送信元 MAC とリストを比較する。もし Ethernet フレームが IPv4  あるいは  ARP  であれ
              ば、リストにある送信元 MAC/IP アドレスペアとの比較も可能である。

       --among-dst-file [!] file
              --among-dst と同様だが、指定したファイルからリストを読み込む。

       --among-src-file [!] file
              --among-src と同様だが、指定したファイルからリストを読み込む。

   arp
       (R)ARP フィールドを指定する。プロトコルは ARP あるいは RARP でなければならない。

       --arp-opcode [!] opcode
              (R)ARP opcode (10 進数か文字列。詳細は ebtables -h arp 参照すること)

       --arp-htype [!] hardware type
              ハードウェアタイプで、10  進数か文字列  Ethernet (type 1 になる)。ほとんどの (R)ARP
              パケットではハードウェアタイプが Ethernet になる。

       --arp-ptype [!] protocol type
              (R)ARP で使われているプロトコルタイプ (hex あるいは 0x0800 を意味する文字列 IPv4)。
              ほとんどの (R)ARP パケットではプロトコルタイプは IPv4 になる。

       --arp-ip-src [!] address[/mask]
              (R)ARP 送信元 IP アドレス指定。

       --arp-ip-dst [!] address[/mask]
              (R)ARP 送信先 IP アドレス指定。

       --arp-mac-src [!] address[/mask]
              (R)ARP 送信元 MAC アドレス指定。

       --arp-mac-dst [!] address[/mask]
              (R)ARP 送信先 MAC アドレス指定。

       [!] --arp-gratuitous
              ARP gratuitous パケットを検査する: ARP ヘッダ中の送信元 IPv4 アドレスと 送信先 IPv4
              アドレスが等しいものを検査する。

   ip
       IPv4 フィールドを指定する。プロトコルは IPv4 でなければならない。

       --ip-source [!] address[/mask]
              送信元 IP アドレス。 --ip-src フラグはこのオプションのエイリアスである。

       --ip-destination [!] address[/mask]
              --ip-dst 送信先 IP アドレス。 --ip-dst フラグはこのオプションのエイリアスである。

       --ip-tos [!] tos
              IP サービスタイプを、hex 表記の数値で。 IPv4 のものである。

       --ip-protocol [!] protocol
              IP プロトコル。 --ip-proto フラグはこのオプションのエイリアスである。

       --ip-source-port [!] port1[:port2]
              IP プロトコル 6 (TCP), 17 (UDP), 33 (DCCP), 132 (SCTP) における、送信元  ポートある
              いはポートの範囲。 --ip-protocol オプションで TCP, UDP, DCCP, SCTP のいずれかが指定
              されていなければならない。 port1 が省略された場合は 0:port2 が使われる。 port2 が省
              略されたがコロンが指定された場合は port1:65535 が使われる。 --ip-sport フラグはこの
              オプションのエイリアスである。

       --ip-destination-port [!] port1[:port2]
              IP プロトコル 6 (TCP), 17 (UDP), 33 (DCCP), 132 (SCTP) における、送信先  ポートある
              いはポートの範囲。 --ip-protocol オプションで TCP, UDP, DCCP, SCTP のいずれかが指定
              されていなければならない。 port1 が省略された場合は 0:port2 が使われる。 port2 が省
              略されたがコロンが指定された場合は port1:65535 が使われる。 --ip-dport フラグはこの
              オプションのエイリアスである。

   ip6
       IPv6 のフィールドを指定する。プロトコルは IPv6 でなければならない。

       --ip6-source [!] address[/mask]
              送信元 IPv6 アドレス。 --ipv6-src フラグはこのオプションのエイリアスである。

       --ip6-destination [!] address[/mask]
              送信先 IPv6 アドレス。 --ipv6-dst フラグはこのオプションのエイリアスである。

       --ip6-tclass [!] tclass
              IPv6 トラフィッククラスを hex 表記の数値で。

       --ip6-protocol [!] protocol
              IP プロトコル。 --ip6-proto フラグはこのオプションのエイリアスである。

       --ip6-source-port [!] port1[:port2]
              IP プロトコル 6 (TCP), 17 (UDP), 33 (DCCP), 132 (SCTP) における、送信元  ポートある
              いはポートの範囲。  --ip6-protocol オプションで TCP, UDP, DCCP, SCTP のいずれかが指
              定されていなければならない。 port1 が省略された場合は 0:port2 が使われる。 port2 が
              省略されたがコロンが指定された場合は  port1:65535 が使われる。 --ip6-sport はこのオ
              プションのエイリアスである。

       --ip6-destination-port [!] port1[:port2]
              IP プロトコル 6 (TCP), 17 (UDP), 33 (DCCP), 132 (SCTP) における、送信先  ポートある
              いはポートの範囲。  --ip6-protocol オプションで TCP, UDP, DCCP, SCTP のいずれかが指
              定されていなければならない。 port1 が省略された場合は 0:port2 が使われる。 port2 が
              省略されたがコロンが指定された場合は  port1:65535 が使われる。 --ip6-sport フラグは
              このオプションのエイリアスである。

       --ip6-icmp-type [!]
              {type[:type]/code[:code]|typename}" マッチングさせる ipv6-icmp タイプとコード。タイ
              プとコードのどちらも範囲 指定できる。 タイプとコードはスラッシュで区切る。 タイプと
              コードとして有効な数値は 0 から 255 の範囲である。 あるタイプのすべてのコードにマッ
              チングさせるには、数値の代わりにシンボル  名を使って指定することもできる。 既知のタ
              イプ名については次のコマンドでリストが表示される。
                ebtables --help ip6
              このオプションは --ip6-protocol ipv6-icmp についてのみ有効である。

   limit
       このモジュールは token bucket フィルタを使って、マッチングにレートリミッ  トを付ける。この
       extension   を使っているルールは、リミットに到達するまではマッチングする。   例えば  --log
       watcher と組み合わせて使うと、レートリミットのついたロギングを行うことが できる。 iptables
       における limit マッチングと同様に使える。

       --limit [value]
              マッチングレート最大平均値:  数値指定で、 /second, /minute, /hour, day サフィックス
              を付けることができる; デフォルト値は 3/hour である。

       --limit-burst [number]
              マッチングする初期パケット最大値: 上記のリミットに到達しなかった場合、 毎回指定した
              数値までリチャージされる; デフォルト値は 5 である。

   mark_m
       --mark [!] [value][/mask]
              符号なし数値の  mark  でフレームにマッチングする。 valuemask が指定されている場
              合、フレームの mark 値とユーザ指定の mask 値の論理和 (AND) が計算されてから、ユーザ
              指定の  mark  value  値と比較される。 value のみが指定された場合、ユーザ指定の mark
              value と同一の値の mark を持ったパケットのみがマッチングする。 mask  のみが指定され
              た場合、フレームの mark 値とユーザ指定の mask 値の論理和 (AND) が計算され、結果が非
              0 であるフレームがマッチングする。 mask のみ指定する方法は、複数の mark  値とマッチ
              ングさせるのに便利である。

   pkttype
       --pkttype-type [!] type
              フレームの Ethernet "class" にマッチングし、これは一般的なネットワーク コードによっ
              て決まる。取りうる値は、 broadcast (送信先 MAC アドレスがブロードキャストアドレス),
              multicast  (送信先 MAC アドレスがマルチキャストアドレス), host (送信先 MAC アドレス
              が受信ネットワークデバイス), otehrhost (それ以外) のいずれかである。

   stp
       stp BPDU (bridge protocol data unit) フィールドを指定する。送信先アドレス (-d)  は  bridge
       group  address  (BGA)  が指定されていなければならない。 数値の範囲指定ができるオプションで
       は、下限を省略した際は取りうる最小値が 使われ、 上限を省略した際  (コロンがついている場合)
       は取りうる最大値が使われる。

       --stp-type [!] type
              BPDU type (0-255) である。数値以外で認識できるタイプは、 configuration BPDU (=0) を
              表す config と、topology change notification BPDU (=128) を表す tcn である。

       --stp-flags [!] flag
              BPDU flag (0-255) である。数値以外で認識できるフラグは、 topology change flag  (=1)
              を表す  topology-change  と、  topology  change  acknowledgement flag (=128) を表す
              topology-change-ack である。

       --stp-root-prio [!] [prio][:prio]
              root 優先度 (0-65535) の範囲。

       --stp-root-addr [!] [address][/mask]
              root MAC アドレス。詳細は -s オプション参照すること。

       --stp-root-cost [!] [cost][:cost]
              root path コスト (0-4294967295) の範囲。

       --stp-sender-prio [!] [prio][:prio]
              BPDU 送信者優先度 (0-65535) の範囲。

       --stp-sender-addr [!] [address][/mask]
              BPDU 送信者の MAC アドレス。詳細は -s オプション参照すること。

       --stp-port [!] [port][:port]
              port 識別子の範囲 (0-65535)。

       --stp-msg-age [!] [age][:age]
              メッセージ age timer の範囲 (0-65535)。

       --stp-max-age [!] [age][:age]
              max age time の範囲 (0-65535)。

       --stp-hello-time [!] [time][:time]
              hello time timer の範囲 (0-65535)。

       --stp-forward-delay [!] [delay][:delay]
              forward delay timer の範囲 (0-65535)。

   string
       This module matches on a given string using some pattern matching strategy.

       --string-algo algorithm
              The pattern matching strategy. (bm = Boyer-Moore, kmp = Knuth-Pratt-Morris)

       --string-from offset
              The lowest offset from which a match can start. (default: 0)

       --string-to offset
              The highest offset from which a match can start. (default: size of frame)

       --string [!] pattern
              Matches the given pattern.

       --string-hex [!] pattern
              Matches  the  given  pattern  in  hex   notation,   e.g.   '|0D   0A|',   '|0D0A|',
              'www|09|netfilter|03|org|00|'

       --string-icase
              Ignore case when searching.

   vlan
       802.1Q タグ制御情報フィールドを指定する。プロトコルは 802_1Q (0x8100) でなければならない。

       --vlan-id [!] id
              VLAN 識別子フィールド (VID)。0 から 4095 の間の 10 進数の数字。

       --vlan-prio [!] prio
              優先度フィールドで、0 から 7 までの 10 進数の数字。VID は 0 ("null VID") か、無指定
              であるべきです (後者の無指定の場合 VID は 0 であるとされる) 。

       --vlan-encap [!] type
              格納されている Ethernet フレームの type/length の値。0x0000  から  0xFFFF  の範囲の
              hex 数値か /etc/ethertypes にあるシンボル名で指定する。

   WATCHER EXTENSIONS
       watchers は通過するフレームを観測するだけで、 フレームを変更したり許可するかどうかの判断を
       行ったりはしない。 これらの  watcher  はフレームがルールにマッチングするかどうかを見るだけ
       で、 それはターゲットが実行される前に行われる。

   log
       log watcher はフレームの説明を syslog に書き出す。

       --log
              デフォルトの logging オプションでロギングを行う: log-leve= info , log-prefix="", ip
              ログなし, arp ログなし。

       --log-level level
              logging レベルを定義する。取りうる値は ebtables -h log を参照すること。デフォルトの
              レベルは info である。

       --log-prefix text
              ログ情報の行頭にプリントする text プレフィックスを定義する。

       --log-ip
              ルールで   ip  プロトコルにマッチングした際に生成されるフレームの  ip  情報をログす
              る。デフォルトでは ip 情報はログされない。

       --log-ip6
              ルールで ipv6 プロトコルにマッチングした際に生成されるフレームの ipv6  情報をログす
              る。デフォルトでは ipv6 情報はログされない。

       --log-arp
              ルールで  (r)arp プロトコルマッチングした際に生成されるフレームの (r)arp 情報をログ
              する。デフォルトでは (r)arp 情報はログされない。

   nflog
       nflog watcher はパケットをログするためにロードされた logging  バックエン  ドにパケットを渡
       す。  これは通常  logging  バックエンド  nfnetlink_log  との組み合わせで使用され、  これが
       netlink ソケット経由でパケットを指定したマルチキャストグループにマルチキャストする。 1  つ
       あるいは複数のユーザスペースプロセスがそのグループに参加してパケット  を受け取ることができ
       る。

       --nflog
              デフォルトの logging オプションでログする。

       --nflog-group nlgroup
              パケットが送出先である netlink グループ (1 から 2^32-1 の間) (nfnetlink_log  でのみ
              有効)。デフォルト値は 1。

       --nflog-prefix prefix
              ログメッセージに含まれるプレフィックス文字列で、最大  30  文字まで。 ログの中でメッ
              セージを区別するのに便利。

       --nflog-range size
              ユーザスペースにコピーされるバイト数 (nfnetlink_log でのみ有効)。 nfnetlink_log  イ
              ンスタンスでも範囲指定可能で、 このオプションはそれを上書きする。

       --nflog-threshold size
              ユーザスペースに送る前にカーネル内のキューイングするパケットの数  (nfnetlink_log で
              のみ有効)。  大きな数値にすると  1   パケットあたりのオーバーヘッドは小さくなるが、
              ユーザスペースにパケットが届くまでの遅延は大きくなる。デフォルト値は 1。

   ulog
       ulog  watcher  は  netlink マルチキャストソケットを使ってユーザランド logging デーモンにパ
       ケットを渡す。 log watcher との違いは、 パケットの説明ではなくパケット全体がユーザスペース
       に送信されるという点と  syslog ではなく netlink マルチキャストソケットが使われるという点で
       ある。 この watcher ではユーザスペースのプログラムでパケットを解析することができ、  物理ブ
       リッジの入出力ポートの情報も  netlink  メッセージに含まれている。  ulog watcher モジュール
       は、(modprobe などで) カーネルに ロードされる際にパラメータを  2  つ受け取ることができる。
       nlbufsiz   で各  netlink  マルチキャストグループが持つバッファの大きさを指定できる。例えば
       nlbufsiz=8192 では、ユーザスペースに送り出す前に 8kB の数のパケットまでカーネル内に 溜める
       ことができる。     128kB    より大きな値を設定することはできない。ここでのバッファサイズは
       nlgroup そ れぞれについて確保されるということにも注意。 つまり消費カーネルメモリはその倍数
       で増えていく。デフォルト値は 4096 である。 flushtimeout で、キューが一杯にならなかった場合
       に、どれだけの間待ってから flush するかを、 100 分の 1 秒刻みで指定する。デフォルト値は 10
       である (0.1秒) 。

       --ulog
              デフォルトの設定を使う:  ulog-prefix="",  ulog-nlgroup=1,  ulog-cprange=4096, ulog-
              qthreshold=1

       --ulog-prefix text
              ユーザスペースに送られるパケットに含まれるプレフィックスを定義する。

       --ulog-nlgroup group
              どの netlink グループ番号を使うかを定義する (1 から 32 の間の数字) 。 iptables ULOG
              ターゲットで使われている  netlink グループ番号と ebtables ulog watcher のものとは異
              なるものにすること。 デフォルトのグループ番号は 1 である。

       --ulog-cprange range
              ルールにマッチングしたパケットについて、ユーザスペースにコピーされる範囲 の最大値を
              定義する。  デフォルトの範囲は 0 で、これは nlbufsiz で指定された範囲の最大値を意味
              する。128*1024 より大きな値を指定しても意 味はない。 なぜなら、ユーザスペースに送ら
              れるパケットサイズの上限は 128*1024 だからである。

       --ulog-qthreshold threshold
              netlink   ソケット経由でユーザスペースに送りだす前に  threshold  の数までパケットを
              キューイングする。 キューが埋まる以前であってもパケットは送出されることがあることに
              注意すること。  これは  ulog  カーネルタイマが達した際に起こる  (このタイマの周期は
              flushtimeout により決まる)。

   TARGET EXTENSIONS
   arpreply
       arpreply ターゲットは nat テーブルの  PREROUTING  チェインで使うことができる。ターゲットが
       ARP  リクエストを発見すると、 自動的に ARP reply を返す。reply に使う MAC アドレスを指定す
       ることができる。プロトコルは ARP でなければならない。ARP メッセージが ARP リクエストではな
       かったり、ARP リクエストが Ethernet ネットワーク上の IP アドレスに対するものではなかった場
       合、この ターゲットでは無視される (CONTINUE)。 ARP  リクエストが不正だった場合、破棄される
       (DROP)。

       --arpreply-mac address
              reply  に返す MAC アドレスを指定する。Ethernet 送信元 MAC アドレスと ARP ペイロード
              中の送信元 MAC アドレスの両方がこのアドレスになる。

       --arpreply-target target
              標準のターゲットを指定する。ARP reply を送信した後に、ebtables がその  ARP  request
              に対してさらに何を行うかを指定する。デフォルトのターゲットは DROP である。

   dnat
       dnatbroute テーブルの BROUTING チェインと、 nat テーブルの PREROUTINGOUTPUT チェイ
       ンでのみ使える。送信先 MAC アドレスを変更するときに指定する。

       --to-destination address
              送信先 MAC アドレスを指定した address に変更する。 --to-dst  フラグはこのオプション
              のエイリアスである。

       --dnat-target target
              標準のターゲットを指定する。dnat を行った後に、ebtables がその フレームに対してさら
              に何を行うかを指定する。デフォルトのターゲットは ACCEPT  である。  CONTINUE  にする
              と、同一フレームに対して複数の  target extension を使える。 DROPBROUTING チェイ
              ンで redirect ターゲットと使うときにのみ意味がある。 RETURN  を基本チェインで使うこ
              とはできない (理由は明らかでしょう)。

   mark
       mark ターゲットはどのテーブルのどのチェインでも使える。bridge-nf がカーネルに 組み込まれて
       いれば ebtables と iptables の両方で mark できる。どちらも同じ場所に  mark  を記  録するの
       で、 ebtables と iptables 間の通信にもなる。

       --mark-set value
              フレームに非負数の value を mark する。

       --mark-or value
              フレームに非負数の value で OR した値を記録する。

       --mark-and value
              フレームに非負数の value で AND した値を記録する。

       --mark-xor value
              フレームに非負数の value で XOR した値を記録する。

       --mark-target target
              標準のターゲットを指定する。mark を行った後に、ebtables がその フレームに対してさら
              に何を行うかを指定する。デフォルトのターゲットは ACCEPT  である。  CONTINUE  にする
              と、後続のチェインのルールでフレームに対して何らかの他の処理ができる。

   redirect
       redirect ターゲットは MAC ターゲットアドレスをフレームが到達したブリッジデバイス のものに
       変更する。  このターゲットは  broute  テーブルの  BROUTING   チェインと   nat   テーブルの
       PREROUTING チェインでのみ使える。 BROUTING チェインではブリッジポートの MAC アドレスが送信
       先アドレスとして使われ、 PREROUTING チェインではブリッジの MAC アドレスが使われる。

       --redirect-target target
              標準のターゲットを指定する。MAC リダイレクトを行った後に、ebtables がさ  らに何を行
              うかを指定する。 デフォルトのターゲットは ACCEPT である。 CONTINUE にすると、同一フ
              レームに対して複数の target extension を使える。 BROUTING チェイン中で DROP  を使う
              と、そのフレームは route される。 RETURN も使うことができる。 RETURN を基本チェイン
              で使うことはできない。

   snat
       snat ターゲットは nat テーブルの POSTROUTING でのみ使うことができる。送信元 MAC アドレスを
       変更する際に使いる。

       --to-source address
              送信元  MAC アドレスを指定した address に変更する。 --to-src フラグはこのオプション
              のエイリアスである。

       --snat-target target
              標準のターゲットを指定する。snat を行った後に、ebtables がさらに何を行う かを指定す
              る。 デフォルトのターゲットは ACCEPT である。 CONTINUE にすると、同一フレームに対し
              て複数の target extension を使える。 DROP  は  意味をなさないが、実行することはでき
              る。 RETURN も使える。 RETURN を基本チェインで使うことはできない。

       --snat-arp
              パケットが  arp メッセージであり、かつ、arp ヘッダ中のハードウェアアドレ スの長さが
              6 バイトであった場合に、arp ヘッダ中のハードウェア送信元アドレスも変 更する。

ファイル

       /etc/ethertypes /var/lib/ebtables/lock

環境変数

       EBTABLES_ATOMIC_FILE

メーリングリスト

       http://netfilter.org/mailinglists.html 参照

関連項目

       iptables(8), brctl(8), ifconfig(8), route(8)

       http://ebtables.sf.net 参照

                                          December 2011                               EBTABLES(8)