firewalld:direct规则

一,官方文档:

1, 选项:

https://firewalld.org/documentation/direct/options.html

例子:

https://firewalld.org/documentation/direct/examples.html

手册:

https://firewalld.org/documentation/man-pages/firewalld.direct.html

2, 直接规则的特点:

1)直接只用iptables或firewalld语句规则写入管理区域
2)执行优先级最高。优先级:直接规则→富规则→区域规则
3)不会iptables语句的用户不建议直接使用直连接口
4)适用于服务或应用程序

二,direct规则的语法:

firewall-cmd 
--permanent \
--direct \
--add-rule { ipv4 | ipv6 | eb } \
    <表(table)> <链(chain)> <优先级(priority)> args

 

--direct:直接规则

--permanent:将规则写入防火墙配置文件,永久执行【需要使用firewalll-cmd --reload加载配置文件才能生效。如果不使用此选项,所有新添加的规则都是临时使用~

--add-rule: 添加规则

lpv4:   这个属性非常简单,表示ip的版本

 

5表:
五个表table:filter、nat、mangle、raw、security

filter:过滤规则表,根据预定义的规则过滤符合条件的数据包,默认表
nat:network address translation 地址转换规则表
mangle:修改数据标记位规则表
raw:关闭启用的连接跟踪机制,加快封包穿越防火墙速度
security:用于强制访问控制(MAC)网络规则,由Linux安全模块(如SELinux)实现

 5链

  链 是数据包传播的路径,每一个 链 中可以有 N 个 规则 (N >= 0)。当数据包到达一个 链 时,iptables 就会从链中第一个规则开始检测, 如果数据包满足规则所定义的条件,系统会执行具体的 行为,否则 iptables 继续检查下一个规则。 如果数据包不符合链中任一个规则,iptables 就会根据该链预先定义的默认策略来处理数据包。

三,direct规则的用法

1,列出所有的规则

[root@blog ~]# firewall-cmd --direct --get-all-rules

 

2,添加一条规则:

[root@blog ~]# firewall-cmd --direct --add-rule ipv4 filter INPUT 1 -p tcp --dport 22 -s 172.25.254.210 -j REJECT
success

查看已添加的规则:

[root@blog ~]# firewall-cmd --direct --get-all-rules
ipv4 filter INPUT 1 -p tcp --dport 22 -s 172.25.254.210 -j REJECT

说明:direct规则就是iptables的规则,所以可以通过iptables命令查看:

[root@blog ~]# iptables -L -v -n
Chain INPUT (policy ACCEPT 5595K packets, 1759M bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 REJECT     tcp  --  *      *       172.25.254.210       0.0.0.0/0            tcp dpt:22 reject-with icmp-port-unreachable

3,删除一条规则:

[root@blog ~]# firewall-cmd --direct --remove-rule ipv4 filter INPUT 1 -p tcp --dport 22 -s 172.25.254.210 -j REJECT
success

查看删除后的规则:

[root@blog ~]# firewall-cmd --direct --get-all-rules

4,添加规则时写入文件:

[root@blog ~]# firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 1 -p tcp --dport 22 -s 172.25.254.210 -j REJECT
success

写入的文件在哪里?

[root@blog ~]# more /etc/firewalld/direct.xml
<?xml version="1.0" encoding="utf-8"?>
<direct>
  <rule ipv="ipv4" table="filter" chain="INPUT" priority="1">-p tcp --dport 22 -s 172.25.254.210 -j REJECT</rule>
</direct>

查看是否生效:无效果

[root@blog ~]# firewall-cmd --direct --get-all-rules

重新加载:

[root@blog ~]# firewall-cmd --reload
success

查看是否生效:已生效:

[root@blog ~]# firewall-cmd --direct --get-all-rules
ipv4 filter INPUT 1 -p tcp --dport 22 -s 172.25.254.210 -j REJECT

四,direct规则和zone规则的优先级

直接规则→富规则→区域规则

直接规则的执行优先级最高

 

posted @ 2024-08-25 17:16  刘宏缔的架构森林  阅读(121)  评论(0编辑  收藏  举报