我正在尝试在我的系统上设置psad,这需要向iptables iptables -A INPUT -j LOG添加一个规则。当然,这个规则在重新启动时会被刷新,所以我研究了使它持久的方法(其中有很多)。
虽然iptables-persistent包似乎是最方便的解决方案,但我不能使用它,因为它与在系统上运行的对接守护进程发生冲突,因为iptables-persistent只是运行iptables-restore < /etc/iptables/rules.v4而没有-n标志,这可能会破坏对接-守护进程对iptables的任何更改。
因此,我不想完全禁用docker守护进程中的自动iptable规则,因为它只会造成巨大的维护麻烦,所以我只是添加了一个脚本。
#!/bin/bash
iptables-restore -n < /etc/network/iptables.rules使用/etc/network/if-pre-up.d和chmod +x保存配置,而不使用iptables-save > /etc/network/iptables.rules的对接规则。
然后文件iptables.rules说
-P INPUT ACCEPT
-P FORWARD DROP
-P OUTPUT ACCEPT
-A INPUT -j LOG但是当我重新启动系统时,我会三次看到规则-A INPUT -j LOG。我目前的猜测是,这可能是因为/etc/network/firewall多次被执行(因为有多个接口??)。
我如何解决这个问题?请注意,rc.local是不推荐的,而不是用于此目的的,因为在重新启动iptables服务时不会运行它。
发布于 2018-11-15 17:25:28
最后,我刚刚创建了一个systemd服务,它只运行一次脚本并从if-pre-up.d中删除它。
https://serverfault.com/questions/938977
复制相似问题