Red Hat Training

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

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

以下のセクションでは、ネットワークフィルターサブシステムが対応しているプロトコルを一覧表示し、詳細を示します。このタイプのトラフィックルールは、ルールノードでネストされたノードとして提供されます。ルールがフィルターリングするトラフィックタイプに応じて、属性は異なります。上記の例は、ip トラフィックフィルターリングノード内で有効な単一の属性 srcipaddr を示しています。以下のセクションでは、どの属性が有効で、どのタイプのデータが期待されるかを示します。使用可能なデータ型は以下のとおりです。
  • UINT8 : 8 ビット整数。範囲 0〜255
  • UINT16 : 16 ビット整数。範囲 0〜65535
  • MAC_ADDR: 00:11:22:33:44:55 などのドット付き 10 進形式の MAC アドレス
  • MAC_MASK: FF:FF:FF:FC:00:00 などの MAC アドレス形式の MAC アドレスマスク
  • IP_ADDR: 10.1.2.3 などのドット付き 10 進形式の IP アドレス
  • P_MASK: ドット付き 10 進数形式 (255.255.248.0) または CIDR マスク (0-32) の IP アドレスマスク
  • IPV6_ADDR: FFFF::1 などの数値形式の IPv6 アドレス
  • 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 タイプのものを除くすべての属性は、値が no の match 属性を使用して除外できます。複数の否定属性をまとめてグループ化できます。以下の XML フラグメントは、抽象属性を使用したこのような例を示しています。
[...]
  <rule action='drop' direction='in'>
    <protocol match='no' attribute1='value1' attribute2='value2'/>
    <protocol attribute3='value3'/>
  </rule>
[...]
ルールの動作は、ルールを評価するとともに、指定のプロトコル属性の境界内で論理的に調べます。したがって、1 つの属性の値が、ルールで指定された値と一致しない場合は、評価プロセス中にルール全体がスキップされます。したがって、上記の例では、受信トラフィックは次の場合にのみドロップされます。プロトコルプロパティーは attribute1 value1と一致せず、プロトコルプロパティーattribute2value2 と一致せず、プロトコルプロパティー attribute3value3 と一致します。

18.12.10.1. MAC(イーサネット)

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

表18.3 MAC プロトコルタイプ

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