当前位置: 首页 > news >正文

Linux中firewalld(防火墙)配置与管理指南

Linux中firewalld(防火墙)配置与管理指南

一. 防火墙基础概念

  • 网络安全模式,通过它可以隔离风险区域与安全区域的链接

  • 作用

    • 隔离风险区域与安全区域
    • 显示他人进入内部网络
    • 阻止非法访问和不安全服务
    • 防御入侵
    • 限制用户访问特定网络
    • 为监控网络流量安全提供方便
  • 实现模块

    • netfilter(Linux内核网络过滤模块)
      • /lib/modules/3.10.0-957.el7.x86_64/kernel/net/netfilter
    • 管理工具:
      • iptables(CentOS 6)
      • firewalld(CentOS 7+)

二. Firewalld 核心概念

区域(Zone)
Zone行为
drop强制拒绝所有流量,不反馈消息
block拒绝流量,反馈拒绝消息
trusted允许所有流量

注意drop/block 默认禁止所有流量,trusted 默认允许所有流量。

在这里插入图片描述

三、命令行常用命令

  1. 查看防火墙信息

    firewall-cmd --list-all
    

    在这里插入图片描述

  2. 查看当前默认区域(zone)

    firewall-cmd --get-default-zone			# 查看当前默认zonefirewall-cmd --list-all-zones			# 查看所有zone
    

    在这里插入图片描述

  3. 更改默认区域

    firewall-cmd --set-default-zone=home
    

    在这里插入图片描述

  4. 添加服务

    firewall-cmd --add-service=ftp --permanentfirewall-cmd --reload			# 重新加载
    

    在这里插入图片描述

  5. 添加端口

    firewall-cmd --add-port=8080/tcp --permanent firewall-cmd --reload			# 重新加载
    

    在这里插入图片描述

四、富规则

基础语法
firewall-cmd --add-rich-rule='<RULE>' --permanent
常用场景
  1. 允许特定网段访问服务

    firewall-cmd --add-rich-rule='rule family=ipv4 source address=192.168.100.0/24 service name=http accept' --permanent
    
  2. 拒绝流量并记录日志

    # 拒绝 SSH 连接,日志记录到审计系统(限速 2条/分钟)
    firewall-cmd --add-rich-rule='rule family=ipv4 source address=192.168.100.0/24 service name=ssh audit limit value=2/m reject' --timeout=600  # 10分钟后失效
    
  3. 带日志的允许规则

    # 允许 HTTP 访问,日志级别 notice(限速 10条/分钟)
    firewall-cmd --add-rich-rule='rule family=ipv4 source address=192.168.100.0/24 service name=http log prefix=http level=notice limit value=10/m accept' --permanent
    

记录:
level:定义日志级别,日志有8个级别
emergaltercriterrorwarningnoticeinfodebug

五、伪装

  1. 启用 IP 转发
vim /etc/sysctl.confnet.ipv4.ip_forward = 1sysctl -p
  1. 配置伪装
# 为网段启用伪装
firewall-cmd --add-rich-rule='rule family=ipv4 source address=192.168.100.0/24 masquerade' --zone=public --permanent
# 或对整个区域启用
firewall-cmd --add-masquerade --zone=public
  1. 端口转发
# 将本机 8000/TCP 转发到 192.168.100.20:80
firewall-cmd --add-forward-port=port=8000:proto=tcp:toport=80:toaddr=192.168.100.20# 富规则实现:转发 12.12.12.0/24 的 80 端口流量到 192.168.100.20:80
firewall-cmd --add-rich-rule='rule family=ipv4 source address=12.12.12.0/24 forward-port port=80 protocol=tcp to-port=80 to-addr=192.168.100.20' --permanent

富规则组件

rule family=ipv4/ipv6
source address=<IP>/<CIDR>
service name=<服务名>
port=<端口号>
forward-port port=<源端口> protocol=<协议> to-port=<目标端口> to-addr=<目标IP>
http://www.dtcms.com/a/318723.html

相关文章:

  • 【golang】基于redis zset实现并行流量控制(计数锁)
  • InfluxDB 集群部署与高可用方案(一)
  • C基础 15_day
  • 从代码学习LLM - llama3 PyTorch版
  • css优化、提升性能方法都有哪些?
  • Nacos机制
  • 【图像处理基石】什么是数字高程模型?如何使用数字高程模型?
  • 进阶向:AI聊天机器人(NLP+DeepSeek API)
  • 双馈和永磁风机构网型跟网型联合一次调频并入同步机电网,参与系统一次调频,虚拟惯量下垂,虚拟同步机VSG控制matlab/simulink
  • 202506 电子学会青少年等级考试机器人六级实际操作真题
  • PCB工艺-四层板制作流程(简单了解下)
  • 小实验--继电器定时开闭
  • TrustZone技术详解————这篇是AI写的包括图
  • 贝叶斯算法中的参数调优
  • RK3568下用 Qt Charts 实现曲线数据展示
  • python---getsizeof和asizeof的区别
  • 17.Linux :selinux
  • LMS/NLMS最小均值算法:双麦克风降噪
  • CentOS8.5安装19c单机告警及处理
  • 碳纳米管的原子精度制造——展望
  • 福彩双色球第2025090期篮球号码分析
  • docker启动出现Error response from daemon: Container的问题【已解决】
  • 容器化运维工具(2)Kubernetes 详细教程(含图解)
  • 开发避坑指南(18): SpringBoot环境变量配置错误:占位符解析失败解决方案
  • 【数据结构与算法-Day 12】深入浅出栈:从“后进先出”原理到数组与链表双实现
  • 奔图P2500NW打印机加碳粉方法
  • 《Transformer黑魔法Mask与Softmax、Attention的关系:一个-∞符号如何让AI学会“选择性失明“》
  • 深入理解 qRegisterMetaType<T>()
  • DAY32打卡
  • 字符输入流—read方法