我的路由器广播(发送至 224.0.0.1)某物每四十秒。联邦水务局在 syslog 中存储日志条目:
1 月 5 日 03:49:02 日志内核:[1184.788900] [UFW BLOCK] IN=eth0 OUT=MAC=01:00:5e:00:00:01:40:5a:9b:5c:9c:fd:08:00 SRC=192.168.1.1 DST=224.0.0.1 LEN=32 TOS=0x00 PREC=0x80 TTL=1 ID=0 DF PROTO=2
我即将设置一个系统日志服务器,它将收集来自网络 50 台机器的消息。每四十秒就有 50 条消息污染系统日志,这让我很烦恼,而且不幸的是路由器本身无法配置。
有没有办法可以防止记录那些特定消息(按源和目标过滤),同时仍然记录被防火墙阻止的其他条目?
答案1
是的。
对于 rsyslog,您可以使用如下过滤器:
:msg,包含“MAC=01:00:5e:00:00:01:40:5a:9b:5c:9c:fd:08:00 SRC=192.168.1.1 D ST=224.0.0.1”~
如果你把它前其他配置规则,它将阻止记录消息。您可以查看配置文件的完整示例这里。
请注意文本“必须完全匹配,不支持通配符。”
对于 syslog-ng,使用过滤器的一些变化,在您的过滤器中使用
not message('someregex')
。
答案2
您不应该禁用日志记录,因为这只能解决症状,而应该调查防火墙触发的原因。就您而言,您的路由器正在发送 IGMP 数据包,而这些数据包对于 IPv4 多播工作必不可少(即使您的网络中没有任何多播路由,如果您有任何监听交换机,防火墙 IGMP 也会破坏链路本地多播)。
请检查您是否正在运行任何依赖于 IPv4 多播的应用程序,并考虑允许协议 2 通过您的防火墙。
答案3
您还可以在 ufw 中设置规则来删除这些消息,例如sudo ufw reject from any to 224.0.0.1
,或者更有可能的是,如果您已经有一组规则,您可以将其插入sudo ufw insert [rule no.] reject from any to 224.0.0.1
。