Red Hat Training

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

19.12.10. 対応しているプロトコル

以下に、ネットワークフィルターのサブシステムで対応しているプロトコルの詳細について示します。このタイプのトラフィックルールはネスト化されたノードとしてルールノードで与えます。ルールがフィルターされるトラフィックタイプにより属性は異なります。上記の例では srcipaddr の属性が一つ使用されていました。 この属性は ip トラフィックフィルターノード内で有効になります。 次のセクションでは有効な属性と期待されるデータタイプについて示します。次のようなデータタイプが使用可能です。
  • 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 など)
  • IP_MASK: ドット付き 10 進数形式 (255.255.248.0) または CIDR マスク (0-32) による IP アドレスマスク
  • IPV6_ADDR: 数値形式の IPv6 アドレス (FFFF::1)
  • IPV6_MASK: 数値形式 (FFFF:FFFF:FC00::) または CIDR マスク (0-128) による IPv6 マスク
  • STRING: 文字列
  • BOOLEAN: 'true'、'yes'、'1'、または 'false'、'no'、'0'
  • IPSETFLAGS: 最大 6 つの 'src' または 'dst' の要素で記述される ipset のソースフラグと宛先フラグで、パケットヘッダーのソース部分または宛先部分いずれかの機能を選択します (src,src,dst など)。 ここに入力する 'selectors' の数は参照される ipset のタイプによって異なります。
IP_MASK または IPV6_MASK のタイプを除き、すべての属性は no の値にあたる属性を使って無効にすることができます。無効にした複数の属性をグループ化して 1 つにまとめることもできます。次の XML の抜粋部分の属性を使った一例を示します。
[...]
  <rule action='drop' direction='in'>
    <protocol match='no' attribute1='value1' attribute2='value2'/>
    <protocol attribute3='value3'/>
  </rule>
[...]
ルールの動作によりそのルールが評価されるとともに、特定のプロトコル属性の境界内でそのルールが論理的に調べられます。 従って、1 つの属性値がルールで与えた値に一致しない場合、評価のプロセス時にそのルール全体が省略されることになります。従って、上記の例では、プロトコルプロパティーの attribute1value1 に、プロトコルプロパティーの attribute2value2 にいずれも一致せず、プロトコルプロパティー attribute3value3 に一致する場合、着信トラフィックのみがドロップされます。

19.12.10.1. MAC (イーサネット)

プロトコル ID: mac
このタイプのルールはルートチェーンに入ります。

表19.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'/>
[...]