Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

17.14.10. サポートされているプロトコル

以下のセクションでは、ネットワークフィルターサブシステムが対応しているプロトコルを一覧表示し、詳細を示します。このタイプのトラフィックルールは、ルールノードでネストされたノードとして提供されます。ルールがフィルターリングするトラフィックタイプに応じて、属性は異なります。上記の例は、ip トラフィックフィルターリングノード内で有効な単一の属性 srcipaddr を示しています。以下のセクションでは、どの属性が有効で、どのタイプのデータが期待されるかを示します。使用可能なデータ型は以下のとおりです。
  • UINT8 : 8 ビット整数。範囲 0〜255
  • UINT16 : 16 ビット整数。範囲 0〜65535
  • MAC_ADDR: ドット付き 10 進数形式の MAC アドレス (例: 00:11:22:33:44:55)
  • MAC_MASK: MAC アドレス形式の MAC アドレスマスク (例: FF:FF:FF:FC:00:00)
  • IP_ADDR: ドット付き 10 進形式の IP アドレス (10.1.2.3 など)
  • P_MASK: ドット付き 10 進数形式 (255.255.248.0) または CIDR マスク (0-32) の IP アドレスマスク
  • IPV6_ADDR: 数値形式の IPv6 アドレス (例: FFFF::1)
  • IPV6_MASK: 数値形式の IPv6 マスク (FFFF:FFFF:FC00::) または CIDR マスク (0-128)
  • STRING: 文字列
  • BOOLEAN - 'true'、'yes'、'1'、または 'false'、'no'、'0'
  • IPSETFLAGS: ipset の送信元フラグおよび宛先フラグで、パケットヘッダーの送信元部分または宛先部分から機能を選択する最大 6 つの 'src' 要素または 'dst' 要素 (例: src、src、dst) で記述されます。ここで提供する 'selectors' の数は、参照される ipset のタイプによって異なります。
IP_MASK 型または IPV6_MASK 型の属性を除くすべての属性は、value no の match 属性を使用して否定できます。複数の否定属性をまとめてグループ化できます。以下の XML フラグメントは、抽象属性を使用したこのような例を示しています。
[...]
  <rule action='drop' direction='in'>
    <protocol match='no' attribute1='value1' attribute2='value2'/>
    <protocol attribute3='value3'/>
  </rule>
[...]
ルールの動作は、ルールを評価するとともに、指定のプロトコル属性の境界内で論理的に調べます。したがって、1 つの属性の値が、ルールで指定された値と一致しない場合は、評価プロセス中にルール全体がスキップされます。したがって、上記の例では、protocol プロパティーのattribute1value1 と protocol プロパティーのattribute2value2 と一致せず、protocol プロパティーのattribute3value3 と一致する場合にのみ、着信トラフィックが破棄されます。

17.14.10.1. MAC(イーサネット)

プロトコル ID: mac
このタイプのルールは、root チェーンに置く必要があります。

表17.3 MAC プロトコルタイプ

属性名 データタイプ 定義
srcmacaddr MAC_ADDR 送信側の MAC アドレス
srcmacmask MAC_MASK 送信元の MAC アドレスに適用されるマスク
dstmacaddr MAC_ADDR 宛先の MAC アドレス
dstmacmask MAC_MASK 宛先の MAC アドレスに適用されるマスク
protocolid UINT16 (0x600-0xffff), STRING レイヤー 3 プロトコル ID。有効な文字列は、[arp, rarp, ipv4, ipv6] などです。
comment STRING 最大 256 文字のテキスト文字列
このフィルターは以下のように記述できます。
[...]
<mac match='no' srcmacaddr='$MAC'/>
[...]