在Linux上如何记录被拒绝的数据包
时间:2019-11-20 08:53:22 来源:igfitidea点击:
在Linux如何启用防火墙日志记录?
如何在Linux操作系统上为拒绝的数据包启用FirewallD日志记录,以便查看被丢弃的数据包信息?
在CentOS/RHEL/Suse/OpenSUSE Linux下,如何查看FirewallD阻止的流量日志?
在Linux上如何启用防火墙日志记录
在/etc/firewalld/firewalld.conf文件中设置LogDenied选项可以启用日志记录
另外一种方法是使用firewall-cmd命令。
启用日志记录后,系统将记录防火墙拒绝或丢弃的所有数据包。
配置日志记录
编辑/etc/firewalld/firewalld.conf
sudo vi /etc/firewalld/firewalld.conf
将
LogDenied=off
改成:
LogDenied=all
重启防火墙服务,使设置生效:
sudo systemctl restart firewalld.service
或者
sudo systemctl reload firewalld.service
或者
sudo firewall-cmd --reload
LogDenied选项的值可以是: all, unicast, broadcast, multicast 或者 off.
默认情况下,LogDenied选项处于关闭状态。
grep '^LogDenied' /etc/firewalld/firewalld.conf grep -q -i '^LogDenied=off' /etc/firewalld/firewalld.conf && echo "Change it" || echo "No need to change" grep -q -i '^LogDenied=off' /etc/firewalld/firewalld.conf | sed -i'Backup' 's/LogDenied=off/LogDenied=all/' /etc/firewalld/firewalld.conf
使用firewall-cmd命令启用日志记录
在这种方法中,我们将使用firewall-cmd命令。
查看实际的LogDenie设置
sudo firewall-cmd --get-log-denied
修改LogDenie设置
sudo firewall-cmd --set-log-denied=all
确认一下
sudo firewall-cmd --get-log-denied
如何查看被防火墙拒绝的数据包日志?
使用grep命令或journalctl命令:
journalctl -x -e
或者使用dmesg:
dmesg dmesg | grep -i REJECT
如何将防火墙丢弃的数据包记录到/var/log/firewalld-droppd.log文件
在CentOS/RHEL v7/8服务器上创建一个文件/etc/rsyslog.d/firewalld-droppd.conf:
$ sudo vim /etc/rsyslog.d/firewalld-droppd.conf
添加下面的配置
:msg,contains,"_DROP" /var/log/firewalld-droppd.log :msg,contains,"_REJECT" /var/log/firewalld-droppd.log & stop
$ sudo systemctl restart rsyslog.service
现在,查看日志:
$ sudo tail -f /var/log/firewalld-droppd.log