![firewalld:记录被阻止的传出连接](https://linux22.com/image/775575/firewalld%EF%BC%9A%E8%AE%B0%E5%BD%95%E8%A2%AB%E9%98%BB%E6%AD%A2%E7%9A%84%E4%BC%A0%E5%87%BA%E8%BF%9E%E6%8E%A5.png)
我已经配置了防火墙,这样防火墙也会阻止传出连接。我通过添加特定规则将所需的传出流量列入白名单。这很好用。
但现在我想知道,是否有传出连接目前仍被防火墙阻止。为了检查这一点,我已设置LogDenied
为all
并重新启动/重新加载防火墙。现在我可以看到许多防火墙消息,/var/log/messages
例如REJECT
Mar 5 19:45:29 kvm011 kernel: FINAL_REJECT: IN=br0-enp3s0 OUT= MAC=80:ee:73:9d:59:09:98:9b:cb:bf:c3:7e:08:00 SRC=192.168.1.254 DST=192.168.1.3 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=55873 DF PROTO=TCP SPT=41047 DPT=80 WINDOW=29200 RES=0x00 SYN URGP=0
但似乎,被阻止的传出流量不会被记录。我已经测试过了:SMTP 端口 25 未被列入传出流量的白名单。因此,如果我尝试发送电子邮件,该电子邮件将被标记为“延迟”,并且我在邮件日志中看到该电子邮件无法发送:
Mar 5 19:46:21 kvm011 postfix/smtp[3240]: connect to xxx.xxx.org[193.111.xxx.xxx]:25: Connection timed out
但是文件中没有防火墙消息/var/log/messages
(针对端口 25 上的阻止连接)。我必须在防火墙中激活此类消息吗?如果是,我该怎么做?
答案1
找到了!我必须添加一条明确规则来启用传出阻止连接的日志记录:
firewall-cmd --direct --permanent --add-rule ipv4 filter OUTPUT 1 -j LOG --log-prefix \"FINAL_REJECT: \" --log-level 4
重新加载或重新启动防火墙后,我得到了预期的日志,例如:
Mar 6 11:56:01 kvm011 kernel: FINAL_REJECT: IN= OUT=br0-enp3s0 SRC=192.168.1.3 DST=193.111.xxx.xxx LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=59572 DF PROTO=TCP SPT=57134 DPT=25 WINDOW=29200 RES=0x00 SYN URGP=0