首页 > 生活经验 >

问 linux 关掉防火墙的具体方法 按发行版区分操作

2026-11-08 22:38:58
最佳答案

答

Linux 系统关掉防火墙没有统一一条命令,因为不同发行版默认使用的防火墙组件不一样,主流分为 firewalld 和 iptables 两套体系,CentOS7 之后 Rocky AlmaLinux RHEL 默认是 firewalld,Debian Ubuntu 旧版本很多使用 ufw 或者原生 iptables,操作分为临时关闭和永久关闭两种,临时关闭重启服务器之后防火墙会自动恢复,永久关闭需要同时停止服务并且禁用开机自启,很多人只执行临时关闭命令,重启之后发现防火墙又自动启动,就是漏掉了禁用自启这一步,另外还要区分停止服务和清空规则,停止防火墙服务是把防火墙守护进程关掉,清空规则只是把已有过滤规则删掉,底层服务仍然运行,这两种不是同一个概念,生产环境操作前一定要确认业务端口放行需求,关掉防火墙之后服务器会失去网络访问控制,暴露在公网会提升安全风险。

一 firewalld 防火墙关闭操作

临时关闭

执行命令 systemctl stop firewalld

这条命令只是立刻停止 firewalld 守护进程,本次运行期间防火墙失效,服务器重启之后 firewalld 会按照开机自启配置再次启动。

永久关闭

第一步 停止服务 systemctl stop firewalld

第二步 禁用开机自启 systemctl disable firewalld

执行完成之后,本次关机失效,下次开机防火墙也不会自动拉起。

验证是否关闭成功

systemctl status firewalld

查看状态,如果显示 inactive dead 就代表已经停止,也可以执行 firewall cmd state 查看,返回 not running 代表关闭成功。

二 ufw 防火墙关闭操作

Ubuntu Debian 系列默认防火墙是 ufw,ufw 本质是 iptables 前端管理工具。

临时关闭

ufw disable

执行之后立刻关闭 ufw 过滤规则,重启系统如果自启配置没有改动,有可能再次启用。

永久关闭

ufw disable 本身就会同步取消开机自启,不需要额外 systemctl 操作,验证命令 ufw status,显示 inactive 代表已经关掉防火墙。

三 iptables 原生防火墙关闭操作

注意 iptables 不是常驻守护服务,它是内核 netfilter 规则工具,不存在类似 systemd 的守护进程,不能用 stop 方式关闭,只能清空全部规则。

清空全部规则

iptables F

iptables X

iptables Z

F 代表清空所有链规则 X 删除自定义链 Z 计数器清零

如果是 ipv6 对应的 ip6tables,需要单独执行同样清空操作。

补充说明

清空 iptables 规则不等于卸载内核 netfilter 模块,内核过滤框架仍然存在,只是没有过滤规则,等同于放行全部流量,如果需要开机不再加载 iptables 规则,需要关闭对应的 iptables 服务或者取消开机脚本,不同发行版服务名称有差异,比如 iptables service。

四 各防火墙操作对比表格

防火墙类型适用发行版临时关闭命令永久关闭要点特点
firewalldRHEL CentOS7+ Rocky AlmaLinuxsystemctl stop firewalldstop 加 disable动态管理,支持 zone 区域概念
ufwUbuntu Debianufw disabledisable 自带取消自启语法简单,适合桌面和轻量服务器
iptables全发行版通用iptables F 清空规则关闭开机加载服务内核原生,无独立常驻守护进程

五 重要补充要点

1 部分新版 Ubuntu 已经替换为 nftables,对应服务名称是 nftables,关闭命令是 systemctl stop nftables 加上 systemctl disable nftables

2 执行关掉防火墙操作之后,建议再次测试端口连通性,确认业务访问恢复

3 如果服务器还有云厂商安全组,云平台安全组是独立于系统防火墙,就算 linux 内部关掉防火墙,云安全组依然会拦截端口,很多运维踩这个坑,误以为系统防火墙关掉就能通,实际还是安全组拦截

4 不建议长期公网服务器完全关掉防火墙,优先使用精准放行端口的方案,只有测试环境临时调试才推荐关闭

【常见问题】

问题 1 linux 关掉防火墙之后重启又自动启动是什么原因

回答 1 linux 关掉防火墙之后重启自动启动,绝大多数是只执行了临时 stop 命令,没有执行 disable 禁用开机自启,firewalld 这类 systemd 托管服务,默认开机自启是开启状态,需要同时执行 stop 和 disable 两条命令,才能实现 linux 关掉防火墙并且重启不再自动拉起。

问题 2 linux 关掉防火墙和清空 iptables 规则是一回事吗

回答 2 linux 关掉防火墙分两种情况,firewalld ufw 是关闭守护服务,而 iptables 没有守护进程,清空 iptables 规则只是删除过滤策略,内核 netfilter 框架还保留,严格来说不等同于传统意义上关掉防火墙服务,这点是 linux 关掉防火墙操作最容易混淆的知识点。

问题 3 linux 关掉防火墙之后云服务器端口仍然不通怎么办

回答 3 linux 关掉防火墙之后端口依然不通,优先检查云厂商控制台的安全组,安全组属于网络层独立策略,不受 linux 内部防火墙控制,就算完成 linux 关掉防火墙全部操作,安全组没有放行端口依旧会拦截访问,需要去云平台单独调整安全组规则。

【免责申明】

本文介绍的 linux 关掉防火墙相关操作仅用于技术学习和测试环境调试参考,公网生产服务器关闭防火墙会移除网络访问防护,可能带来入侵风险,操作前请评估业务安全风险,变更造成的业务异常安全问题由操作者自行承担。