2012-07-20 40 views
8

:)运行系统命令时,一个iptables规则匹配

我希望能够运行系统命令时的iptable规则被击中,通过远程设备的IP地址给它。

我看了一下,但什么都没发现。我想到了日志记录,但我期待着很多交通..

任何帮助将是太棒了!

感谢

(如果有帮助的,Ubuntu Linux是我的首选平台)

回答

4

这里是你如何做到这一点:

iptables -I FORWARD -p tcp --dport 80 -d a.b.c.d -j LOG --log-prefix="TRIGGER ME NOW !!!"

tail -f some-logfile | awk '/some-pattern/ {system("run-some-command")}'

应平直足够向前,应该能够处理大量的交通,尾巴命令应该足够快...... Ju st确保文件不会增长太多。

+0

哦,看起来像一个很好的解决方案..!我要去试试看.. – AndyD 2012-07-20 20:29:58

1

用knockd来代替它。您只配置一个端口敲击序列,然后告诉您要运行的命令。通常它用于添加/删除iptables规则 - 在某个敲击序列后打开一个服务(例如ssh访问),但我不明白为什么你不能在一个非常简单的数据包在一个预期端口规则上。

'apt-get install knockd'在你的Ubuntu系统上,手册页中有你可以轻易适应的例子。

+0

有趣,谢谢!我会看看! :) – AndyD 2012-07-20 20:30:48