centos镜像中防火墙如何设置
导读:CentOS 镜像中防火墙设置指南 一、准备与基础操作 确认并启动防火墙服务:使用 firewalld 管理防火墙,常用命令如下(需要 sudo 权限)。 目标 命令 检查运行状态 sudo systemctl statu...
CentOS 镜像中防火墙设置指南
一、准备与基础操作
-
确认并启动防火墙服务:使用 firewalld 管理防火墙,常用命令如下(需要 sudo 权限)。
目标 命令 检查运行状态 sudo systemctl status firewalld 或 firewall-cmd --state 启动 sudo systemctl start firewalld 停止 sudo systemctl stop firewalld 开机自启 sudo systemctl enable firewalld 禁止开机自启 sudo systemctl disable firewalld 查看规则 firewall-cmd --list-all 重新加载配置 firewall-cmd --reload 以上命令适用于常见的 CentOS 系统环境。
二、区域与基本配置
- 查看与设置区域:firewalld 通过“区域(zone)”管理不同网络接口与规则,常用区域有 public、internal、trusted、dmz 等。
- 查看默认区域:firewall-cmd --get-default-zone
- 设置默认区域:sudo firewall-cmd --set-default-zone=public
- 查看活动区域与接口:firewall-cmd --get-active-zones;firewall-cmd --get-zone-of-interface=eth0
- 将接口加入区域:sudo firewall-cmd --zone=public --add-interface=eth0
- 开放常用服务与端口(示例)
- 允许 SSH(22/TCP):sudo firewall-cmd --zone=public --add-service=ssh --permanent
- 允许 HTTP(80/TCP):sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
- 允许 HTTPS(443/TCP):sudo firewall-cmd --zone=public --add-service=https --permanent
- 批量开放端口:sudo firewall-cmd --zone=public --add-port=10000-10010/tcp --permanent
- 使配置生效:firewall-cmd --reload
- 常用查询
- 查看已开放端口:firewall-cmd --zone=public --list-ports
- 查询端口是否放行:firewall-cmd --zone=public --query-port=80/tcp
- 查看服务是否放行:firewall-cmd --zone=public --list-services
- 持久化当前运行时规则:firewall-cmd --runtime-to-permanent(谨慎,会把当前所有运行时改动一次性写入永久配置)
三、进阶规则与访问控制
- 基于源地址的访问控制
- 仅允许某网段访问某端口(示例:允许 192.168.1.0/24 访问 9001/TCP) sudo firewall-cmd --permanent --add-rich-rule=‘rule family=“ipv4” source address=“192.168.1.0/24” port protocol=“tcp” port=“9001” accept’
- 拒绝某网段访问某端口 sudo firewall-cmd --permanent --add-rich-rule=‘rule family=“ipv4” source address=“192.168.1.0/24” port protocol=“tcp” port=“9001” reject’
- 删除规则:将 add 改为 remove 后执行并 --reload
- ICMP 控制(如禁止 ping)
- 禁止 ping:sudo firewall-cmd --zone=public --add-icmp-block=echo-request --permanent
- 取消禁止:sudo firewall-cmd --zone=public --remove-icmp-block=echo-request --permanent
- 使配置生效:firewall-cmd --reload
- 端口转发(示例:将 8080/TCP 转发到 80/TCP)
- 放行端口:sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent
- 添加转发:sudo firewall-cmd --zone=public --add-forward-port=port=8080:proto=tcp:toport=80 --permanent
- 使配置生效:firewall-cmd --reload
四、常用维护与排错
- 运行时与永久配置核对
- 查看运行时规则:firewall-cmd --list-all
- 查看永久规则:firewall-cmd --list-all --permanent
- 将当前运行时规则持久化:firewall-cmd --runtime-to-permanent(会一次性提交所有运行时改动,操作前请确认)
- 应急与回滚
- 紧急阻断所有包(会立即断开现有连接,谨慎使用):firewall-cmd --panic-on
- 关闭紧急阻断:firewall-cmd --panic-off
- 查询紧急状态:firewall-cmd --query-panic
- 直接编辑配置文件
- 区域配置路径:/etc/firewalld/zones/(如 public.xml)
- 修改后需重载:firewall-cmd --reload
- 安全建议
- 遵循最小权限原则,仅开放业务必需端口;变更前备份规则;变更后及时验证并保留回滚方案。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: centos镜像中防火墙如何设置
本文地址: https://pptw.com/jishu/754337.html
