Linux - firewall-cmd 命令添加端口规则不生效排查

本文涉及的产品
云防火墙,500元 1000GB
简介: Linux - firewall-cmd 命令添加端口规则不生效排查

linux 防火墙 firewall-cmd 命令详解

基本语法

firewall-cmd --zone=zone-name --add-service=service-name --permanent

命令参数

--zone:指定要添加服务的区域名称。
--add-service:指定要添加的服务名称。
--permanent:指定该规则永久生效。

除此之外,还有其他可选参数:

--list-all:列出所有规则。
--reload:重新加载防火墙规则。
--permanent:将规则保存到永久配置中,以便系统重启后仍然有效。
--delete-service:删除服务。
--list-services:列出当前系统中所有可用服务。
--add-source:添加一个 IP 或 IP 段。
--remove-source:删除一个 IP 或 IP 段。
--list-sources:列出所有已添加的 IP 或 IP 段。
--add-port:添加端口。
--remove-port:删除端口。
--list-ports:列出所有已添加的端口。
--add-rich-rule:添加一个更加复杂的规则。
--query-service:查询服务是否可用。
--get-zones:列出所有可用的区域。
--zone=zone-name:指定一个区域。

示例

添加端口:

firewall-cmd --zone=public --add-port=80/tcp --permanent

删除端口:

firewall-cmd --zone=public --remove-port=80/tcp --permanent

添加服务:

firewall-cmd --zone=public --add-service=http --permanent

删除服务:

firewall-cmd --zone=public --remove-service=http --permanent

列出所有规则:

firewall-cmd --list-all

重新加载防火墙规则:

firewall-cmd --reload

列出所有可用的服务:

firewall-cmd --list-services

注意事项

  • 在修改防火墙规则时,建议使用 --permanent 选项,以便该规则在系统重启后仍然有效

问题排查

如果 firewall-cmd 命令添加端口规则后没有生效,有几个可能的原因,你可以检查以下步骤:

  1. 确保 firewalld 在运行:首先确保 firewalld 服务正在运行。你可以使用以下命令检查它的状态:
sudo systemctl status firewalld
  1. 如果 firewalld 没有运行,你可以使用 systemctl 启动它:
sudo systemctl start firewalld
  1. 检查所使用的区域(zone):确保你正在为正确的防火墙区域(zone)添加端口规则。如果你的系统不是使用 public 区域,请将区域名称更改为适合你的情况。可以使用 firewall-cmd --get-default-zone 命令来查看默认的区域。
  2. 确认规则已添加:执行以下命令检查是否已成功添加规则:
sudo firewall-cmd --list-ports
  1. 这会列出当前配置的端口列表。确保你的端口已列在其中。
  2. 重新加载防火墙规则:在添加或更改规则后,需要重新加载防火墙规则以使更改生效。可以使用以下命令进行重新加载:
sudo firewall-cmd --reload
  1. 检查其他防火墙规则:有时候,防火墙规则之间可能存在冲突。确保没有其他规则阻止了端口 9092 的流量。你可以使用 sudo firewall-cmd --list-all 命令查看所有规则,检查是否存在任何与所需规则冲突的规则。

如果你仍然遇到问题,可能需要检查系统日志以获取更多信息,以便进一步诊断问题。通常,firewalld 的错误信息可以在 /var/log/firewalld/var/log/messages 中找到。

最后,如果你使用的是特定的防火墙区域或有定制需求,确保你的 firewall-cmd 命令中的区域名称和端口号是正确的。如果你有更多的详细信息或特定的错误消息,可以提供它们以便更好地帮助你解决问题。

https://docs.diladele.com/tutorials/transparently_filtering_https_centos/firewall.html


相关文章
|
16天前
|
Linux Shell
Linux 10 个“who”命令示例
Linux 10 个“who”命令示例
44 14
Linux 10 个“who”命令示例
|
5天前
|
Ubuntu Linux
Linux 各发行版安装 ping 命令指南
如何在不同 Linux 发行版(Ubuntu/Debian、CentOS/RHEL/Fedora、Arch Linux、openSUSE、Alpine Linux)上安装 `ping` 命令,详细列出各发行版的安装步骤和验证方法,帮助系统管理员和网络工程师快速排查网络问题。
58 20
|
5天前
|
网络协议 Linux 应用服务中间件
kali的常用命令汇总Linux
kali的常用命令汇总linux
26 7
|
25天前
|
Linux 数据库
Linux中第一次使用locate命令报错?????
在Linux CentOS7系统中,使用`locate`命令时出现“command not found”错误,原因是缺少`mlocate`包。解决方法是通过`yum install mlocate -y`或`apt-get install mlocate`安装该包,并执行`updatedb`更新数据库以解决后续的“can not stat”错误。
31 9
|
23天前
|
监控 网络协议 Linux
Linux netstat 命令详解
Linux netstat 命令详解
|
29天前
|
运维 监控 网络协议
运维工程师日常工作中最常用的20个Linux命令,涵盖文件操作、目录管理、权限设置、系统监控等方面
本文介绍了运维工程师日常工作中最常用的20个Linux命令,涵盖文件操作、目录管理、权限设置、系统监控等方面,旨在帮助读者提高工作效率。从基本的文件查看与编辑,到高级的网络配置与安全管理,这些命令是运维工作中的必备工具。
117 3
|
1月前
|
Linux
在 Linux 系统中,`find` 命令
在 Linux 系统中,`find` 命令
33 1
|
监控 网络协议 Linux
Linux - 如何查看某个端口是否被占用?
Linux - 如何查看某个端口是否被占用?
384 0
Linux - 如何查看某个端口是否被占用?
|
监控 网络协议 Linux
linux 查看端口占用
本文介绍一下linux查看端口占用基本命令:
linux 查看端口占用
|
Linux
Linux中查看某个端口是否被占用
一、使用lsof 用法: lsof -i:port # 例:lsof -i:8080 备注:当前用户需要拥有lsof命令的权限 二、使用netstat netstat -anp | grep port # 例:netstat -anp | gre...
1139 0
下一篇
DataWorks