首页 > 生活经验 >

问 linux 关掉防火墙的具体方法 firewalld 与 iptables 操作详解

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

答

核心结论:主流 RHEL 系(CentOS7/8/Stream、Rocky、AlmaLinux)默认防火墙是 firewalld,关闭分临时关闭(重启系统失效)和永久关闭 + 禁用开机自启;老版本 CentOS6 或者部分系统使用 iptables,Ubuntu 默认是 ufw 防火墙,三套体系命令不一样,生产环境不建议直接完全关闭防火墙,优先放行指定端口,测试环境才推荐整体关闭。

一、firewalld 关闭方法(CentOS7/8、RockyLinux 最常用)

1 临时关闭(重启后防火墙自动恢复)

systemctl stop firewalld

查看状态确认是否已经关闭

systemctl status firewalld

2 永久关闭(停止服务 + 禁止开机自启,推荐)

systemctl stop firewalld

systemctl disable firewalld

重点:只执行 stop,重启系统防火墙又会自动拉起,必须加上 disable 才能永久禁用

补充:如果后续需要重新开启

systemctl enable firewalld

systemctl start firewalld

二、iptables 防火墙关闭(老系统 CentOS6)

CentOS6 使用 iptables 服务

临时清空所有规则

service iptables stop

禁止开机自启

chkconfig iptables off

查看状态

service iptables status

三、ufw 防火墙关闭(Ubuntu/Debian 默认防火墙)

临时关闭

ufw disable

查看防火墙状态

ufw status

ufw 本身就是封装 iptables,disable 之后开机不会自动启用,不需要额外 chkconfig 操作

恢复开启:ufw enable

四、进阶要点

  1. 云服务器注意:就算系统内部防火墙关闭,云厂商还有安全组,安全组依然会拦截端口,这个是高频踩坑点,很多人以为关防火墙就通了,但是云平台安全组没放行,端口依旧访问失败
  2. 安全建议:正式生产环境不推荐完全关闭防火墙,风险很高,正确做法是 firewalld 添加放行端口,例如 firewall-cmd --add-port=80/tcp --permanent
  3. 部分精简系统,firewalld 没有安装,执行命令会提示 unit not found,说明系统本身就没有这个防火墙服务
  4. 执行这些命令一般需要 root 权限,普通用户前面加 sudo

【相关 FAQ】

问题 1 linux 关掉防火墙的具体方法里面,只执行 stop 为什么重启又打开了

回答 1 linux 关掉防火墙的具体方法里面,stop 只是当前运行状态停止,服务仍然保留开机自启,重启系统会自动启动 firewalld,必须搭配 disable 关闭开机自启,才能做到永久关闭。

问题 2 linux 关掉防火墙的具体方法里面,云服务器关完防火墙还是无法访问端口怎么办

回答 2 linux 关掉防火墙的具体方法里面,这种情况一般是云平台安全组没有放行端口,系统防火墙和云安全组是两层独立防护,需要登录云控制台安全组添加放行规则。

问题 3 linux 关掉防火墙的具体方法里面,Ubuntu 和 CentOS 防火墙命令能不能混用

回答 3 linux 关掉防火墙的具体方法里面不能混用,CentOS 是 firewalld,Ubuntu 默认是 ufw,两套服务名称和命令完全不一样,在 Ubuntu 执行 systemctl stop firewalld 会提示找不到服务。

免责声明:以上内容为 linux 防火墙关闭技术科普,完全关闭防火墙会降低服务器安全性,仅适合内网测试环境,生产环境建议使用端口放行策略,内容仅供学习参考。