什么是存储 iptables 规则的规范方式

ama*_*ion 9 linux iptables

iptables 是标准的 Linux 防火墙,不会在重新启动之间保存规则。你必须自己照顾这个。有很多方法可以做到这一点。这样做的规范方法是什么?什么是最佳实践?

我会用我自己的解决方案来回答,但我对其他/更好的解决方案感兴趣。

ama*_*ion 6

以下是一些示例规则。将它们保存到 /etc/iptables.rules

# Generated by iptables-save v1.3.6 on Wed Oct 24 17:07:29 2007
*filter
:INPUT ACCEPT [89458:132056082]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [263904:15667452]
-A INPUT -i lo -j ACCEPT 
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT 
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied: " --log-level 7 
-A INPUT -j DROP 
COMMIT
# Completed on Wed Oct 24 17:07:29 2007
Run Code Online (Sandbox Code Playgroud)

在 /etc/network/interfaces 的末尾添加这一行

pre-up iptables-restore < /etc/iptables.rules
Run Code Online (Sandbox Code Playgroud)

  • 我指的是添加到 /etc/network/interfaces; 我很抱歉,我应该更清楚。Fedora 和 RHEL 有一个 initscript(巧妙地命名为“iptables”;),如果启用,它基本上会执行 /etc/sysconfig/iptables 的 iptables-restore。 (4认同)