我有一个这样的日志文件:
Frq:15 IP:0.0.0.0 Date: 2014-03-21 12:19:31 AM Frq:9 IP:198.252.206.25 Date: 2014-03-21 12:19:31 AM
cat /tmp/test | awk '{print $2}'|awk '{gsub("IP:", "");print}'
结果是:
0.0.0.0 198.252.206.25
我想添加这个IP地址到iptables从inputDROP,但我不知道如何
谢谢朋友。
我的尝试:
awk '{sub("IP:", "", $2); print $2}' /tmp/test | xargs -n1 -I{} iptables -A INPUT -s {} -j DROP
通过将自定义configuration文件放入其.d config目录来扩展fail2ban ,您将会走得更远。
做尽可能less的工作!
你可以写一个脚本来循环你的awk结果,并在运行中创build适当的iptables规则:
#!/bin/sh cat /tmp/test | awk '{print $2}'|awk '{gsub("IP:", "");print}' | while read IP do iptables -A INPUT -s $IP -j DROP done
但是,我不知道你的上下文以及你的日志文件是如何被信任的,但这是危险的,你应该调查你正在丢失的IP地址。
举一个例子,下面是127.0.0.1一个例外:
#!/bin/sh cat /tmp/test | awk '{print $2}'|awk '{gsub("IP:", "");print}' | while read IP do if [ "$IP" != "127.0.0.1" ]; then iptables -A INPUT -s $IP -j DROP fi done