• Linux 防火墙 firewalld 常用命令


    1 防火墙 - firewalld

    1.1 开启防火墙

    # 临时性开启,服务器重启后会恢复为原来的状态
    systemctl start firewalld
    # 永久性开启(即开机启动),重启服务器后生效
    systemctl enable firewalld
    

    1.2 关闭防火墙

    # 临时性关闭,服务器重启后会恢复为原来的状态
    systemctl stop firewalld
    # 永久性关闭,重启服务器后生效
    systemctl disable firewalld
    

    1.3 重启防火墙

    systemctl restart firewalld
    

    1.4 查看防火墙状态

    # 使用 systemctl 命令检查 firewalld 服务状态
    systemctl status firewalld
    # 使用 firewall-cmd 命令查看 firewalld 的状态
    firewall-cmd --state
    

    1.5 重载防火墙配置

    # 重载防火墙配置,在不影响网络连接的情况下更新防火墙规则
    firewall-cmd --reload
    

    请添加图片描述

    请添加图片描述

    2 区域 - zone

    2.1 查看所有可用的区域

    firewall-cmd --get-zones
    

    2.2 查看当前激活的区域

    firewall-cmd --get-active-zones
    

    2.3 查看指定区域的详细信息

    firewall-cmd --zone=public --list-all
    
    # 注:如果指定区域为默认区域,可以省略 --zone 参数
    firewall-cmd --list-all
    

    2.4 查看默认区域

    firewall-cmd --get-default-zone
    

    2.5 设置默认区域

    firewall-cmd --set-default-zone=public
    

    2.6 添加区域

    firewall-cmd --permanent --new-zone=myzone
    

    2.7 删除区域

    firewall-cmd --permanent --delete-zone=myzone
    

    2.8 分配网络接口到指定区域

    firewall-cmd --zone=public --change-interface=eth0
    

    请添加图片描述

    3 端口 - port

    3.1 查看已开放的端口

    firewall-cmd --list-ports
    
    # 注:未显式指定所属区域则使用默认区域 public,即上述命令相当于
    firewall-cmd --zone=public --list-ports
    

    3.2 添加指定开放端口

    firewall-cmd --permanent --add-port=3306/tcp
    # 开放指定端口范围
    firewall-cmd --permanent --add-port=9000-9008/tcp
    
    # 注:未显式指定所属区域则使用默认区域 public,即上述命令相当于
    firewall-cmd --zone=public --permanent --add-port=3306/tcp
    firewall-cmd --zone=public --permanent --add-port=9000-9008/tcp
    

    3.3 移除指定开放端口

    firewall-cmd --permanent --remove-port=3306/tcp
    # 移除指定端口范围
    firewall-cmd --permanent --remove-port=9000-9008/tcp
    
    # 注:未显式指定所属区域则使用默认区域 public,即上述命令相当于
    firewall-cmd --zone=public --permanent --remove-port=3306/tcp
    firewall-cmd --zone=public --permanent --remove-port=9000-9008/tcp
    

    3.4 查询指定开放端口

    # yes 表示开启,no 表示未开启
    firewall-cmd --query-port=3306/tcp
    
    # 注:未显式指定所属区域则使用默认区域 public,即上述命令相当于
    firewall-cmd --zone=public --query-port=3306/tcp
    

    请添加图片描述

    4 服务 - service

    4.1 查看已启用的服务

    firewall-cmd --list-services
    
    # 注:未显式指定所属区域则使用默认区域 public,即上述命令相当于
    firewall-cmd --zone=public --list-services
    

    4.2 查看所有可用的服务

    firewall-cmd --get-services
    

    4.3 查看指定防火墙规则

    firewall-cmd --info-service=ssh
    

    4.4 添加指定服务

    firewall-cmd --permanent --add-service=http
    
    # 注:未显式指定所属区域则使用默认区域 public,即上述命令相当于
    firewall-cmd --zone=public --permanent --add-service=http
    

    4.5 移除指定服务

    firewall-cmd --permanent --remove-service=http
    
    # 注:未显式指定所属区域则使用默认区域 public,即上述命令相当于
    firewall-cmd --zone=public --permanent --remove-service=http
    

    请添加图片描述

    5 富规则 - rich-rule

    5.1 查看已设置的富规则

    firewall-cmd --list-rich-rules
    
    # 注:未显式指定所属区域则使用默认区域 public,即上述命令相当于
    firewall-cmd --zone=public --list-rich-rules
    

    5.2 添加规则

    # 添加富规则
    # family="ipv4":规则的 IP 协议版本为 IPv4
    # source address="192.168.198.200":规则适用于源地址为 192.168.198.200 的流量
    # port protocol="tcp" port="3306":规则适用于 TCP 协议的 3306 端口
    # accept:允许规则匹配的流量通过
    # reject:拒绝规则匹配的流量通过
    
    # 允许来自 192.168.198.200 地址的 IPv4 TCP 3306 端口的流量通过防火墙,即允许 192.168.198.200 访问 3306 端口
    firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.198.200" port protocol="tcp" port="3306" accept"
    # 拒绝来自 192.168.198.200 地址的 IPv4 TCP 3306 端口的流量通过防火墙,即拒绝 192.168.198.200 访问 3306 端口
    firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.198.200" port protocol="tcp" port="3306" reject"
    
    # 注:未显式指定所属区域则使用默认区域 public,即上述命令相当于
    firewall-cmd --zone=public --permanent --add-rich-rule="rule family="ipv4" source address="192.168.198.200" port protocol="tcp" port="3306" accept"
    firewall-cmd --zone=public --permanent --add-rich-rule="rule family="ipv4" source address="192.168.198.200" port protocol="tcp" port="3306" reject"
    

    5.3 移除规则

    firewall-cmd --permanent --remove-rich-rule="rule family="ipv4" source address="192.168.198.200" port protocol="tcp" port="3306" accept"
    
    # 注:未显式指定所属区域则使用默认区域 public,即上述命令相当于
    firewall-cmd --zone=public --permanent --remove-rich-rule="rule family="ipv4" source address="192.168.198.200" port protocol="tcp" port="3306" accept"
    

    请添加图片描述

    6 注意事项

    1)上述任意更改防火墙配置的命令执行之后,均需执行firewall-cmd --reload重载使配置生效;

    2)--permanent参数会将修改的防火墙配置永久性保存到防火墙配置文件中;修改防火墙配置时如果没有使用该参数则会在系统重启时丢失修改的配置。

  • 相关阅读:
    【UI】element-ui的el-dialog的遮罩层在模态框的前面bug
    使用Selenium的WebDriver进行长截图
    贪心算法解决雷达站建站问题
    android <String>添加空格等特殊字符
    基于node.js的学生管理系统设计
    图像识别在自动驾驶汽车中的决策规划与控制策略研究。
    【windows】网络设置了代理,怎么关闭
    数的范围---二分法
    【reverse】buu-CrackRTF——提取PE中的resource、rtf的固定文件头
    小国王——状压DP
  • 原文地址:https://blog.csdn.net/weixin_42001592/article/details/139280165