首页 >> 综合 > 严选问答 >

问linux7 怎么关闭防火墙 CentOS7 防火墙操作详解

2026-11-08 22:24:16

答

linux7 一般指 CentOS7,这个版本默认防火墙不再是旧版 iptables 服务,而是 firewalld,由 systemd 进行服务管理,关闭防火墙分为临时关闭和永久关闭两种模式,临时关闭只是当前运行状态停止,服务器重启之后防火墙会自动重新启动,永久关闭是把 firewalld 服务设置开机不自启,重启之后也不会自动加载,很多新手容易混淆这两个操作,只执行临时关闭,重启之后发现防火墙又打开,业务端口依旧不通,操作之前要确认自己是临时测试还是长期停用,同时注意安全风险,关闭防火墙之后服务器所有端口不再经过 firewalld 过滤,公网环境不建议长期关闭,优先推荐开放指定端口而不是整体关闭,下面会完整介绍 firewalld 关闭 查看状态 恢复开启的全套命令,同时补充 iptables 相关说明。

一 基础概念说明

CentOS7 默认防火墙服务名称 firewalld

服务管理工具 systemctl

旧版本 CentOS6 使用 iptables 服务,CentOS7 虽然还可以安装 iptables 服务,但是默认启用 firewalld,不要继续使用 service iptables stop 这套老命令,老命令在 CentOS7 默认环境会提示服务不存在。

二 核心命令对照表

操作类型命令说明
查看防火墙运行状态systemctl status firewalldactive running 代表正在运行,inactive dead 代表已经停止
临时关闭防火墙systemctl stop firewalld本次运行停止,重启自动恢复
永久关闭开机自启systemctl disable firewalld禁止开机启动,配合 stop 完成完整永久关闭
临时开启防火墙systemctl start firewalld重新启动 firewalld 服务
永久开启开机自启systemctl enable firewalld设置开机自动启动
重启防火墙服务systemctl restart firewalld修改规则之后重载生效

三 完整永久关闭操作步骤

第一步 切换 root 用户,普通用户需要加 sudo 权限

第二步 查看当前状态

systemctl status firewalld

第三步 执行临时停止服务

systemctl stop firewalld

第四步 关闭开机自启

systemctl disable firewalld

第五步 再次查看状态确认

systemctl status firewalld

确认状态为 inactive dead,并且开机自启已经 disabled,就代表永久关闭完成

四 firewalld 补充相关命令

firewall-cmd 是 firewalld 的客户端管理工具,就算不关闭防火墙,也可以单独放行端口

查看全部开放端口

firewall-cmd --list-ports

永久开放端口示例

firewall-cmd --permanent --add-port=80/tcp

重载规则

firewall-cmd --reload

安全推荐方案 不要直接关闭防火墙,按需放行业务端口,公网服务器裸关防火墙风险很高,容易被扫描攻击。

五 补充 iptables 相关情况

如果 CentOS7 上面额外安装了 iptables-services,那么还存在 iptables 服务

停止 iptables 临时关闭 systemctl stop iptables

禁止开机自启 systemctl disable iptables

判断方法 执行 systemctl status iptables,如果提示找不到单元文件,说明没有安装这个服务,不需要处理。

六 常见异常与注意事项

1 执行命令提示权限不足,需要 root 或者 sudo

2 只执行 disable,没有 stop,防火墙当前还是运行状态,必须两个命令都执行

3 云服务器除了系统内部 firewalld,还有云厂商安全组,就算 linux7 内部防火墙关闭,安全组依旧会拦截端口,很多人排查端口不通会漏掉这一层

4 关闭防火墙之后,selinux 依旧独立运行,selinux 和防火墙是两套机制,关闭 firewalld 不会关闭 selinux

5 重启服务器之后验证,确认防火墙没有自动拉起

【常见问题】

问题 1 linux7 只执行 disable 为什么防火墙还在运行

回答 1 linux7 的 disable 只是取消开机自启,linux7 当前 firewalld 服务依旧处于运行状态,linux7 想要完全关闭防火墙还需要执行 systemctl stop firewalld 临时停止服务。

问题 2 linux7 关闭防火墙之后重启又自动启动怎么办

回答 2 linux7 关闭防火墙重启自启,一般是只做了临时 stop 没有 disable,linux7 需要同时执行 stop 和 disable 两条命令,linux7 如果仍然自启,检查是否还有其他管理程序托管 firewalld。

问题 3 linux7 可以继续用 service iptables stop 吗

回答 3 linux7 默认防火墙是 firewalld,默认没有 iptables 服务,linux7 直接执行 service iptables stop 会报错,linux7 推荐使用 systemctl 管理 firewalld,除非额外安装 iptables-services。

问题 4 linux7 关闭防火墙之后端口还是不通是什么原因

回答 4 linux7 内部防火墙已经关闭但端口不通,linux7 需要排查云平台安全组,linux7 安全组是独立于系统防火墙的另一层访问控制,并不是 linux7 防火墙拦截。

问题 5 linux7 关闭 firewalld 之后 selinux 会一起关闭吗

回答 5 linux7 关闭 firewalld 防火墙不会影响 selinux,linux7 的 firewalld 和 selinux 是两套独立安全机制,linux7 如果需要关闭 selinux 需要单独修改配置文件。

【免责申明】

本文为 CentOS7 防火墙操作教程,公网服务器关闭防火墙存在安全风险,操作前请评估业务安全需求,推荐优先开放指定端口,不要长期完全关闭防火墙,操作以官方文档为准。

 

相关阅读

最新文章