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

相关推荐
ElfBoard1 小时前
飞凌精灵(ElfBoard)技术贴|如何在RK3506开发板上实现UART功能复用
大数据·linux·人工智能·驱动开发·单片机·嵌入式硬件·物联网
HackTorjan1 小时前
AI驱动的制品库高效管理:智能分类、自动化追踪与全生命周期优化
linux·人工智能·分类·自动化
.千余1 小时前
【Linux】进程概念
linux·服务器·开发语言·学习
蜡台1 小时前
centos 8 安装 nginx-1.29.8 及相关配置教程
linux·nginx·centos
爱学习的小囧1 小时前
ESXi性能历史怎么监控?2种方法,图形化+命令行全覆盖
java·linux·运维·服务器·网络·esxi·esxi8.0
sagima_sdu2 小时前
Codex 使用指南(技术向):App、CLI 与工作流接入
linux·运维·语言模型·json
圆山猫2 小时前
[Linux] 用 Buildroot 为 RISC-V QEMU 构建最小根文件系统
linux·运维·risc-v
小草儿7992 小时前
gbase8s之onatpe备份与恢复性能测试
linux·服务器·网络
不做无法实现的梦~2 小时前
Linux 嵌入式开发完整入门:工具、配置和学习路线
linux·运维·学习
摘星台2 小时前
linux环境对stm32单片机进行程序烧录
linux·stm32·单片机