温馨提示×

CentOS防火墙如何定制化规则集

小樊
43
2025-09-05 17:42:01
栏目: 智能运维

CentOS防火墙可通过firewalld工具定制化规则集,以下是关键操作:

  1. 基础规则管理

    • 添加/删除端口
      sudo firewall-cmd --permanent --zone=public --add-port=80/tcp(开放TCP端口80)
      sudo firewall-cmd --permanent --zone=public --remove-port=80/tcp(删除规则)
    • 管理服务
      sudo firewall-cmd --permanent --zone=public --add-service=http(允许HTTP服务)
  2. 定制化富规则(Rich Rules)

    • 基于IP/端口/协议的精细化控制
      sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule source address="192.168.1.100" port protocol="tcp" port="3306" accept'(允许特定IP访问MySQL端口)
      sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule source address="10.0.0.0/8" service name="ssh" reject'(拒绝内网SSH访问)
    • 时间段限制
      sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule source address="192.168.1.100" port protocol="tcp" port="80" accept time start="08:00" end="18:00"'(仅限工作时间访问)
    • 连接数限制(防DoS)
      sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule source address="0.0.0.0/0" port protocol="tcp" port="80" rate-limit burst="50"'(限制HTTP连接速率)
  3. 高级配置

    • 日志记录
      sudo firewall-cmd --set-log-denied=all(记录被拒绝的流量)
    • 默认区域策略
      sudo firewall-cmd --set-default-zone=drop(默认拒绝所有流量,需手动添加允许规则)
    • 直接规则(底层iptables语法)
      sudo firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 0 -s 192.168.1.100 -p tcp --dport 22 -j ACCEPT(直接使用iptables规则语法)
  4. 验证与生效

    • 查看规则:sudo firewall-cmd --list-all(查看所有规则)
    • 重新加载配置:sudo firewall-cmd --reload(使永久规则生效)

注意:操作需root权限,建议先通过--permanent参数保存规则,再通过--reload应用,避免临时规则丢失。

0