![iptables 总是需要重启](https://linux22.com/image/1437675/iptables%20%E6%80%BB%E6%98%AF%E9%9C%80%E8%A6%81%E9%87%8D%E5%90%AF.png)
我有一台 CentOS 7 PC,在其上使用 iptables。
我在该 PC 上有一个 Oracle 11gR2 实例,并且我需要从 LAN 中的其他 PC 访问它。
我的/etc/sysconfig/iptables
:
# Generated by iptables-save v1.4.21 on Mon Nov 3 11:25:41 2014
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [296:52711]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3389 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 1158 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 1521 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 9060 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 9043 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 9080 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 9000 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 9443 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 2809 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 5060 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 5061 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 8880 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 9633 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 9401 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 9403 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 9402 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 9100 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 9353 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 7276 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 7286 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 5558 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 5578 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 1414 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 9000 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 25 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 110 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 1158 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 1521 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 9060 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 9043 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 9080 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 9443 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 2809 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 5060 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 5061 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 8880 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 9633 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 9401 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 9403 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 9402 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 9100 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 9353 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 7276 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 7286 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 5558 -j ACCEPT
-A INPUT -p udp -m udp --dport 631 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 631 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A INPUT -p tcp -m state --state NEW -m tcp --dport 631 -j ACCEPT
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
# Completed on Mon Nov 3 11:25:41 2014
预言行如下:
-A INPUT -p tcp -m state --state NEW -m tcp --dport 1521 -j ACCEPT
糟糕的是,为了让它工作,重启后我总是必须使用
sudo service iptables restart
如果我不手动重新启动 iptables,它就不会打开 1521 来接收传入连接。
有没有办法告诉 iptables 不要“忘记”其文件中写的内容?
答案1
当您更改 iptables 文件时,所有配置都会保留在内存中,并且要在系统重启后继续保留,您需要使用以下命令保存它:
iptables-保存 > /etc/sysconfig/iptables