【firewall-cmd】--的作用以及使用方法

文章目录

    • 一、firewall-cmd的作用
    • 二、常用使用方法
      • [1. 查看当前防火墙状态](#1. 查看当前防火墙状态)
      • [2. 重新载入防火墙规则(修改配置后生效)](#2. 重新载入防火墙规则(修改配置后生效))
      • [3. 查看所有区域信息](#3. 查看所有区域信息)
      • [4. 查看当前默认区域](#4. 查看当前默认区域)
      • [5. 查看某个区域当前配置(如 public 区域)](#5. 查看某个区域当前配置(如 public 区域))
      • [6. 开放某个端口(比如 TCP 端口 8080)](#6. 开放某个端口(比如 TCP 端口 8080))
      • [7. 移除端口](#7. 移除端口)
      • [8. 添加允许的服务(比如 http、ssh)](#8. 添加允许的服务(比如 http、ssh))
      • [9. 配置接口归属到某个区域](#9. 配置接口归属到某个区域)
      • [10. 添加富规则(更灵活的规则)](#10. 添加富规则(更灵活的规则))
    • [三、附:重启 firewalld 服务](#三、附:重启 firewalld 服务)

一、firewall-cmd的作用

主要用于:

  • 配置和管理防火墙规则
  • 控制网络流量的允许与拒绝
  • 定义不同"区域"的信任级别
  • 添加/移除端口、服务、富规则(rich rules)等
  • 动态修改防火墙配置(无需重启服务)

Firewalld 基于 zone(区域) 的概念,不同的网络接口可以分配到不同的 zone,从而实现不同级别的安全策略。


二、常用使用方法

1. 查看当前防火墙状态

bash 复制代码
firewall-cmd --state

2. 重新载入防火墙规则(修改配置后生效)

bash 复制代码
firewall-cmd --reload

3. 查看所有区域信息

bash 复制代码
firewall-cmd --get-zones

4. 查看当前默认区域

bash 复制代码
firewall-cmd --get-default-zone

5. 查看某个区域当前配置(如 public 区域)

bash 复制代码
firewall-cmd --zone=public --list-all

6. 开放某个端口(比如 TCP 端口 8080)

  • 临时生效(重启失效)
bash 复制代码
firewall-cmd --zone=public --add-port=8080/tcp
  • 永久生效
bash 复制代码
firewall-cmd --zone=public --add-port=8080/tcp --permanent

7. 移除端口

bash 复制代码
firewall-cmd --zone=public --remove-port=8080/tcp --permanent

8. 添加允许的服务(比如 http、ssh)

  • 查看所有支持的服务
bash 复制代码
firewall-cmd --get-services
  • 添加服务
bash 复制代码
firewall-cmd --zone=public --add-service=http --permanent
  • 移除服务
bash 复制代码
firewall-cmd --zone=public --remove-service=http --permanent

9. 配置接口归属到某个区域

bash 复制代码
firewall-cmd --zone=internal --change-interface=eth1

10. 添加富规则(更灵活的规则)

允许某个 IP 访问特定端口:

bash 复制代码
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.10" port protocol="tcp" port="22" accept'

三、附:重启 firewalld 服务

bash 复制代码
systemctl restart firewalld
相关推荐
Wayne_Greet5 分钟前
Nginx配置负载均衡
服务器·nginx·负载均衡
biubiubiu070635 分钟前
Racknerd服务器Ubuntu
运维·服务器
有趣的我36 分钟前
30 天自制 C++ 服务器--Day3
服务器·c++
瞅小孩36 分钟前
服务器、花生壳一个端口部署前后端分离项目
linux·运维·服务器
Spring-wind37 分钟前
【docker】将本地镜像打包部署到服务器上
服务器·docker·容器
是阿建吖!1 小时前
【Linux | 网络】应用层(HTTP)
linux·网络·http
宇钶宇夕1 小时前
S7-1200 数字量模块接线:从源型 / 漏型到信号板扩展全解析
运维·服务器·数据库·程序人生·自动化
BlueBirdssh1 小时前
linux 解析设备树文件时,怎么区分是属于Platform 设备和非Platform 设备1
linux·运维·服务器
诸葛亮的芭蕉扇1 小时前
socket和websocket的区别
网络·websocket·网络协议
阿猿收手吧!1 小时前
【高并发服务器】多路复用的总结 eventfd timerfd
服务器·c++·计算机网络