温馨提示×

centos minimal防火墙配置

小樊
39
2026-01-04 00:20:01
栏目: 智能运维

在CentOS系统中,firewalld是一个动态管理防火墙的命令行工具,它允许你定义网络流量过滤规则。以下是配置CentOS最小化防火墙的基本步骤:

  1. 启动并启用firewalld服务

    sudo systemctl start firewalld
    sudo systemctl enable firewalld
    
  2. 检查firewalld状态

    sudo firewall-cmd --state
    
  3. 查看所有打开的端口

    sudo firewall-cmd --list-all
    
  4. 开放特定端口: 如果你想开放TCP端口80(HTTP),可以使用以下命令:

    sudo firewall-cmd --permanent --zone=public --add-port=80/tcp
    

    对于UDP端口53(DNS),使用:

    sudo firewall-cmd --permanent --zone=public --add-port=53/udp
    

    --permanent参数表示永久生效,重启后规则仍然有效。

  5. 重新加载防火墙配置: 添加或修改规则后,需要重新加载防火墙以使更改生效:

    sudo firewall-cmd --reload
    
  6. 关闭特定端口: 如果你想关闭之前开放的端口,可以使用以下命令:

    sudo firewall-cmd --permanent --zone=public --remove-port=80/tcp
    sudo firewall-cmd --reload
    
  7. 设置默认区域: 你可以设置默认的区域,例如将所有未明确指定的流量设置为drop(拒绝):

    sudo firewall-cmd --set-default-zone=drop
    
  8. 允许SSH连接: 如果你需要通过SSH连接到服务器,确保TCP端口22是开放的:

    sudo firewall-cmd --permanent --zone=public --add-service=ssh
    sudo firewall-cmd --reload
    
  9. 查看可用的服务和端口: 你可以查看firewalld支持的所有服务和端口:

    sudo firewall-cmd --get-services
    sudo firewall-cmd --get-ports
    
  10. 添加自定义规则: 如果你需要更复杂的规则,比如基于IP地址的过滤,可以使用rich rules

    sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="80" accept'
    sudo firewall-cmd --reload
    

请注意,这些步骤适用于CentOS 7及更高版本,因为它们使用的是firewalld作为默认的防火墙管理工具。如果你使用的是CentOS 6或其他发行版,可能需要使用iptables来配置防火墙。

0