使用 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系统中进行简单端口管理,希望这些知识和技巧能对大家有所帮助。

相关推荐
量子网络9 分钟前
debian 如何进入root
linux·服务器·debian
我们的五年16 分钟前
【Linux课程学习】:进程描述---PCB(Process Control Block)
linux·运维·c++
我言秋日胜春朝★1 小时前
【Linux】进程地址空间
linux·运维·服务器
C-cat.1 小时前
Linux|环境变量
linux·运维·服务器
yunfanleo2 小时前
docker run m3e 配置网络,自动重启,GPU等 配置渠道要点
linux·运维·docker
糖豆豆今天也要努力鸭2 小时前
torch.__version__的torch版本和conda list的torch版本不一致
linux·pytorch·python·深度学习·conda·torch
烦躁的大鼻嘎2 小时前
【Linux】深入理解GCC/G++编译流程及库文件管理
linux·运维·服务器
ac.char2 小时前
在 Ubuntu 上安装 Yarn 环境
linux·运维·服务器·ubuntu
敲上瘾2 小时前
操作系统的理解
linux·运维·服务器·c++·大模型·操作系统·aigc
长弓聊编程3 小时前
Linux系统使用valgrind分析C++程序内存资源使用情况
linux·c++