分享工作和学习中的点点滴滴,包括前端、后端、运维、产品等各个方面,欢迎您来关注订阅!
分类: LINUX
2021-11-11 06:43:57
当你的iptables规则无法正常工作时,可能希望记录iptables的数据包以进行故障排除。本文介绍了如何使用iptables的日志记录模块。 |
首先,我们需要了解如何将所有的iptables的INPUT链数据包记录到/var/log/messages中。如果你已经有一些iptables规则了,那么将记录日志的规则放在这些规则的顶部,如果放在规则的后面,将不会记录日志。
news.163.com/17/0616/09/CN1TVBSF00018AOP.html
news.yesky.com/hotnews/334/265597334.shtml
site.qudong.com/2016/0918/361895.shtml
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m limit --limit 4/min -j LOG --log-prefix "Iptables-SSH-IN: " --log-level 4 iptables -A INPUT -p tcp --dport 22 -m state --state NEW -j ACCEPT iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -P INPUT DROP
在上面的示例中,它执行以下操作:
上面第一条规则解释:
默认情况下,iptables将使用/var/log/messages记录所有消息。如果要将其更改为自己的定制日志文件,将下面添加到/etc/rsyslog.conf中。前提需要安装rsyslog服务:
# 安装rsyslog服务 [root@localhost ~]# yum -y install rsyslog # 设置开机启动、并立即启动 [root@localhost ~]# systemctl enable rsyslog --now # 编辑/etc/rsyslog.conf文件,添加下面内容到文件底部 [root@localhost ~]# vim /etc/rsyslog.conf kern.warning /var/log/iptables.log
查看刚才设置的日志文件:
[root@localhost ~]# ll -h /var/log/iptables.log -rw-------. 1 root root 2.0K Feb 9 10:46 /var/log/iptables.log [root@localhost ~]# tail -f /var/log/iptables.log
[root@localhost ~]# cat /var/log/iptables.log Feb 9 10:46:20 localhost kernel: Iptables-SSH-IN: IN=ens160 OUT= MAC=00:0c:29:ae:7d:09:00:50:56:c0:00:08:08:00 SRC=192.168.43.1 DST=192.168.43.137 LEN=52 TOS=0x00 PREC=0x00 TTL=128 ID=49928 DF PROTO=TCP SPT=16512 DPT=22 WINDOW=64240 RES=0x00 SYN URGP=0
当你的iptables规则无法正常工作时,可能希望记录iptables的数据包以进行故障排除。本文介绍了如何使用iptables的日志记录模块。