找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 6759|回复: 0

firewalld防火墙安装、启用与基础规则配置

[复制链接]

1

主题

0

回帖

5

积分

新手上路

积分
5
发表于 2026-8-11 06:50:28 | 显示全部楼层 |阅读模式
在基于RHEL/CentOS或Fedora的Linux系统中,
  1. firewalld
复制代码
是动态管理防火墙的默认工具。以下是安装、启用和配置基础规则的步骤:




1. 安装 firewalld

  • 大多数现代RHEL/CentOS/Fedora系统已预装
    1. firewalld
    复制代码
    。若未安装:

  1. sudo yum install firewalld       # CentOS/RHEL 7+
  2.   # 或
  3.   sudo dnf install firewalld       # Fedora/RHEL 8+
复制代码




2. 启用并启动 firewalld
  1. sudo systemctl enable --now firewalld  # 启用并立即启动服务
  2. sudo systemctl status firewalld       # 检查状态(应显示active/running)
复制代码




3. 基础配置命令
查看当前状态与规则
  1. sudo firewall-cmd --state          # 检查是否运行
  2. sudo firewall-cmd --list-all       # 显示所有当前配置(区域、服务、端口等)
  3. sudo firewall-cmd --get-active-zones  # 查看激活的区域
复制代码

管理区域(Zones)

  • 区域(Zone) 是预定义的规则集合(如
    1. public
    复制代码
    1. home
    复制代码
    1. work
    复制代码
    等)。
  • 临时切换区域(重启后失效):

  1. sudo firewall-cmd --set-default-zone=home  # 设置默认区域
  2.   sudo firewall-cmd --get-default-zone       # 查看默认区域
复制代码

开放端口/服务

  • 开放特定端口(如TCP 8080):

  1. sudo firewall-cmd --add-port=8080/tcp --permanent  # --permanent永久生效
  2.   sudo firewall-cmd --reload                         # 重载配置
复制代码

  • 开放预定义服务(如HTTP/HTTPS):

  1. sudo firewall-cmd --add-service=http --permanent
  2.   sudo firewall-cmd --reload
复制代码

允许IP/网段访问

  • 允许特定IP访问所有端口:

  1. sudo firewall-cmd --add-rich-rule='rule family="ipv4" source address="192.168.1.100" accept' --permanent
复制代码

  • 允许网段访问SSH:

  1. sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" service name="ssh" accept'
复制代码

拒绝或丢弃流量

  • 拒绝来自某IP的流量:

  1. sudo firewall-cmd --add-rich-rule='rule family="ipv4" source address="10.0.0.5" reject' --permanent
复制代码




4. 常用示例
开放SSH和HTTP
  1. sudo firewall-cmd --permanent --add-service=ssh
  2. sudo firewall-cmd --permanent --add-service=http
  3. sudo firewall-cmd --reload
复制代码

仅允许特定IP访问MySQL(端口3306)
  1. sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.50" port port="3306" protocol="tcp" accept'
  2. sudo firewall-cmd --reload
复制代码




5. 保存与恢复配置

  • 永久生效的规则需添加
    1. --permanent
    复制代码
    标志,修改后执行
    1. sudo firewall-cmd --reload
    复制代码

  • 备份配置

  1. sudo firewall-cmd --runtime-to-permanent  # 将当前运行时配置保存为永久配置
复制代码
  或手动备份
  1. /etc/firewalld/
复制代码
目录。




6. 禁用/停止 firewalld
  1. sudo systemctl stop firewalld     # 临时停止
  2. sudo systemctl disable firewalld  # 禁用开机启动
复制代码




注意事项

  • 测试规则:使用
    1. --timeout
    复制代码
    参数临时应用规则(如
    1. --add-port=80/tcp --timeout=300
    复制代码
    )。
  • 区域优先级:接口默认属于某个区域,可通过
    1. --change-interface=eth0 --zone=home
    复制代码
    调整。
  • 日志监控:查看被拒绝的流量:

  
  1. sudo journalctl -u firewalld --since today
复制代码




通过以上步骤,您可以灵活管理
  1. firewalld
复制代码
的防火墙规则,确保系统安全的同时允许必要的网络访问。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|五云论坛 ( 黔ICP备2022001370号-1|贵公网安备52032102000798号 )

GMT+8, 2026-9-12 18:13 , Processed in 0.077670 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表