centos stream8如何管理防火墙
导读:CentOS Stream 8 防火墙管理指南 一 基础操作与常用命令 在 CentOS Stream 8 中,默认使用 firewalld 管理防火墙,支持运行时与永久两种配置模式,并基于“区域”进行策略划分。常用命令如下: 安装与启...
CentOS Stream 8 防火墙管理指南
一 基础操作与常用命令
- 在 CentOS Stream 8 中,默认使用 firewalld 管理防火墙,支持运行时与永久两种配置模式,并基于“区域”进行策略划分。常用命令如下:
- 安装与启停
- 安装:sudo dnf install -y firewalld
- 启动/停止:sudo systemctl start|stop firewalld
- 开机自启/禁用:sudo systemctl enable|disable firewalld
- 查看状态:sudo firewall-cmd --state;systemctl status firewalld
- 运行时与永久配置
- 查看运行时规则:sudo firewall-cmd --list-all
- 永久规则需加 –permanent,变更后执行 sudo firewall-cmd --reload 使配置生效
- 区域与网卡
- 查看默认区域:sudo firewall-cmd --get-default-zone
- 设置默认区域:sudo firewall-cmd --set-default-zone=public
- 查看活动区域与网卡:sudo firewall-cmd --get-active-zones
- 将网卡加入区域:sudo firewall-cmd --zone=public --add-interface=eth0
- 服务与端口
- 查看预定义服务:sudo firewall-cmd --get-services
- 开放服务(示例:HTTP/HTTPS):sudo firewall-cmd --permanent --add-service=http --add-service=https & & sudo firewall-cmd --reload
- 开放端口(示例:TCP 80):sudo firewall-cmd --permanent --add-port=80/tcp & & sudo firewall-cmd --reload
- 关闭端口:sudo firewall-cmd --permanent --remove-port=80/tcp & & sudo firewall-cmd --reload
- 富规则(复杂策略)
- 仅允许指定来源访问 SSH(示例:192.168.1.100):
sudo firewall-cmd --permanent --add-rich-rule=‘rule family=“ipv4” source address=“192.168.1.100” port port=“22” protocol=“tcp” accept’ & & sudo firewall-cmd --reload - 删除富规则:将 add-rich-rule 换为 remove-rich-rule 后执行并 –reload
- 仅允许指定来源访问 SSH(示例:192.168.1.100):
- ICMP 与 Ping
- 允许 Ping(ICMP Echo Request):sudo firewall-cmd --permanent --add-icmp-block-inversion(推荐方式,默认拒绝 ICMP,再放行 echo-request)
- 如之前误用了 –add-icmp-block=echo-request 导致无法 ping,可移除:sudo firewall-cmd --permanent --remove-icmp-block=echo-request & & sudo firewall-cmd --reload
- 图形界面
- 安装后可运行:sudo dnf install -y firewall-config;本地执行 firewall-config 进行可视化配置(远程 SSH 会话不建议使用 GUI)。
- 安装与启停
二 常见场景示例
- 放行 Web 服务(HTTP/HTTPS)
- sudo firewall-cmd --permanent --add-service=http --add-service=https & & sudo firewall-cmd --reload
- 放行自定义端口(示例:TCP 8080)
- sudo firewall-cmd --permanent --add-port=8080/tcp & & sudo firewall-cmd --reload
- 仅允许指定 IP 访问 SSH(示例:203.0.113.10)
- sudo firewall-cmd --permanent --add-rich-rule=‘rule family=“ipv4” source address=“203.0.113.10” port port=“22” protocol=“tcp” accept’ & & sudo firewall-cmd --reload
- 放行 MQTT、Kafka、Grafana(常见于物联网/可视化平台)
- sudo firewall-cmd --permanent --add-port={ 1883,8883,9092,3000} /tcp & & sudo firewall-cmd --reload
- 允许 Ping
- sudo firewall-cmd --permanent --add-icmp-block-inversion & & sudo firewall-cmd --reload。
三 最佳实践与安全建议
- 变更前先备份当前规则:sudo firewall-cmd --runtime-to-permanent(将当前运行时配置固化为永久);必要时备份 /etc/firewalld/ 配置目录。
- 远程维护时避免锁死:优先使用已放行的端口(如 22/TCP)进行操作;如修改 SSH 端口,先确保新端口已放行再变更 sshd 配置并重启。
- 使用“区域”做环境隔离:对外网接口使用 public,对内网接口使用 internal/trusted,精细化控制来源与端口。
- 明确协议与方向:添加端口时显式指定 /tcp 或 /udp;仅开放业务必需端口,最小化暴露面。
- 变更后校验:执行 sudo firewall-cmd --list-all 与 sudo firewall-cmd --list-ports 核对规则;必要时用 ss -tulpen | grep < 端口> 验证监听与连通性。
- 避免工具混用:firewalld 与 iptables/nftables 不应并行启用,以免策略冲突;统一通过 firewalld 管理规则。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: centos stream8如何管理防火墙
本文地址: https://pptw.com/jishu/785135.html
