Duc*_*uck 7 firewall iptables centos reboot ipset
我iptables
在 CentOS 6.x 机器上添加了一个 ipset,当机器重新启动时,此规则丢失。
我发现这个答案显示了如何让 Ubuntu 系统iptables
在重新启动后重新加载规则,但该目录在 CentOS 上不存在。
如何让这个 CentOS 机器在重启后加载防火墙规则?
注意:是的,我正在使用规则保存规则iptables save
并且正在保存文件。
这是里面的内容/etc/sysconfig/iptables
:
# Generated by iptables-save v1.4.7 on Mon Apr 8 09:52:59 2013
*filter
:INPUT ACCEPT [2713:308071]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [1649:1766437]
-A INPUT -p tcp -m multiport --dports 25,587,465,110,143,993,995 -m state --state INVALID,NEW,RELATED,ESTABLISHED -m set
--match-set blocking src -j DROP
COMMIT
# Completed on Mon Apr 8 09:52:59 2013
Run Code Online (Sandbox Code Playgroud)
命令显示-A INPUT
,但当我创建它时,我使用了-I INPUT
.
用于创建它的规则是:
iptables -I INPUT -p tcp -m multiport --dports 25,587,465,110,143,993,995 -m state --state NEW,ESTABLISHED,RELATED,INVALID -m set --set blocking src -j DROP
Run Code Online (Sandbox Code Playgroud)
你失去了规则,因为:
添加规则后,您必须在重新启动服务或服务器之前保存。因为当您添加规则时,它们位于内存中,但保存后它们将保存在文件中并在启动时从该文件恢复。
所以首先您需要使用以下方法保存添加的规则:
$ /etc/init.d/iptables save
Run Code Online (Sandbox Code Playgroud)
这将保存所有规则/etc/sysconfig/iptables
,然后在启动时启用 iptables 服务:
$ chkconfig --level 53 iptables on
Run Code Online (Sandbox Code Playgroud)
保存规则:
$ /sbin/iptables-save > /etc/iptables.rules
Run Code Online (Sandbox Code Playgroud)
要恢复规则 [ 添加以下条目/etc/rc.local
]:
$ /sbin/iptables-restore < /etc/iptables.rule
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
26543 次 |
最近记录: |