使用 firewall-cmd 管理 Linux 防火墙端口

前言

本文将介绍如何使用 firewall-cmd 工具在 Linux 系统中进行简单端口管理,包括开放、查询、关闭等操作。通过实例展示相关命令的用法,希望能对大家有所帮助。

一、防火墙与firewall-cmd介绍

在 Linux 系统中,防火墙起着举足轻重的作用,它是确保服务器和客户端免遭网络攻击侵害的一道坚实屏障。具体来说,防火墙的核心功能体现在以下三个方面:

  • 控制网络访问:通过高效检测并筛选进出网络的数据包,防火墙能够根据预设的规则精准地阻截任何未获授权的访问请求,从而有效化解恶意软件、黑客攻击等各类网络安全风险。
  • 保护敏感数据:通过严密防范未经授权的访问行为,防火墙有助于保护存储在计算机和网络中的敏感数据免受泄露和滥用。
  • 强化网络安全策略:防火墙可以根据组织的安全策略进行配置,允许管理员根据组织的安全方针进行灵活配置,明确哪些网络流量是合规的,哪些是需要封锁的,进而全面提升网络的安全防御水平。

firewall-cmd 作为 Linux 系统中 firewalld 服务的命令行工具,可以为管理员提供了一种便捷高效的方式来配置和管理防火墙规则。凭借 firewall-cmd,管理员能够轻松执行诸如开启/关闭特定端口、设定复杂规则、管理不同区域设置等操作,以适应多样化的网络环境和应用场景。firewall-cmd 在协助管理员充分利用防火墙优势、确保网络安全方面起到了不可或缺的重要作用。

二、firewall-cmd 端口管理

1.开放端口

若要在防火墙上开放特定的端口,可以使用以下命令:

css 复制代码
 firewall-cmd --zone=public --add-port=80/tcp --permanent

此命令将在 public 区域中开放 TCP 协议的 80 端口,并永久保存这一设置。可以将 80/tcp 替换为其他需要开放的端口和协议。

2.查看某端口是否开放

要查询某个端口是否已开放,可以使用以下命令:

ini 复制代码
firewall-cmd --query-port=80/tcp

如果 80 端口已开放,该命令将返回 yes,否则返回 no

3.查看端口开启列表

以下命令将列出所有在防火墙中开放的端口:

css 复制代码
firewall-cmd --list-port

4.重启防火墙

在对防火墙进行配置更改后,需要重启防火墙以使更改生效,可以使用以下命令:

css 复制代码
firewall-cmd --reload

此命令将重新加载防火墙配置,并应用所做的更改。

5.关闭防火墙

如果需要临时关闭防火墙,可以使用以下命令:

arduino 复制代码
systemctl stop firewalld.service

此命令将停止 firewalld 服务,从而关闭防火墙。请注意,此操作可能会使系统面临风险,因此请谨慎使用。

6.禁止或启用开机启动

若要禁止防火墙在系统启动时自动运行,可以使用以下命令:

bash 复制代码
systemctl disable firewalld.service

相反,若要启用开机启动,可以使用以下命令:

bash 复制代码
systemctl enable firewalld.service

7.开放特定 IP 地址的访问权限

若要允许来自特定 IP 地址的访问请求通过防火墙,可以使用富规则(rich rule)。例如:

ini 复制代码
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="IP地址" port port="端口" protocol="tcp" accept"

需要将其中的 IP 地址端口 替换为实际的 IP 地址和端口号。此命令将为来自指定 IP 地址的 TCP 连接请求开放指定的端口。


总结

本文介绍了如何使用firewall-cmd工具在Linux系统中进行简单端口管理,希望这些知识和技巧能对大家有所帮助。

相关推荐
kk”3 小时前
Linux的组和权限管理
linux·运维·服务器
mohesashou5 小时前
红帽linux的K8S部署
linux·kubernetes·ansible
xiaoye-duck5 小时前
《Linux网络编程》UDP Socket 编程实战:从 Echo 回显、通用字典服务到套接字封装全流程
linux·网络·udp
孙克旭_6 小时前
Docker 镜像构建|Vue+SpringBoot+Go 多语言项目 Dockerfile 案例
linux·运维·vue.js·spring boot·docker·dockerfile
life码农7 小时前
Linux截取Nginx指定时间段日志的三种方法(grep/awk/sed)
linux·nginx
Dawn-bit7 小时前
Linux网络进阶:TCP三次握手和四次挥手与TCP连接状态
linux·服务器·网络·tcp/ip·云计算·智能路由器
NJCloud8 小时前
MooseFS 分布式存储部署与高可用架构实践
linux·运维·分布式·架构
mounter6258 小时前
将 RDMA 引入容器:Soft-RoCE (RXE) 网络命名空间支持深度解析
linux·linux kernel·kernel·rdma·net namespace
奈斯先生Vector8 小时前
从 127.0.0.1:3080 到插件运行时:DeepSeek Harness 远程开发与版本治理实战
linux·运维·人工智能·ubuntu·aigc