ファイアウォールフィルターの一致条件を理解する
ジュニパースイッチでファイアウォールフィルターの一致条件を設定する方法をご覧ください。
ファイアウォールフィルターの条件を設定する前に、一致条件がどのように機能するか、および目的するフィルタリング結果を得るためにさまざまな一致タイプを指定する方法を理解してください。
フィルター一致条件
ファイアウォールフィルター条件の from ステートメントで、 then ステートメントでアクションをトリガーする条件を指定します。アクションが発生するには、すべての条件が一致する必要があります。条件の順番は重要ではありません。
次のいずれかを使用して、同じ条件に複数の値を指定します。
[edit firewall family family-name filter filter-name term term-name from]
user@switch# set protocol (icmp | udp)
user@switch# set source-address 10.1.1.1
user@switch# set source-address 10.1.1.2
従来のJunos OSファイアウォールフィルターとは異なり、以下の点があります。
- 個々の条件に値リスト(範囲/複数のアドレス)を含めることはできません。
- 条件は、以下を使用して否定することはできません。
except
一致条件が指定されていない場合、条件はすべてのパケットに一致します。
数値一致条件
以下を使用して数値フィールド(ポート/プロトコル番号)に一致させます。
- 単一番号:
source-port 23 - テキスト同義語:
source-port telnet
複数の値を指定します。
[edit firewall family family-name filter filter-name term term-name from]
user@switch# set source-port 22
user@switch# set source-port 23
インターフェイス一致条件
以下の形式を使用してインターフェイスを一致させます。
[edit firewall family family-name filter filter-name term term-name from]
user@switch# set interface ge-0/0/1
user@switch# set interface ge-0/0/6.0
ワイルドカードがサポートされています。
interface ge-0/*/6.0
interface ge-0/1/*.0
interface ge-0/0/6.*
QFX/EX/OCX/ NFXシリーズ:必要に応じて、必ず論理ユニットを含めます。VLANフィルタリングアプリケーションの場合は、VLANに参加するインターフェイスを指定します。
IPアドレス一致条件
一致するIPプレフィックス:
[edit firewall family family-name filter filter-name term term-name from]
user@switch# set destination-address 10.2.1.0/24
省略されたプレフィックス長のデフォルトは /32 です。
user@switch# set destination-address 10
user@switch# show
destination-address {
10.0.0.0/32;
}
MACアドレス一致条件
次の形式を使用してMACアドレスを照合します。
destination-mac-address 00:11:22:33:44:55
destination-mac-address 0011.2233.4455
destination-mac-address 001122334455
すべてのフォーマットは標準 00:11:22:33:44:55に解決されます。
複数のMACアドレスを指定します。
source-mac-address 00:11:22:33:44:55
source-mac-address 00:11:22:33:20:15
ビットフィールド一致条件
パケットヘッダーの特定のビットに一致します。
tcp-flags syn
tcp-flags 0x02
tcp-flags tcp-initial
| オペレーター | 説明 |
|---|---|
! |
否定 |
& |
論理AND |
| |
論理OR |
演算子の使用例:
tcp-flags "syn&ack"
tcp-flags "syn&!ack"
オペレーターガイドライン:
- 値を引用符で囲みます。
"syn|fin" - 演算子の間にスペースは使用できません
- OR演算ごとに最大2つの値
- 左から右に優先順位で評価された操作: !> & > |