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



    在这里插入图片描述

    linux 防火墙 firewall-cmd 命令详解

    基本语法

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

    命令参数

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

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

    --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:指定一个区域。
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    示例
    添加端口:

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

    删除端口:

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

    添加服务:

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

    删除服务:

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

    列出所有规则:

    firewall-cmd --list-all
    
    • 1

    重新加载防火墙规则:

    firewall-cmd --reload
    
    • 1

    列出所有可用的服务:

    firewall-cmd --list-services
    
    • 1

    注意事项

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

    问题排查

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

    1. 确保 firewalld 在运行:首先确保 firewalld 服务正在运行。你可以使用以下命令检查它的状态:

      sudo systemctl status firewalld
      
      • 1

      如果 firewalld 没有运行,你可以使用 systemctl 启动它:

      sudo systemctl start firewalld
      
      • 1
    2. 检查所使用的区域(zone):确保你正在为正确的防火墙区域(zone)添加端口规则。如果你的系统不是使用 public 区域,请将区域名称更改为适合你的情况。可以使用 firewall-cmd --get-default-zone 命令来查看默认的区域。

    3. 确认规则已添加:执行以下命令检查是否已成功添加规则:

      sudo firewall-cmd --list-ports
      
      • 1

      这会列出当前配置的端口列表。确保你的端口已列在其中。

    4. 重新加载防火墙规则:在添加或更改规则后,需要重新加载防火墙规则以使更改生效。可以使用以下命令进行重新加载:

      sudo firewall-cmd --reload
      
      • 1
    5. 检查其他防火墙规则:有时候,防火墙规则之间可能存在冲突。确保没有其他规则阻止了端口 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

    在这里插入图片描述

  • 相关阅读:
    原生对象、内置对象、宿主对象的区别
    Ubuntu18.04 ROS-Melodic安装Moveit
    关于竞赛,CSDN还有很长的路要走
    高校社团管理系统的设计与实现
    eyou易优建站系统开发笔记
    基于SSM的汽车租赁系统
    器学习算法(六)基于天气数据集的XGBoost分类预测
    FITC-PEG-SH/Fluorescent-PEG-SH 多种分子量可选/荧光素聚乙二醇巯基 FITC-PEG-SH
    带你学习MindSpore中算子使用方法
    Linux虚拟机搭建RabbitMQ集群
  • 原文地址:https://blog.csdn.net/yangshangwei/article/details/134050475