firewall-cmd --list-all详解

发布于:2024-05-09 ⋅ 阅读:(34) ⋅ 点赞:(0)

含义

firewall-cmd --list-all 命令的输出结果中,涉及到的每行的含义如下:

  1. “target”:表示当前 Firewalld 防火墙的默认目标,可以是 “ACCEPT”、“DROP” 或 “REJECT”。

“DROP”,表示拒绝所有流量;
“ACCEPT”,表示允许所有流量;
“REJECT”,表示拒绝流量并发送拒绝消息。
“default”,表示默认的目标配置为 “default”。这意味着防火墙的默认行为是在没有明确指定其他规则的情况下,所有流量都会按照默认规则处理。默认规则可能是允许或拒绝所有流量。

  1. “icmp-block-inversion”:指示是否启用 ICMP 块反转,即是否拒绝指定的 ICMP 类型。

“yes”,表示拒绝指定的 ICMP 类型;
“no”,表示允许指定的 ICMP 类型。

  1. “interfaces”:列出了当前 Firewalld 防火墙的所有接口,用于指定哪些接口需要应用防火墙规则。

  2. “sources”:指定允许连接到系统的源 IP 地址。

  3. “ports”:列出了当前定义的端口,用于指定允许进入系统的端口。

  4. “protocols”:指定了哪些协议被允许通过防火墙。可配置项为具体的协议名称,如 “tcp”、“udp” 或 “icmp”。配置特定协议可以限制允许通过防火墙的协议。

  5. “forward”:指示是否启用数据包转发。

  6. “masquerade”:指示是否启用 IP 源地址伪装,用于 NAT。

  7. “forward-ports”:指定转发流量到其他端口的规则。

  8. “source-ports”:指定允许从系统发出的源端口。

  9. “icmp-blocks”:列出了要被阻止的 ICMP 类型。

  10. “rich rules”:列出了复杂的规则,可以基于 IP 地址、端口等多个条件进行配置的高级规则。

如果配置如下:

- target: ACCEPT
- icmp-block-inversion: no
- interfaces: eth0
- sources: 192.168.1.0/24
- ports: 80, 443
- protocols: tcp
- forward: no
- masquerade: yes
- forward-ports: 8080
- source-ports: 1024-65535
- icmp-blocks: echo-reply
- rich rules: rule family="ipv4" source address="192.168.1.100" port port="22" protocol="tcp" accept

这样的配置代表允许来自 192.168.1.0/24 网段的主机使用 TCP 协议的 80 和 443 端口访问系统,对于 ICMP 的 echo-reply 类型允许通过,禁止数据包转发和禁用 ICMP 块反转,启用 IP 源地址伪装,不允许数据包转发,允许从系统发出的源端口为 1024 到 65535,同时转发到内部端口 8080,同时只允许 192.168.1.100 主机通过 TCP 协议访问系统的 22 端口。