示例:为防火墙过滤器术语配置日志记录
此示例说明如何配置防火墙过滤器以记录数据包标头。
要求
配置此示例之前,不需要除设备初始化之外的特殊配置。
概述
在此示例中,您使用防火墙过滤器来记录和计数作为 192.168.207.222
其源或目标的 ICMP 数据包。
配置
下面的示例要求您在各个配置层级中进行导航。有关导航 CLI 的信息,请参见 在配置模式下使用 CLI 编辑器。
要配置此示例,请执行以下操作:
CLI 快速配置
要快速配置此示例,请将以下配置命令复制到文本文件中,删除所有换行符,然后将命令粘贴到层次结构级别的 CLI [edit]
中。
set system syslog file messages_firewall_any firewall any set system syslog file messages_firewall_any archive no-world-readable set firewall family inet filter icmp_syslog term icmp_match from address 192.168.207.222/32 set firewall family inet filter icmp_syslog term icmp_match from protocol icmp set firewall family inet filter icmp_syslog term icmp_match then count packets set firewall family inet filter icmp_syslog term icmp_match then syslog set firewall family inet filter icmp_syslog term icmp_match then accept set firewall family inet filter icmp_syslog term default_term then accept set interfaces ge-0/0/1 unit 0 family inet address 10.1.2.3/30 set interfaces ge-0/0/1 unit 0 family inet filter input icmp_syslog
为防火墙设施配置 syslog 消息文件
分步过程
要为 firewall
设施配置系统日志消息文件:
为设施生成
firewall
的所有系统日志消息配置消息文件。user@host# set system syslog file messages_firewall_any firewall any
将对存档
firewall
设施系统日志文件的权限限制为 root 用户和具有 Junos OS 维护权限的用户。user@host# set system syslog file messages_firewall_any archive no-world-readable
配置防火墙过滤器
分步过程
要配置防火墙过滤器 icmp_syslog
以记录和计数作为 192.168.207.222
其源或目标的 ICMP 数据包,请执行以下操作:
创建防火墙过滤器
icmp_syslog
。[edit] user@host# edit firewall family inet filter icmp_syslog
在 ICMP 协议和地址上配置匹配。
[edit firewall family inet filter icmp_syslog] user@host# set term icmp_match from address 192.168.207.222/32 user@host# set term icmp_match from protocol icmp
计数、记录并接受匹配的数据包。
[edit firewall family inet filter icmp_syslog] user@host# set term icmp_match then count packets user@host# set term icmp_match then syslog user@host# set term icmp_match then accept
接受所有其他数据包。
[edit firewall family inet filter icmp_syslog] user@host# set term default_term then accept
将防火墙过滤器应用于逻辑接口
分步过程
要将防火墙过滤器应用于逻辑接口:
配置要应用防火墙过滤器的逻辑接口。
[edit] user@host# edit interfaces ge-0/0/1 unit 0 family inet
配置逻辑接口的接口地址。
[edit interfaces ge-0/0/1 unit 0 family inet] user@host# set address 10.1.2.3/30
将防火墙过滤器应用于逻辑接口。
[edit interfaces ge-0/0/1 unit 0 family inet] user@host# set filter input icmp_syslog
确认并提交候选配置
分步过程
要确认并提交候选配置,请执行以下操作:
通过输入
show system
配置模式命令确认设施的系统firewall
日志消息文件的配置。如果命令输出未显示预期的配置,请重复此示例中的说明以更正配置。[edit] user@host# show system syslog { file messages_firewall_any { firewall any; archive no-world-readable; } }
通过输入
show firewall
配置模式命令确认防火墙过滤器的配置。如果命令输出未显示预期的配置,请重复此示例中的说明以更正配置。[edit] user@host# show firewall family inet { filter icmp_syslog { term icmp_match { from { address { 192.168.207.222/32; } protocol icmp; } then { count packets; syslog; accept; } } term default_term { then accept; } } }
通过输入
show interfaces
配置模式命令确认接口的配置。如果命令输出未显示预期的配置,请重复此示例中的说明以更正配置。[edit] user@host# show interfaces ge-0/0/1 { unit 0 { family inet { filter { input icmp_syslog; } address 10.1.2.3/30; } } }
如果完成设备配置,请提交候选配置。
[edit] user@host# commit
验证
要确认配置工作正常,请输入 show log filter
以下命令:
user@host> show log messages_firewall_any Mar 20 08:03:11 hostname feb FW: so-0/1/0.0 A icmp 192.168.207.222 192.168.207.223 0 0 (1 packets)
此输出文件包含以下字段:
Date and Time
—接收数据包的日期和时间(未在默认值中显示)。过滤器操作:
A
- 接受(或下一个学期)D
- 丢弃R
—拒绝
Protocol
—数据包的协议名称或编号。Source address
— 数据包中的源 IP 地址。Destination address
—数据包中的目标 IP 地址。注:如果协议为 ICMP,则显示 ICMP 类型和代码。对于所有其他协议,将显示源端口和目标端口。
最后两个字段(均为零)分别是源和目标 TCP/UDP 端口,仅针对 TCP 或 UDP 数据包显示。此日志消息指示在大约 1 秒的间隔内仅检测到此匹配项的一个数据包。如果数据包到达速度更快,系统日志功能将压缩信息,以便生成较少的输出,并显示类似于以下内容的输出:
user@host> show log messages_firewall_any Mar 20 08:08:45 hostname feb FW: so-0/1/0.0 A icmp 192.168.207.222 192.168.207.223 0 0 (515 packets)