Linux中防火墙相关操作

一、查看防火墙状态

可通过两种方式查看防火墙状态,一种通过systemctl命令,另一种是通过firewall-cmd命令。

1、systemctl status firewalld

2、firewall-cmd --state

二、关闭防火墙

1、暂时关闭:设置暂时关闭防火墙将会在下次重启系统后失效

bash 复制代码
systemctl stop firewalld
  • 暂时关闭,并查看是否关闭:
  • 使用reboot命令重启系统,验证防火墙是否还处于关闭状态:

通过查看防火墙状态发现,暂时关闭防火墙的方式符合我们之前所说,重启系统之后,防火墙再次被打开。

2、永久关闭:重启系统后才能生效,且重启将不会恢复到原来的状态

bash 复制代码
systemctl disable firewalld
  • 永久关闭,并查看是否关闭:

可以看到,该命令执行后并没有立即生效,防火墙仍处于开启状态。

  • 使用reboot命令重启系统,验证防火墙是否关闭

系统重启之后,systemctl disable firewalld随即生效,防火墙已被永久关闭。

看到这里,也许大家会产生这样的疑问"为什么永久关闭防火墙需要重启系统才能生效,而暂时关闭则不需要呢?"。下面对此进行一下解答:
在 Linux 系统中,暂时关闭防火墙不需要重启系统是因为防火墙规则是在运行时加载到内存中的,而不是写入到磁盘上。因此,当你暂时关闭防火墙时,只是停止了防火墙服务,并清除了内存中的规则,从而使防火墙失效。这种方式关闭防火墙只在当前会话中有效,一旦系统重启或者重新加载防火墙服务,防火墙规则会重新加载到内存中。
而永久关闭防火墙则需要更改防火墙配置文件(如 iptables、firewalld 的配置文件),这些配置文件会在系统重启时重新加载,并且会将防火墙规则应用到系统启动时的默认配置中。因此,永久关闭防火墙需要重启系统,以便使配置文件的更改生效。
因此,暂时关闭防火墙只会影响当前会话,而永久关闭防火墙则需要修改系统配置文件并重新启动系统才能生效。

三、开启防火墙

开启防火墙同关闭时一样,也分为暂时开启、永久开启,同样的暂时开启只影响当前会话,而永久开启则需要重启系统才能生效,因此这里只做简单的命令演示,不做验证了。

1、暂时开启:当系统重启后将会恢复到原来的状态

bash 复制代码
systemctl start firewalld

2、永久开启:重启系统后才能生效,且重启将不会恢复到原来的状态

bash 复制代码
systemctl enable firewalld

重启后,再次查看防火墙状态

四、firewall-cmd命令

在查看防火墙状态时,我们可以通过firewall-cmd命令来查看;其次,上述我们只介绍了开启、关闭防火墙的的操作,假如我们想在开启防火墙的状态下开放某些端口呢。那么,接下来我再介绍一下firewall-cmd命令,看看它可以为我们提供哪些关于防火墙的操作呢。

firewall-cmd 是用于管理 firewalld 防火墙的命令行工具,它提供了一种简单且强大的方式来配置和管理防火墙规则。

以下是该命令的一些常用操作:

  • 查看防火墙状态:firewall-cmd --state
  • 重新加载配置:firewall-cmd --reload
  • 查看开放的端口:firewall-cmd --list-ports
  • 开启防火墙端口:firewall-cmd --zone=public --add-port=端口号/tcp --permanent

命令含义:

--zone #作用域

--add-port=端口号/tcp #添加端口,格式为:端口/通讯协议

--permanent #永久生效,没有此参数重启后失效

注意:添加端口后,必须用命令firewall-cmd --reload重新加载一遍才会生效

  • 关闭防火墙端口:firewall-cmd --zone=public --remove-port=端口号/tcp --permanent
相关推荐
wdfk_prog21 小时前
[Linux]学习笔记系列 -- [drivers][base]core
linux·笔记·学习
tan 9121 小时前
KaliLinux2025.4 root用户修改显示语言
linux·服务器·前端·安全
资深web全栈开发21 小时前
高并发的本质:超越语言的协作哲学——以 Go HTTP 服务器为例
服务器·http·golang·系统设计·goroutine·高并发架构·go并发
Byte不洛21 小时前
从除 0 到 SIGPIPE:Linux 信号的真正来源
linux
a***592621 小时前
MobaXterm全能终端:高效运维实战指南
运维
数通工程师21 小时前
进阶指南:如何利用 SecureCRT 打造“一键式”自动化数据采集方案?
运维·网络·网络协议·tcp/ip·自动化·运维开发
小码吃趴菜1 天前
守护进程及其编程流程
linux·运维·服务器
~黄夫人~1 天前
Ansible自动化运维:快速入门,从 “批量化执行” 开始
运维·自动化·ansible
式5161 天前
RAG检索增强生成基础(二)RAG项目实战之Milvus Docker环境配置
运维·docker·容器
久违8161 天前
PHP 安全与部署知识总结
linux·ubuntu·php