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

相关推荐
二十雨辰1 小时前
[linux]docker基础
linux·运维·docker
饮浊酒2 小时前
Linux操作系统 ------(3.文本编译器Vim)
linux·vim
lihuhelihu2 小时前
第3章 CentOS系统管理
linux·运维·服务器·计算机网络·ubuntu·centos·云计算
矛取矛求2 小时前
Linux系统性能调优技巧
linux
One_Blanks2 小时前
渗透测试-Linux基础(1)
linux·运维·安全
Perishell2 小时前
无人机避障——大疆与Airsim中的角速度信息订阅获取
linux·动态规划·无人机
爱吃喵的鲤鱼2 小时前
linux进程的状态之环境变量
linux·运维·服务器·开发语言·c++
dessler2 小时前
Linux系统-ubuntu系统安装
linux·运维·云计算
荒Huang3 小时前
Linux挖矿病毒(kswapd0进程使cpu爆满)
linux·运维·服务器
hjjdebug5 小时前
linux 下 signal() 函数的用法,信号类型在哪里定义的?
linux·signal