示例:配置无状态防火墙过滤器以保护逻辑系统免受 ICMP 泛滥的影响
此示例说明如何配置无状态防火墙过滤器,以防止逻辑系统上的 ICMP 拒绝服务攻击。
要求
在此示例中,不需要除设备初始化之外的特殊配置。
概述
此示例显示了名为 protect-RE 的无状态防火墙过滤器,用于监管 ICMP 数据包。将 icmp-policer
ICMP 数据包的流量速率限制为 1,000,000 bps,将突发大小限制为 15,000 字节。超过流量速率的数据包将被丢弃。
监管器被并入称为 icmp-term
的滤波器项的作用中。
在此示例中,ping 从直接连接的物理路由器发送到逻辑系统上配置的接口。如果以高达 1 Mbps(带宽限制)的速率接收 ICMP 数据包,则逻辑系统将接受这些数据包。当超过此速率时,逻辑系统将丢弃所有 ICMP 数据包。该 burst-size-limit
语句接受高达 15 Kbps 的流量突发。如果突发超过此限制,则会丢弃所有数据包。当流速下降时,ICMP 数据包再次被接受。
配置
CLI 快速配置
要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改与您的网络配置匹配所需的任何详细信息,然后将命令复制并粘贴到层次结构级别的 CLI [edit]
中。
set logical-systems LS1 interfaces so-0/0/2 unit 0 family inet policer input icmp-policer set logical-systems LS1 interfaces so-0/0/2 unit 0 family inet address 10.0.45.2/30 set logical-systems LS1 firewall family inet filter protect-RE term icmp-term from protocol icmp set logical-systems LS1 firewall family inet filter protect-RE term icmp-term then policer icmp-policer set logical-systems LS1 firewall family inet filter protect-RE term icmp-term then accept set logical-systems LS1 firewall policer icmp-policer if-exceeding bandwidth-limit 1m set logical-systems LS1 firewall policer icmp-policer if-exceeding burst-size-limit 15k set logical-systems LS1 firewall policer icmp-policer then discard
程序
分步过程
下面的示例要求您在各个配置层级中进行导航。有关导航 CLI 的信息,请参阅 CLI 用户指南中的在配置模式下使用 CLI 编辑器。
要在逻辑系统上配置 ICMP 防火墙过滤器:
在逻辑系统上配置接口。
[edit] user@host# set logical-systems LS1 interfaces so-0/0/2 unit 0 family inet address 10.0.45.2/30
显式启用要在接口上接收的 ICMP 数据包。
[edit] user@host# set logical-systems LS1 firewall family inet filter protect-RE term icmp-term from protocol icmp user@host# set logical-systems LS1 firewall family inet filter protect-RE term icmp-term then accept
创建监管器。
[edit] user@host# set logical-systems LS1 firewall policer icmp-policer if-exceeding bandwidth-limit 1m user@host# set logical-systems LS1 firewall policer icmp-policer if-exceeding burst-size-limit 15k user@host# set logical-systems LS1 firewall policer icmp-policer then discard
将监管器应用于过滤器术语。
[edit] user@host# set logical-systems LS1 firewall family inet filter protect-RE term icmp-term then policer icmp-policer
将监管器应用于逻辑系统接口。
[edit] user@host# set logical-systems LS1 interfaces so-0/0/2 unit 0 family inet policer input icmp-policer
如果完成设备配置,请提交配置。
[edit] user@host# commit
结果
通过发出 show logical-systems LS1
命令确认您的配置。
user@host# show logical-systems LS1 interfaces { so-0/0/2 { unit 0 { family inet { policer { input icmp-policer; } address 10.0.45.2/30; } } } } firewall { family inet { filter protect-RE { term icmp-term { from { protocol icmp; } then { policer icmp-policer; accept; } } } } policer icmp-policer { if-exceeding { bandwidth-limit 1m; burst-size-limit 15k; } then discard; } }
验证
确认配置工作正常。
验证 ping 是否有效,除非超出限制
目的
确保逻辑系统接口受到保护,免受基于 ICMP 的 DoS 攻击。
操作
登录到已连接到逻辑系统的系统并运行 ping
命令。
user@R2> ping 10.0.45.2 PING 10.0.45.2 (10.0.45.2): 56 data bytes 64 bytes from 10.0.45.2: icmp_seq=0 ttl=64 time=1.316 ms 64 bytes from 10.0.45.2: icmp_seq=1 ttl=64 time=1.277 ms 64 bytes from 10.0.45.2: icmp_seq=2 ttl=64 time=1.269 ms
user@R2> ping 10.0.45.2 size 20000 PING 10.0.45.2 (10.0.45.2): 20000 data bytes ^C --- 10.0.45.2 ping statistics --- 4 packets transmitted, 0 packets received, 100% packet loss
意义
当您发送正常的 ping 时,数据包将被接受。当您发送超过过滤器限制的 ping 数据包时,该数据包将被丢弃。