Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

式を作成する

最終更新 Markdown で表示Agent セットアップ

ルールは、Cloudflare Rules language を使って書きます。これは Wireshark の意味論に寄せたドメイン固有言語(DSL)です。詳細は Rules language のドキュメントを参照してください。

まずは簡単な例として、送信元 IP にマッチする書き方を確認します。

ip.src == 192.0.2.0

論理演算子で複数の句を結合すると、式はより複雑になります。

ip.src == 192.0.2.1 && (tcp.flags.push || tcp.flags.reset)

できること

Cloudflare Network Firewall(旧 Magic Firewall)では、送信元または宛先 IP、送信元または宛先ポート、プロトコル、パケット長、ビットフィールドマッチ に基づいて パケット をスキップまたはブロックできます。

制限

Wirefilter の比較は CIDR 表記に対応しますが、セットの中でのみ使えます。例:

ip.src == 192.0.2.0/24  # bad
ip.src in { 192.0.2.0/24 }  # good

式には複雑さの上限があり、結合や入れ子の句が多いとすぐに達します。次がその例です。

(tcp.dstport == 1000 || tcp.dstport == 1001) && (tcp.dstport == 1002 || tcp.dstport == 1003) && (tcp.dstport == 1004 || tcp.dstport == 1005) && (tcp.dstport == 1006 || tcp.dstport == 1007) && (tcp.dstport == 1008 || tcp.dstport == 1009) && (tcp.dstport == 1010 || tcp.dstport == 1011) && (tcp.dstport == 1012 || tcp.dstport == 1013) && (tcp.dstport == 1014 || tcp.dstport == 1015) && (tcp.dstport == 1016 || tcp.dstport == 1017)

上限に達すると、レスポンスはステータスコード 400 になり、エラーメッセージは ruleset exceeds complexity constraints です。式を複数のルールに分割して、もう一度試してください。

役に立ちましたか?