加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – 使用iptables记录系统上连接的每个IP

发布时间:2020-12-14 03:00:09 所属栏目:Linux 来源:网络整理
导读:标题说明了一切. 我如何使用Linux下的iptables记录连接到服务器的所有IP? 作为一个小细节,我想在日志PER每日IP中只有一个条目. 谢谢 :) 编辑: 我把它缩小到每个新会话记录的5个包,这很奇怪,因为我使用–hashlimit 1 –haslimit-burst 1,我怀疑–m limit默
标题说明了一切.

我如何使用Linux下的iptables记录连接到服务器的所有IP?
作为一个小细节,我想在日志PER每日IP中只有一个条目.

谢谢 :)

编辑:

我把它缩小到每个新会话记录的5个包,这很奇怪,因为我使用–hashlimit 1 –haslimit-burst 1,我怀疑–m limit默认为5在那里起作用.麻烦的是,如果我将-m limit设置为1,则只记录1个条目用于所有IP,而不是每个EACH IP一个条目.

我想这样做的原因还在于尽可能避免日志增长太快,因为这将是一个相当无管理的盒子.

EDIT2:
这是我目前的尝试,以iptables-restore格式:
(为了便于阅读,在几行上)

-A FORWARD -d 10.x.x.x -p tcp --dport 443 -m state --state NEW 
-m hashlimit --hashlimit-upto 1/min --hashlimit-burst 1 
--hashlimit-mode srcip --hashlimit-name denied-client 
-j LOG --log-prefix "iptables (denied client): "

解决方法

我会试试这个:
# IP address entry older than one day
iptables -A ... -m recent --name mydaily ! --rcheck ! --seconds 86400 -j logandset
# IP address never seen before
iptables -A ... -m recent --name mydaily ! --rcheck -j logandset

# Custom chain for logging and refreshing
iptables -N logandset
iptables -A logandset -j LOG
iptables -A logandset -m recent --name mydaily --set

因此,您的列表mydaily将跟踪最后看到的IP地址,如果以前从未见过,或者如果最后一次看到的是超过一天,则将记录数据包,并更新该IP地址的列表条目.

您应该将ip_list_tot设置为更高的mydaily值,如iptables联机帮助页(在/ proc / net / xt_recent / mydaily中的情况)中所述.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读