示例:配置过滤器以阻止 TFTP 访问
要求
配置此示例之前,不需要除设备初始化之外的特殊配置。
概述
默认情况下,为了减少遭受拒绝服务 (DoS) 攻击的漏洞,Junos OS 会过滤并丢弃源地址为 0.0.0.0、目标地址为 255.255.255.255 的动态主机配置协议 (DHCP) 或引导协议 (BOOTP) 数据包。此默认过滤器称为单播 RPF 检查。但是,某些供应商的设备会自动接受这些数据包。
拓扑学
要与其他供应商的设备进行互操作,您可以配置一个过滤器来检查这两个地址,并通过接受这些数据包来覆盖默认的 RPF 检查过滤器。在此示例中,您将阻止简单文件传输协议 (TFTP) 访问,并记录建立 TFTP 连接的任何尝试。
配置
下面的示例要求您在各个配置层级中进行导航。有关导航 CLI 的信息,请参见 在配置模式下使用 CLI 编辑器。
要配置此示例,请执行以下操作:
CLI 快速配置
要快速配置此示例,请将以下配置命令复制到文本文件中,删除所有换行符,然后将命令粘贴到层次结构级别的 CLI [edit]
中。
set firewall family inet filter tftp_access_control term one from protocol udp set firewall family inet filter tftp_access_control term one from port tftp set firewall family inet filter tftp_access_control term one then log set firewall family inet filter tftp_access_control term one then discard set interfaces lo0 unit 0 family inet filter input tftp_access_control set interfaces lo0 unit 0 family inet address 127.0.0.1/32
配置无状态防火墙过滤器
分步过程
要配置有选择地阻止 TFTP 访问的无状态防火墙过滤器,请执行以下操作:
创建无状态防火墙过滤器
tftp_access_control
。[edit] user@host# edit firewall family inet filter tftp_access_control
指定在 UDP 端口 69 上接收的数据包的匹配项。
[edit firewall family inet filter tftp_access_control] user@host# set term one from protocol udp user@host# set term one from port tftp
指定将匹配的数据包记录到数据包转发引擎上的缓冲区,然后丢弃。
[edit firewall family inet filter tftp_access_control] user@host# set term one then log user@host# set term one then discard
将防火墙过滤器应用于环路接口
分步过程
要将防火墙过滤器应用于环路接口,请执行以下操作:
[edit] user@host# set interfaces lo0 unit 0 family inet filter input tftp_access_control user@host# set interfaces lo0 unit 0 family inet address 127.0.0.1/32
确认并提交候选配置
分步过程
要确认并提交候选配置,请执行以下操作:
通过输入
show firewall
配置模式命令确认无状态防火墙过滤器的配置。如果命令输出未显示预期的配置,请重复此示例中的说明以更正配置。[edit] user@host# show firewall family inet { filter tftp_access_control { term one { from { protocol udp; port tftp; } then { log; discard; } } } }
通过输入
show interfaces
配置模式命令确认接口的配置。如果命令输出未显示预期的配置,请重复此示例中的说明以更正配置。[edit] user@host# show interfaces lo0 { unit 0 { family inet { filter { input tftp_access_control; } address 127.0.0.1/32; } } }
如果完成设备配置,请提交候选配置。
[edit] user@host# commit