示例:配置无状态防火墙过滤器以接受来自可靠来源的流量
此示例演示如何创建无状态防火墙过滤器,以防止来自不受信任来源的信息流路由引擎。
要求
在配置无状态防火墙过滤器之前,不需要进行设备初始化以外的特殊配置。
概述
在此示例中,您将创建称为保护 RE 的无状态防火墙过滤器,丢弃发往路由引擎(SSH)的所有流量,并 BGP 来自指定可靠来源的协议数据包。此示例包括以下防火墙过滤器术语:
ssh-term—接受源地址为的192.168.122.0/24 TCP 数据包和用于指定 SSH 的目标端口。
bgp-term—接受源地址为的10.2.1.0/24 TCP 数据包和用于指定 BGP 的目标端口。
discard-rest-term—对于ssh-term或bgp-term未接受的所有数据包,创建防火墙过滤器日志和系统日志记录,然后丢弃所有数据包。
配置
CLI 快速配置
要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除任何换行符,更改与网络配置匹配的必要详细信息,然后将命令复制并粘贴到[edit]层次结构级别的 CLI 中。
分步过程
下面的示例要求您在配置层次结构中导航各个级别。有关如何执行此操作的说明,请参阅中的CLI 用户指南在配置模式中使用 CLI 编辑器。
要配置无状态防火墙过滤器:
创建无状态防火墙过滤器。
[edit]user@host# edit firewall family inet filter protect-RE创建第一个过滤器术语。
[edit firewall family inet filter protect-RE]user@host# edit term ssh-term定义术语的协议、目标端口和源地址匹配条件。
[edit firewall family inet filter protect-RE term ssh-term]user@host# set from protocol tcp destination-port ssh source-address 192.168.122.0/24定义术语的操作。
[edit firewall family inet filter protect-RE term ssh-term]user@host# set then accept创建第二个过滤器术语。
[edit firewall family inet filter protect-RE]user@host# edit term bgp-term定义术语的协议、目标端口和源地址匹配条件。
[edit firewall family inet filter protect-RE term bgp-term]user@host# set from protocol tcp destination-port bgp source-address 10.2.1.0/24定义术语的操作。
[edit firewall family inet filter protect-RE term bgp-term]user@host# set then accept创建第三个过滤器术语。
[edit firewall family inet filter protect-RE]user@host# edit term discard-rest-term定义术语的操作。
[edit firewall family inet filter protect-RE term discard-rest]user@host# set then log syslog discard将过滤器应用于路由引擎接口的输入侧。
[edit]user@host# set interfaces lo0 unit 0 family inet filter input protect-RE
结果
从配置模式输入show firewall命令和show interfaces lo0命令,以确认您的配置。如果输出未显示预期的配置,请重复此示例中的说明以更正配置。
如果您完成了设备配置,请从commit配置模式进入。
针对
要确认配置是否正常运行,请执行以下任务:
显示无状态防火墙过滤器配置
用途
验证防火墙过滤器的配置。
操作
从配置模式中输入show firewall命令和show interfaces lo0命令。
含义
验证输出是否显示了防火墙过滤器的预期配置。此外,验证是否按您希望测试数据包的顺序列出了这些条款。您可以使用insert CLI 命令在防火墙过滤器内移动术语。
验证服务、协议和可靠来源防火墙过滤器
用途
验证是否获取了防火墙过滤器术语的操作。
操作
将数据包发送至与条款匹配的设备。此外,验证过滤器操作是否 无法对不匹配的数据包执行。
使用与ssh host-name IP 地址匹配192.168.122.0/24的主机上的命令,以验证您只能使用具有此地址前缀的主机中的 SSH 来登录设备。
show route summary使用命令确认设备上的路由表中未包含Direct、 LocalBGP、或Static等协议的任何条目。
示例输出
% ssh 192.168.249.71
%ssh host user@host's password: --- JUNOS 6.4-20040518.0 (JSERIES) #0: 2004-05-18 09:27:50 UTC user@host>
user@host> show route summary
Router ID: 192.168.249.71 inet.0: 34 destinations, 34 routes (33 active, 0 holddown, 1 hidden) Direct: 10 routes, 9 active Local: 9 routes, 9 active BGP: 10 routes, 10 active Static: 5 routes, 5 active ...
含义
验证以下信息:
您可以使用 SSH 成功登录设备。
此show route summary命令不会Direct显示、 LocalBGP、或Static的其他协议。
显示无状态防火墙过滤器日志
用途
验证是否记录了数据包。如果在术语中log包括syslog或操作,请验证与此术语匹配的数据包是否记录在防火墙日志或系统日志记录设备中。
操作
在操作模式下,输入show firewall log命令。
示例输出
user@host> show firewall log
Log : Time Filter Action Interface Protocol Src Addr Dest Addr 15:11:02 pfe D ge-0/0/0.0 TCP 172.17.28.19 192.168.70.71 15:11:01 pfe D ge-0/0/0.0 TCP 172.17.28.19 192.168.70.71 15:11:01 pfe D ge-0/0/0.0 TCP 172.17.28.19 192.168.70.71 15:11:01 pfe D ge-0/0/0.0 TCP 172.17.28.19 192.168.70.71 ...
含义
输出的每条记录都包含有关已记录数据包的信息。验证以下信息:
在Time"" 下,显示过滤该数据包的时间。
Filter输出始终pfe为。
在Action下,术语的配置操作与数据包—A 上执行的操作( D accept)、(放弃) R 、(拒绝)相匹配。
在Interface"" 下,接收数据包的入站(入口)接口适合过滤器。
在Protocol"" 下,数据包的 IP 标头中的协议适用于过滤器。
在Src Addr"" 下,数据包的 IP 标头中的源地址适用于过滤器。
在Dest Addr"" 下,数据包的 IP 标头中的目标地址适合过滤器。