示例:在接口组上配置无状态防火墙过滤器
防火墙过滤器对于保护网络和简化网络管理至关重要。在 Junos OS 中,您可以配置无状态防火墙过滤器来控制数据包在系统中的传输,并根据需要操作数据包。将无状态防火墙过滤器应用于接口组有助于过滤通过接口组中每个接口传输的数据包。此示例说明如何配置标准无状态防火墙过滤器,以匹配为特定接口组标记的数据包。
要求
此示例使用以下硬件和软件组件:
通过属于路由实例的接口物理或逻辑相互连接的任意两个瞻博网络路由器或交换机
Junos OS 7.4 或更高版本
概述
您可以将无状态防火墙过滤器应用于接口组,以将其应用于接口组中的所有接口。这有助于您同时管理各种接口上的数据包过滤。
在此示例中,您将两个路由器或交换机接口配置为属于接口组。您还可以使用三个术语配置无状态防火墙过滤器。术语 term1
,过滤器匹配该接口组 上已标记为已接收并包含 ICMP 协议标记的数据包。过滤器对符合条件的数据包进行计数、记录和拒绝。在术语 term2
中,过滤器匹配包含 ICMP 协议标记的数据包。过滤器对条件匹配的所有数据包进行计数、记录和接受。在术语 term3
中,过滤器计算所有的传输数据包。
通过将防火墙过滤器应用于路由实例,您可以同时对接口组中的所有接口应用过滤机制。为此,接口组中的所有接口都必须属于单个路由实例。
将防火墙过滤器应用于环路接口时,该接口将过滤发往路由引擎的所有数据包。
CLI 快速配置显示了 中 图 1所有设备的配置。分步过程部分介绍了设备 R1 上的步骤。
配置
CLI 快速配置
要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以便与网络配置匹配,将命令复制并粘贴到 [edit]
层级的 CLI 中,然后从配置模式进入 commit
。
设备 R0
set interfaces ge-0/0/0 unit 0 family inet address 172.16.17.1/30 set interfaces ge-0/0/1 unit 0 family inet address 172.16.19.1/30 set interfaces ge-0/0/2 unit 0 family inet address 20.1.1.1/30 set interfaces lo0 unit 0 family inet address 10.0.0.1/32
设备 R1
set firewall family inet filter filter_if_group term term1 from interface-group 1 set firewall family inet filter filter_if_group term term1 from protocol icmp set firewall family inet filter filter_if_group term term1 then count if_group_counter1 set firewall family inet filter filter_if_group term term1 then log set firewall family inet filter filter_if_group term term1 then reject set firewall family inet filter filter_if_group term term2 from protocol icmp set firewall family inet filter filter_if_group term term2 then count if_group_counter2 set firewall family inet filter filter_if_group term term2 then log set firewall family inet filter filter_if_group term term2 then accept set firewall family inet filter filter_if_group term term3 then count default set interfaces ge-0/0/0 unit 0 family inet filter group 1 set interfaces ge-0/0/0 unit 0 family inet address 172.16.17.2/30 set interfaces ge-0/0/1 unit 0 family inet address 172.16.19.2/30 set interfaces ge-0/0/2 unit 0 family inet filter group 1 set interfaces ge-0/0/2 unit 0 family inet address 20.1.1.2/30 set interfaces lo0 unit 0 family inet address 20.0.0.1/32 set forwarding-options family inet filter input filter_if_group
在接口组上配置和应用无状态防火墙过滤器
分步过程
下面的示例要求您在各个配置层级中进行导航。有关导航 CLI 的信息,请参阅 在配置模式下使用 CLI 编辑器CLI 用户指南。
要在接口组上配置无状态防火墙过滤器 filter_if_group
,请执行以下操作:
创建无状态防火墙过滤器
filter_if_group
。[edit firewall] user@R1# edit family inet filter filter_if_group
配置接口并将两个接口分配给接口组
1
。[edit interfaces] user@R1# set ge-0/0/0 unit 0 family inet filter group 1 user@R1# set ge-0/0/0 unit 0 family inet address 172.16.17.2/30 user@R1# set ge 0/0/1 unit 0 family inet address 172.16.19.2/30 user@R1# set ge-0/0/2 unit 0 family inet filter group 1 user@R1# set ge-0/0/2 unit 0 family inet address 20.1.1.2/30 user@R1# set lo0 unit 0 family inet address 20.0.0.1/32
配置术语
term1
以匹配接口组1
上接收的数据包并与 ICMP 协议匹配。[edit firewall] user@R1# set family inet filter filter_if_group term term1 from interface-group 1 user@R1# set family inet filter filter_if_group term term1 from protocol icmp
配置术语
term1
以计数、记录和拒绝所有匹配的数据包。[edit firewall] user@R1# set family inet filter filter_if_group term term1 then count if_group_counter1 user@R1# set family inet filter filter_if_group term term1 then log user@R1# set family inet filter filter_if_group term term1 then reject
配置术语
term2
以将数据包与 ICMP 协议匹配。[edit firewall] user@R1# set family inet filter filter_if_group term term2 from protocol icmp
配置术语
term2
以计数、记录和接受所有匹配的数据包。[edit firewall] user@R1# set family inet filter filter_if_group term term2 then count if_group_counter2 user@R1# set family inet filter filter_if_group term term2 then log user@R1# set family inet filter filter_if_group term term2 then accept
配置期限
term3
以计算所有传输数据包。[edit firewall] user@R1# set family inet filter filter_if_group term term3 then count default
通过将防火墙过滤器应用于路由实例,将其应用于路由器(或交换机)的接口组。
[edit] user@R1# set forwarding-options family inet filter input filter_if_group
如果完成设备配置,请提交候选配置。
[edit] user@host# commit
结果
在配置模式下,通过发出 show interfaces
、 show firewall
和 show forwarding-options
命令来确认您的配置。如果输出未显示预期的配置,请重复此示例中的说明,以便进行更正。
[edit] user@R1# show interfaces ge-0/0/0 { unit 0 { family inet { filter { group 1; } address 172.16.17.2/30; } } } ge-0/0/1 { unit 0 { family inet { address 172.16.19.2/30; } } } ge-0/0/2 { unit 0 { family inet { filter { group 1; } address 20.1.1.2/30; } } } lo0 { unit 0 { family inet { address 20.0.0.1/32; } } }
[edit] user@R1# show firewall family inet { filter filter_if_group { term term1 { from { interface-group 1; protocol icmp; } then { count if_group_counter1; log; reject; } } term term2 { from { protocol icmp; } then { count if_group_counter2; log; accept; } } term term3 { then count default; } } }
[edit] user@R1# show forwarding-options family inet { filter { input filter_if_group; } }
验证
确认配置工作正常。
验证接口的配置
目的
验证接口配置是否正确。
操作
要显示接口的状态, show interfaces terse
请使用操作模式命令。
设备 R0
user@R0> show interfaces terse Interface Admin Link Proto Local Remote ge-0/0/0 up up ge-0/0/0.0 up up inet 172.16.17.1/30 multiservice ge-0/0/1 up up ge-0/0/1.0 up up inet 172.16.19.1/30 multiservice ge-0/0/2 up up ge-0/0/2.0 up up inet 20.1.1.1/30 multiservice lo0 up up lo0.0 up up inet 10.0.0.1 --> 0/0
设备 R1
user@R1> show interfaces terse Interface Admin Link Proto Local Remote ge-0/0/0 up up ge-0/0/0.0 up up inet 172.16.17.2/30 multiservice ... ge-0/0/1 up up ge-0/0/1.0 up up inet 172.16.19.2/30 multiservice ge-0/0/2 up up ge-0/0/2.0 up up inet 20.1.1.2/30 multiservice ...
意义
设备 R0 和 R1 上的所有接口均已物理连接且已连接。设备 R1 上的接口组 1
由两个接口组成,即 ge-0/0/0.0 和 ge-0/0/2.0。
验证无状态防火墙过滤器配置
目的
验证是否正确配置了防火墙过滤器匹配条件。
操作
要显示防火墙过滤器计数器,请输入
show firewall filter filter_if_group
操作模式命令。user@R1> show firewall filter filter_if_group Filter: filter_if_group Counters: Name Bytes Packets default 192975 3396 if_group_counter1 2520 30 if_group_counter2 2604 41
要显示防火墙过滤器评估的数据包的数据包标头的本地日志,请输入
show firewall log
操作模式命令。user@R1> show firewall log Log : Time Filter Action Interface Protocol Src Addr Dest Addr 22:27:33 pfe A lo0.0 ICMP 20.1.1.2 20.1.1.1 22:27:33 pfe R ge-0/0/2.0 ICMP 20.1.1.1 20.1.1.2 22:27:32 pfe A lo0.0 ICMP 20.1.1.2 20.1.1.1 22:27:32 pfe R ge-0/0/2.0 ICMP 20.1.1.1 20.1.1.2 22:27:31 pfe A lo0.0 ICMP 20.1.1.2 20.1.1.1 22:27:31 pfe R ge-0/0/2.0 ICMP 20.1.1.1 20.1.1.2 22:27:30 pfe A lo0.0 ICMP 20.1.1.2 20.1.1.1 22:27:30 pfe R ge-0/0/2.0 ICMP 20.1.1.1 20.1.1.2 22:27:29 pfe A lo0.0 ICMP 20.1.1.2 20.1.1.1 22:27:29 pfe A lo0.0 ICMP 20.1.1.2 20.1.1.1 22:27:29 pfe R ge-0/0/2.0 ICMP 20.1.1.1 20.1.1.2 22:27:21 pfe A ge-0/0/1.0 ICMP 172.16.19.1 172.16.19.2 22:27:20 pfe A ge-0/0/1.0 ICMP 172.16.19.1 172.16.19.2 22:27:19 pfe A ge-0/0/1.0 ICMP 172.16.19.1 172.16.19.2 22:27:18 pfe A ge-0/0/1.0 ICMP 172.16.19.1 172.16.19.2 22:27:04 pfe A lo0.0 ICMP 172.16.17.2 172.16.17.1 22:27:04 pfe R ge-0/0/0.0 ICMP 172.16.17.1 172.16.17.2 22:27:04 pfe A lo0.0 ICMP 172.16.17.2 172.16.17.1 22:27:04 pfe R ge-0/0/0.0 ICMP 172.16.17.1 172.16.17.2 22:27:02 pfe A lo0.0 ICMP 172.16.17.2 172.16.17.1 22:27:02 pfe R ge-0/0/0.0 ICMP 172.16.17.1 172.16.17.2 22:27:01 pfe A lo0.0 ICMP 172.16.17.2 172.16.17.1 22:27:01 pfe R ge-0/0/0.0 ICMP 172.16.17.1 172.16.17.2 22:27:00 pfe A lo0.0 ICMP 172.16.17.2 172.16.17.1 22:27:00 pfe R ge-0/0/0.0 ICMP 172.16.17.1 172.16.17.2 22:24:48 filter_if_group A fxp0.0 ICMP 10.92.16.2 10.92.26.176
要确保防火墙过滤器在设备 R1 上的接口组
1
上处于活动状态,请在ping <address>
设备 R0 的 CLI 上使用操作模式命令。user@R0> ping 172.16.17.2 PING 172.16.17.2 (172.16.17.2): 56 data bytes 36 bytes from 172.16.17.2: Communication prohibited by filter Vr HL TOS Len ID Flg off TTL Pro cks Src Dst 4 5 00 0054 f46b 0 0000 40 01 6239 172.16.17.1 172.16.17.2 36 bytes from 172.16.17.2: Communication prohibited by filter Vr HL TOS Len ID Flg off TTL Pro cks Src Dst 4 5 00 0054 f479 0 0000 40 01 622b 172.16.17.1 172.16.17.2 36 bytes from 172.16.17.2: Communication prohibited by filter Vr HL TOS Len ID Flg off TTL Pro cks Src Dst 4 5 00 0054 f487 0 0000 40 01 621d 172.16.17.1 172.16.17.2
user@R0> ping 20.1.1.2 PING 20.1.1.2 (20.1.1.2): 56 data bytes 36 bytes from 20.1.1.2: Communication prohibited by filter Vr HL TOS Len ID Flg off TTL Pro cks Src Dst 4 5 00 0054 f5bd 0 0000 40 01 5ae7 20.1.1.1 20.1.1.2 36 bytes from 20.1.1.2: Communication prohibited by filter Vr HL TOS Len ID Flg off TTL Pro cks Src Dst 4 5 00 0054 f5cd 0 0000 40 01 5ad7 20.1.1.1 20.1.1.2 36 bytes from 20.1.1.2: Communication prohibited by filter Vr HL TOS Len ID Flg off TTL Pro cks Src Dst 4 5 00 0054 f5d9 0 0000 40 01 5acb 20.1.1.1 20.1.1.2 36 bytes from 20.1.1.2: Communication prohibited by filter Vr HL TOS Len ID Flg off TTL Pro cks Src Dst 4 5 00 0054 f5f6 0 0000 40 01 5aae 20.1.1.1 20.1.1.2
要确保防火墙过滤器未应用于不在接口组中
1
的ping <address>
接口,请在设备 R0 的 CLI 上使用操作模式命令。user@R0> ping 172.16.19.2 PING 172.16.19.2 (172.16.19.2): 56 data bytes 64 bytes from 172.16.19.2: icmp_seq=0 ttl=64 time=8.689 ms 64 bytes from 172.16.19.2: icmp_seq=1 ttl=64 time=4.076 ms 64 bytes from 172.16.19.2: icmp_seq=2 ttl=64 time=8.501 ms 64 bytes from 172.16.19.2: icmp_seq=3 ttl=64 time=3.954 ms ...
意义
无状态防火墙过滤器将应用于接口组 1
中的所有接口。无状态防火墙过滤器中的术语 term1
匹配条件对接口 1
组中的接口以及源 ICMP 协议接收或发送的数据包进行计数、记录和拒绝。术语 term2
匹配条件匹配使用 ICMP 协议标记的数据包,并对这些数据包进行计数、记录和接受。术语 term3
匹配条件对所有传输数据包进行计数。