linux如何关闭防火墙:分临时关闭与永久关闭分步实操

linux如何关闭防火墙:分临时关闭与永久关闭分步实操

前段时间在云服务器部署网站,端口一直异常拦截,排查半天终于摸清linux如何关闭防火墙的真实操作,网上一堆杂乱教程根本不准,全是自己真机反复试错磨出来的可用方法。

一开始完全想简单了,以为随便敲一条关闭命令就能一劳永逸,匆匆复制了一条命令执行,看着终端没有报错就直接结束操作,转头去配置网站程序,结果刷新页面依旧无法访问,白白耗费了一两个小时的调试时间。

这是新手最普遍的低级误区。

后来才反应过来,Linux系统的防火墙关闭压根不是单一操作,分为临时关闭和永久关闭两种模式,两种操作的生效逻辑、适用场景完全不一样,绝大多数人只做了临时关闭,系统一旦重启,防火墙就会自动复原,所有配置全部作废。我当时使用的是主流的CentOS7版本服务器,系统默认搭载的是firewalld防火墙服务,临时关闭的核心命令是systemctl stop firewalld,执行之后不需要重启服务器,当下就能关闭防火墙、放开所有端口限制,能立刻解决当下的端口拦截问题,但这个操作只是一次性的,没有改变系统的开机启动规则,只要服务器重启,防火墙服务就会自动重启,这也是我当时反复翻车的核心原因。

很多人还会踩系统版本的坑,分不清CentOS和Ubuntu的防火墙差异,胡乱套用命令。Ubuntu系统默认用的是ufw防火墙,和CentOS的firewalld完全不兼容,我之前试过把CentOS的关闭命令用到Ubuntu服务器上,终端直接提示命令无效,折腾半天毫无进展,纯粹是做无用功。

版本不对,操作全废。

想要彻底关闭CentOS防火墙,必须两步操作配合完成,先执行临时关闭命令终止当前运行的防火墙服务,再输入systemctl disable firewalld禁用开机自启服务,两步依次做完,不管后续重启多少次服务器,防火墙都不会自动启动,我后续反复重启测试了五六次,状态一直稳定,没有出现回弹的情况。而Ubuntu系统的操作更简洁,直接输入ufw down即时关闭,再用ufw disable锁定开机不启动,终端提示规则禁用成功就代表操作完成。

实操的时候还发现一个细节,顺序绝对不能颠倒。如果先禁用开机自启,不手动停止当前的防火墙服务,当下的防火墙依旧处于运行状态,端口拦截不会解除,网站还是无法访问,看似修改了配置,实则完全没有生效,这个细节几乎所有速成教程都不会提。

那天深夜调试完所有配置,重启服务器刷新网站页面,空白的浏览器界面终于加载出了完整的页面,屏幕的亮光安静的铺在键盘上。