温馨提示×

centos message防火墙如何设置

小樊
41
2025-10-11 05:19:06
栏目: 智能运维

CentOS系统防火墙(firewalld)基础设置指南
CentOS 7及以上版本默认使用firewalld作为防火墙管理工具,支持动态规则调整、区域化控制和持久化配置。以下是常见操作的详细步骤:

1. 安装与启动firewalld

若系统未预装firewalld,可通过以下命令安装:

sudo yum install firewalld -y 

安装完成后,启动服务并设置为开机自启:

sudo systemctl start firewalld # 启动firewalld sudo systemctl enable firewalld # 开机自动启动 

2. 查看防火墙状态

  • 检查服务运行状态:
    sudo systemctl status firewalld 
    若显示“active (running)”,则表示服务正常运行。
  • 查看默认区域:
    sudo firewall-cmd --get-default-zone 
    默认区域通常为public(适用于公共网络环境)。
  • 查看活动区域及绑定接口:
    sudo firewall-cmd --get-active-zones 

3. 配置防火墙规则

① 开放端口(永久生效)

若需允许外部访问特定端口(如HTTP的80端口、HTTPS的443端口),可使用以下命令:

sudo firewall-cmd --permanent --zone=public --add-port=80/tcp # 开放HTTP端口 sudo firewall-cmd --permanent --zone=public --add-port=443/tcp # 开放HTTPS端口 

说明--permanent表示规则永久生效,需配合--reload命令使更改立即生效。

② 开放服务(更便捷的方式)

firewalld内置了常见服务(如SSH、FTP、MySQL)的规则,可直接开放服务而非手动指定端口:

sudo firewall-cmd --permanent --zone=public --add-service=ssh # 开放SSH服务(22端口) sudo firewall-cmd --permanent --zone=public --add-service=http # 开放HTTP服务 sudo firewall-cmd --permanent --zone=public --add-service=https # 开放HTTPS服务 

③ 允许特定IP访问

若需限制仅特定IP可访问服务器(如运维人员的管理IP),可使用rich-rule

sudo firewall-cmd --permanent --zone=public --add-rich-rule="rule family='ipv4' source address='192.168.1.100' accept" # 允许单个IP sudo firewall-cmd --permanent --zone=public --add-rich-rule="rule family='ipv4' source address='192.168.1.0/24' accept" # 允许IP段 

④ 禁止特定IP访问

若需屏蔽恶意IP,可使用reject规则:

sudo firewall-cmd --permanent --zone=public --add-rich-rule="rule family='ipv4' source address='192.168.1.200' reject" # 禁止单个IP 

4. 应用配置变更

修改规则后,必须执行以下命令使更改生效:

sudo firewall-cmd --reload 

注意--reload不会中断现有连接,仅应用新规则;若需彻底重置防火墙,可使用sudo firewall-cmd --complete-reload(会中断现有连接)。

5. 查看当前规则

  • 查看所有开放的端口:
    sudo firewall-cmd --list-ports 
  • 查看所有允许的服务:
    sudo firewall-cmd --list-services 
  • 查看详细规则(包括富规则、接口绑定等):
    sudo firewall-cmd --list-all 

6. 关闭/禁用防火墙(可选)

若需临时关闭防火墙(不推荐生产环境使用):

sudo systemctl stop firewalld 

若需永久禁用防火墙(关闭开机自启):

sudo systemctl disable firewalld 

常见问题排查

  • 规则不生效:确保执行了--reload命令,或检查是否有其他防火墙工具(如iptables)冲突。
  • 无法开放端口:确认服务是否监听正确端口(可通过netstat -tulnp | grep 端口号检查),并检查SELinux是否阻止访问(可通过setenforce 0临时关闭SELinux测试)。

通过以上步骤,可完成CentOS系统防火墙的基本配置,保障系统安全的同时允许合法流量访问。

0