centOS 7 firewallD删除直接规则

将系统从6.5升级到7后,我开始学习实现dynamic防火墙,但是我添加下面的规则是犯了一个错误

firewall-cmd –permanent –direct –add-rule ipv4filterOUTPUT 1 -j DROP

这导致机器将所有的输出放到外面,

我试图使用

firewall-cmd –permanent –direct –remove-rule ipv4filterOUTPUT 1 -j DROP

欢迎大家回来。

但是之后

firewall-cmd –reload

firewall-cmd –direct –get-all-rules

,我觉得这个规则会自动回来。

我甚至尝试过

firewall-cmd – 完成重新加载

但没有效果。

我现在能做什么?

最终我发现remove命令只能一次性工作,因为规则被logging在了direct.xml

因此,解决scheme很简单,编辑direct.xml并注释相应的行或direct.xml它们。

只是尝试了同样的事情,我的direct.xml运行后清空

 firewall-cmd --direct --remove-rule ... 

没有 – 永久的select。
重新加载后,没有直接的规则被删除。

有了这个选项,重新加载后规则就回来了。

经过顽固坚持的redirect规则摔跤后,我通过testing实现了以下内容:

  1. iptables规则数据库是暂时的
  2. firewall-cmd --permanent规则数据库通过重新启动持续存在,重新引导后重写iptables规则数据库

  3. firewall-cmd --permanent --direct /etc/firewalld/direct.xml firewall-cmd --permanent --direct规则存储在/etc/firewalld/direct.xml数据库尽pipe使用了firewall-cmd [--permanent] --direct --remove-rule/etc/firewalld/direct.xml仍然存在firewall-cmd [--permanent] --direct --remove-rule /etc/firewalld/direct.xml firewall-cmd [--permanent] --direct --remove-rule除非删除了DB文件

  4. firewall-cmd [--permanent] --direct --query-rule将关于规则在/etc/firewalld/direct.xml持久性