示例:配置无状态防火墙过滤器以处理片段
此示例说明如何创建处理数据包片段的无状态防火墙过滤器。
要求
在配置无状态防火墙过滤器之前,不需要除设备初始化之外的特殊配置。
概述
在此示例中,您将创建一个名为的 fragment-RE
无状态防火墙过滤器,该过滤器接受源自 10.2.1.0/24 并发往 BGP 端口的分段数据包。此示例包括以下防火墙过滤器术语:
not-from-prefix-term
-–丢弃不是来自 10.2.1.0/24 的数据包,以确保防火墙过滤器中的后续术语仅与来自 10.2.1.0/24 的数据包匹配。small-offset-term
— 丢弃小的 (1–5) 偏移数据包,以确保防火墙过滤器中的后续术语可以与数据包中的所有标头进行匹配。此外,该术语还会向防火墙设施的系统日志记录目标添加一条记录。not-fragmented-term
— 接受具有指定 BGP 协议的目标端口的未分段 TCP 数据包。如果未设置 MF 标志且分片偏移量等于 0,则数据包被视为未分片。first-fragment-term
— 接受具有指定 BGP 协议的目标端口的分段 TCP 数据包的第一个分段。fragment-term
- 接受 未丢弃small-offset-term
的所有片段。(数据包片段 6–8191)。但是,目标设备只会重组那些属于包含 接受的第一个first-fragment-term
分片的数据包一部分的片段。
数据包分段偏移量可以从 1 到 8191。
您可以使用命令 insert
在防火墙过滤器内移动术语。有关详细信息,请参阅 Junos OS CLI 用户指南中的“插入”。
拓扑学
配置
CLI 快速配置
要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改与您的网络配置匹配所需的任何详细信息,然后将命令复制并粘贴到层次结构级别的 CLI [edit]
中。
set firewall family inet filter fragment-RE term not-from-prefix-term from source-address 0.0.0.0/0 set firewall family inet filter fragment-RE term not-from-prefix-term from source-address 10.2.1.0/24 except set firewall family inet filter fragment-RE term not-from-prefix-term then discard set firewall family inet filter fragment-RE term small-offset-term from fragment-offset 1-5 set firewall family inet filter fragment-RE term small-offset-term then syslog set firewall family inet filter fragment-RE term small-offset-term then discard set firewall family inet filter fragment-RE term not-fragmented-term from fragment-offset 0 set firewall family inet filter fragment-RE term not-fragmented-term from fragment-flags "!more-fragments" set firewall family inet filter fragment-RE term not-fragmented-term from protocol tcp set firewall family inet filter fragment-RE term not-fragmented-term from destination-port bgp set firewall family inet filter fragment-RE term not-fragmented-term then accept set firewall family inet filter fragment-RE term first-fragment-term from first-fragment set firewall family inet filter fragment-RE term first-fragment-term from protocol tcp set firewall family inet filter fragment-RE term first-fragment-term from destination-port bgp set firewall family inet filter fragment-RE term first-fragment-term then accept set firewall family inet filter fragment-RE term fragment-term from fragment-offset 6-8191 set firewall family inet filter fragment-RE term fragment-term then accept
程序
分步过程
下面的示例要求您在各个配置层级中进行导航。有关如何执行此操作的说明,请参阅 在配置模式下使用 CLI 编辑器Junos OS CLI 用户指南。
要配置无状态防火墙过滤器,请执行以下操作:
定义无状态防火墙过滤器。
[edit] user@host# edit firewall family inet filter fragment-RE
配置过滤器的第一个术语。
[edit firewall family inet filter fragment-RE ] user@host# set term not-from-prefix-term from source-address 0.0.0.0/0 user@host# set term not-from-prefix-term from source-address 10.2.1.0/24 except user@host# set term not-from-prefix-term then discard
定义过滤器的第二个术语。
[edit firewall family inet filter fragment-RE] user@host# edit term small-offset-term
定义术语的匹配条件。
[edit firewall family inet filter fragment-RE term small-offset-term] user@host# set from fragment-offset 1-5
定义术语的操作。
[edit firewall family inet filter fragment-RE term small-offset-term] user@host# set then syslog discard
定义过滤器的第三个项。
[edit] user@host# edit firewall family inet filter fragment-RE term not-fragmented-term
定义术语的匹配条件。
[edit firewall family inet filter fragment-RE term not-fragmented-term] user@host# set from fragment-flags "!more-fragments" fragment-offset 0 protocol tcp destination-port bgp
定义术语的操作。
[edit firewall family inet filter fragment-RE term not-fragmented-term] user@host# set then accept
定义过滤器的第四个项。
[edit] user@host# edit firewall family inet filter fragment-RE term first-fragment-term
定义术语的匹配条件。
[edit firewall family inet filter fragment-RE term first-fragment-term] user@host# set from first-fragment protocol tcp destination-port bgp
定义术语的操作。
[edit firewall family inet filter fragment-RE term first-fragment-term] user@host# set then accept
定义过滤器的最后一个术语。
[edit] user@host# edit firewall family inet filter fragment-RE term fragment-term
定义术语的匹配条件。
[edit firewall family inet filter fragment-RE term fragment-term] user@host# set from fragment-offset 6–8191
定义术语的操作。
[edit firewall family inet filter fragment-RE term fragment-term] user@host# set then accept
结果
通过从配置模式输入 show firewall
命令来确认您的配置。如果输出未显示预期的配置,请重复此示例中的说明,以便进行更正。
user@host# show firewall family inet { filter fragment-RE { term not-from-prefix-term { from { source-address { 0.0.0.0/0; 10.2.1.0/24 except; } } then discard; } term small-offset-term { from { fragment-offset 1-5; } then { syslog; discard; } } term not-fragmented-term { from { fragment-offset 0; fragment-flags "!more-fragments"; protocol tcp; destination-port bgp; } then accept; } term first-fragment-term { from { first-fragment; protocol tcp; destination-port bgp; } then accept; } term fragment-term { from { fragment-offset 6-8191; } then accept; } } }
如果完成设备配置,请从配置模式输入 commit
。
验证
要确认配置工作正常,请执行以下任务:
显示无状态防火墙过滤器配置
目的
验证防火墙过滤器的配置。您可以通过显示整个配置来分析筛选术语的流。
操作
从配置模式,输入 show firewall
命令。
意义
验证输出是否显示防火墙过滤器的预期配置。此外,请验证术语是否按您希望测试数据包的顺序列出。您可以使用 CLI 命令在 insert
防火墙过滤器内移动术语。