我使用的是 ArchLinux,并且我有一个我知道有效的 IP 表规则(来自我的其他服务器),它位于 /etc/iptables/iptables.rules 中,它是该目录中唯一的规则集。我运行 /etc/rc.d/iptables save,然后运行 /etc/rc.d/iptables/restart,但是当我执行“iptables --list”时,我在 INPUT、FORWARD 和 OUTPUT 上获得了 ACCEPT。
# Generated by iptables-save v1.4.8 on Sat Jan 8 18:42:50 2011
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [216:14865]
:BRUTEGUARD - [0:0]
:interfaces - [0:0]
:open - [0:0]
-A INPUT -p icmp -m icmp --icmp-type 18 -j DROP
-A INPUT -p icmp -m icmp --icmp-type 17 -j DROP
-A INPUT -p icmp -m icmp --icmp-type 10 -j DROP
-A INPUT -p icmp -m icmp --icmp-type 9 -j DROP
-A INPUT -p icmp -m icmp --icmp-type 5 -j DROP
-A INPUT -p icmp -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -j interfaces
-A INPUT -j open
-A INPUT -p tcp -j REJECT --reject-with tcp-reset
-A INPUT -p udp -j REJECT --reject-with icmp-port-unreachable
-A INPUT -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j DROP
-A INPUT -f -j DROP
-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,SYN,RST,PSH,ACK,URG -j DROP
-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j DROP
-A INPUT -i eth+ -p icmp -m icmp --icmp-type 8 -j DROP
-A BRUTEGUARD -m recent --set --name BF --rsource
-A BRUTEGUARD -m recent --update --seconds 600 --hitcount 20 --name BF --rsource -j LOG --log-prefix "[BRUTEFORCE ATTEMPT] " --log-level 6
-A BRUTEGUARD -m recent --update --seconds 600 --hitcount 20 --name BF --rsource -j DROP
-A interfaces -i lo -j ACCEPT
-A open -p tcp -m tcp --dport 80 -j ACCEPT
-A open -p tcp -m tcp --dport 10011 -j ACCEPT
-A open -p udp -m udp --dport 9987 -j ACCEPT
-A open -p tcp -m tcp --dport 30033 -j ACCEPT
-A open -p tcp -m tcp --dport 8000 -j ACCEPT
-A open -p tcp -m tcp --dport 8001 -j ACCEPT
-A open -s 76.119.125.61 -p tcp -m tcp --dport 21 -j ACCEPT
-A open -s 76.119.125.61 -p tcp -m tcp --dport 3306 -j ACCEPT
-A open -p tcp -m tcp --dport 22 -j BRUTEGUARD
-A open -s 76.119.125.61 -p tcp -m tcp --dport 22 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
COMMIT
# Completed on Sat Jan 8 18:42:50 2011
答案1
我没有看到确切的保存方法,因此请确保你正在执行以下操作:
iptables-save > /etc/iptables/iptables.rules
然后重新启动,它会保留您在保存之前创建的所有规则。
另外,我用来保存规则的文件也不同,我不确定 ArchLinux 的情况,但在 Ubuntu 中它在这里:
/etc/iptables.rules
还有一个问题,是否有其他程序可以修改 iptables?例如 Shorewall