可以在FirewallD中启用日志记录


Answers:


7

根据此页面,FirewallD日志位于/var/log/firewalld。要获取调试消息,您需要使用--debug或运行它--debug=2


12

我知道这是一个过时的帖子,但是今天我一直在搜索此帖子,并且发现了许多试图解决此问题的旧博客。对于公众而言,Red Hat的此更新应该比仅订户更具可用性:

从勘误表RHSA-2016:2597升级到firewalld-0.4.3.2-8.el7

指定应记录的数据包

firewall-cmd --set-log-denied=<value>

值可以是以下之一:全部,单播,广播,多播或关闭

资料来源:https : //access.redhat.com/solutions/1191593


3
也可以在/etc/firewalld/firewalld.conf
Stuart Cardall '18

5

为了记录被阻止的流量firewalld,以下方法rsyslogd适用于我:

编辑/etc/sysconfig/firewalld和用于更新该值LogDeniedall(或根据需要)

LogDenied=all

重新启动firewalld

sudo systemctl restart firewalld

通常,这会在防火墙中的拒绝/丢弃规则之前添加日志记录规则,例如:

LOG  all  --  anywhere   anywhere  LOG level warning prefix "IN_drop_DROP: "
LOG  all  --  anywhere   anywhere  LOG level warning prefix "FINAL_REJECT: "

创建一个名为/etc/rsyslog.d/custom_iptables.conf(注意扩展名为is.conf)的文件,并向其中添加以下语句:

:msg,contains,"_DROP" /var/log/iptables.log
:msg,contains,"_REJECT" /var/log/iptables.log
& stop

重新启动rsyslog

sudo systemctl restart rsyslog   

现在,丢弃和拒绝的数据包将被记录到 /var/log/iptables.log


confirm¹,我确认在中看到拒绝的条目journalctl -f。FWIW,最初,基于其他答案,我仅完成了LogDenied = all部分,但这还不够。
Hi-Angel

1
由于当今的firewalld默认不使用iptables,我是否建议重命名_iptables.conf_firewalld.conf以减轻混乱?
Hi-Angel

好的,我只是使用此答案在另一台PC上重做,我注意到一个值得一提的差异:我没有/etc/sysconfigdir,而是在编辑/etc/firewalld/firewalld.conf文件。我上次使用此答案没有注意到它,因为LogDenied=all我确实使用了另一个答案。
Hi-Angel

4

您需要在行中附加以/etc/sysconfig/firewalld
获取最大的详细信息:

FIREWALLD_ARGS=--debug=10

然后重启firewalld服务

sudo systemctl restart firewalld

比edit更好/usr/lib/systemd/system/firewalld.service

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.