linux – 使用iptables记录系统上连接的每个IP
标题说明了一切.
我如何使用Linux下的iptables记录连接到服务器的所有IP? 谢谢 :) 编辑: 我把它缩小到每个新会话记录的5个包,这很奇怪,因为我使用–hashlimit 1 –haslimit-burst 1,我怀疑–m limit默认为5在那里起作用.麻烦的是,如果我将-m limit设置为1,则只记录1个条目用于所有IP,而不是每个EACH IP一个条目. 我想这样做的原因还在于尽可能避免日志增长太快,因为这将是一个相当无管理的盒子. EDIT2: -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中的情况)中所述. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |