Linux防火墙设置 FirewallD

【Linux安全管理】Firewalld详解 1、与iptables不同 2、配置防火墙 3、firewalld区域概念 4、filewalld 配置生效 5、firewalld服务 firewalld 端口映射 富规则 rich-rule 绑定源地址的区域规则> 网卡绑定的区域规则> 默认区域规则。 阅读详情

entos从7.0 开始将原先的防火墙iptables换成了FirewallD。FirewallD支持 IPv4, IPv6 防火墙设置以及以太网桥接,并且拥有运行时配置和永久配置选项,被称作动态管理防火墙,也就是说不需要重启整个防火墙便可应用更改。centos7默认安装了firewalld,若没有安装,执行 yum install firewalld firewalld-config 安装,其中firewalld-config是GUI工具。FirewallD与iptables关系:

firewalld-iptables

firewalld底层仍旧是基于iptables的,但还是有很多不同的地方:

  • iptables在 /etc/sysconfig/iptables 中储存配置,而 firewalld 将配置储存在 /usr/lib/firewalld/ 和 /etc/firewalld/ 中的各种 XML 文件里,其中前者是默认的配置,请不要修改。可以在/etc/firewalld/中编辑自己的配置,firewalld优先使用/etc/firewalld/中的配置。
  • 使用 iptables,每一个单独更改意味着清除所有旧有的规则和从 /etc/sysconfig/iptables里读取所有新的规则,然而使用 firewalld 却不会再创建任何新的规则;仅仅运行规则中的不同之处。因此,firewalld 可以在运行时间内,改变设置而不丢失现行连接。

firewalld中zone概念(区域)

RHEL7中的不过貌似其实现方式还是和iptables一样的,但是不像mariaDB那样兼容MySQL命令,FirewallD无法解析由 ip*tables 和 ebtables 命令行工具添加的防火墙规则

FirewallD使用区域(zone)的概念来管理,每个网卡对应一个zone,这些zone的配置文件可在/usr/lib/firewalld/zones/下看到,默认的是public.由firewalld 提供的区域按照从不信任到信任的顺序排序:

  • drop(丢弃)任何流入网络的包都被丢弃,不作出任何响应。只允许流出的网络连接。
  • block(阻塞)任何进入的网络连接都被拒绝,并返回 IPv4 的 icmp-host-prohibited 报文或者 IPv6 的 icmp6-adm-prohibited 报文。只允许由该系统初始化的网络连接。
  • public(公开) 在用以可以公开的部分。你认为网络中其他的计算机不可信并且可能伤害你的计算机。只允许选中的连接接入。
  • external(外部)用在路由器等启用伪装的外部网络。你认为网络中其他的计算机不可信并且可能伤害你的计算机。只允许选中的连接接入。
  • dmz(隔离区)用以允许隔离区(dmz)中的电脑有限地被外界网络访问。只接受被选中的连接。
  • work(工作)用在工作网络。你信任网络中的大多数计算机不会影响你的计算机。只接受被选中的连接。
  • home(家庭)用在家庭网络。你信任网络中的大多数计算机不会影响你的计算机。只接受被选中的连接。
  • internal(内部)用在内部网络。你信任网络中的大多数计算机不会影响你的计算机。只接受被选中的连接。
  • trusted(信任)允许所有网络连接。

firewalld中的过滤规则

  • source: 根据源地址过滤
  • interface: 根据网卡过滤
  • service: 根据服务名过滤
  • port: 根据端口过滤
  • icmp-block: icmp 报文过滤,按照 icmp 类型配置
  • masquerade: ip 地址伪装
  • forward-port: 端口转发
  • rule: 自定义规则

其中,过滤规则的优先级遵循如下顺序

  • source
  • interface
  • conf

firewalld常用命令

fierwalld可以直接修改配置文件进行配置,也可以通过配置工具的命令,这里因为是远程操作为了确保开启后ssh端口是开放的,所以直接修改配置文件。

先查看/etc/firewalld/firewalld.conf中DefaultZone的值,默认是DefaultZone=public,这时/etc/firewalld/zones/目录下应该有个public.xml文件,vi打开它修改成:

这就代表在public zone中开放ssh(22)、http(80)、https(443)端口,其中对应每一个在/usr/lib/firewalld/services/下*.xml文件定义好的服务类型,比如http.xml文件如下:

所以也可以直接在public.xml中这样:

每次改配置文件还是比较麻烦的,firewalld可以使用firewall-config和firewall-cmd进行配置,前者是由于GUI模式下,后者为命令行下工具,一些常用命令如下:

部分命令共同的参数说明:

  • –zone=ZONE 指定命令作用的zone,省缺的话命令作用于默认zone
  • –permanent 有此参数表示命令只是修改配置文件,需要reload才能生效;无此参数则立即在当前运行的实例中生效,不过不会改动配置文件,重启firewalld服务就没效果了。
  • –timeout=seconds 表示命令效果持续时间,到期后自动移除,不能和–permanent同时使用。例如因调试的需要加了某项配置,到时间自动移除了,不需要再回来手动删除。也可在出现异常情况时加入特定规则,过一段时间自动解除。

参考连接:

拓展知识:Linux中的防火墙

netfilter

iptables、firewalld这些软件本身其实并不具备防火墙功能,他们的作用都是在用户空间中管理和维护规则,只不过规则结构和使用方法不一样罢了,真正利用规则进行过滤是由内核的netfilter完成的。netfilter是Linux 2.4内核引入的包过滤引擎。由一些数据包过滤表组成,这些表包含内核用来控制信息包过滤的规则集。iptables、firewalld等等都是在用户空间修改过滤表规则的便捷工具。

linux内部结构可以分为三部分,从最底层到最上层依次是:硬件–>内核空间–>用户空间

linux

netfilter在数据包必须经过且可以读取规则的位置,共设有5个控制关卡。这5个关卡处的检查规则分别放在5个规则链中:

  • PREROUTING 数据包刚进入网络接口之后,路由之前
  • INPUT 数据包从内核流入用户空间
  • FORWARD 在内核空间中,从一个网络接口进入,到另一个网络接口去。转发过滤。
  • OUTPUT 数据包从用户空间流出到内核空间。
  • POSTROUTING 路由后,数据包离开网络接口前。

链其实就是包含众多规则的检查清单,每一条链中包含很多规则。当一个数据包到达一个链时,系统就会从链中第一条规则开始检查,看该数据包是否满足规则所定义的条件。如果满足,系统就会根据该条规则所定义的方法处理该数据包;否则就继续检查下一条规则,如果该数据包不符合链中任一条规则,系统就会根据该链预先定义的默认策略来处理数据包。

当一个数据包进入网卡时,它首先进入PREROUTING链,内核根据数据包目的IP判断是否需要转送出去。如果数据包就是进入本机的,它就会沿着图向下移动,到达INPUT链。数据包到了INPUT链后,任何进程都会收到它。本机上运行的程序可以发送数据包,这些数据包会经过OUTPUT链,然后到达POSTROUTING链输出。如果数据包是要转发出去的,且内核允许转发,数据包就会如图所示向右移动,经过FORWARD链,然后到达POSTROUTING链输出

netfilter

可以看出,刚从网络接口进入的数据包尚未进行路由决策,还不知道数据要走向哪里,所以进出口处没办法实现数据过滤,需要在内核空间设置转发关卡、进入用户空间关卡和离开用户空间关卡。

iptables

iptablses按照用途和使用场合,将5条链各自切分到五张不同的表中。也就是说每张表中可以按需要单独为某些链配置规则。例如,mangle表和filter表中都能为INPUT链配置规则,当数据包流经INPUT位置(进入用户空间),这两个表中INPUT链的规则都会用来做过滤检查。

iptables

五张表,每张表侧重于不同的功能

  • filter 数据包过滤功能。只涉及INPUT, FORWARD, OUTPUT三条链。是iptables命令默认操纵的表。
  • nat 地址转换功能。NAT转换只涉及PREROUTING, OUTPUT, POSTOUTING三条链。可通过转发让局域网机器连接互联网
  • mangle 数据包修改功能。每条链上都可以做修改操作。修改报文元数据,做防火墙标记等。
  • raw 快速通道功能。为了提高效率,优先级最高,符合raw表规则的数据包会跳过一些检查。
  • security 需要和selinux结合使用,内置规则比较复杂,通常都会被关闭。

iptables还支持自定义规则链。自定义的链必须和某个特定的链关联起来。可在某个链中设定规则,满足一定条件的数据包跳转到某个目标链处理,目标链处理完成后返回当前链中继续处理后续规则。因为链中规则是从头到尾依次检查的,所以规则的次序是非常重要的。越严格的规则应该越靠前。

iptablse服务管理

iptables命令参考

省缺表名为filter。命令中用到的序号(RULENUM)都基于1。

COMMAND 命令选项

CRETIRIA 条件匹配 

分为基本匹配和扩展匹配,扩展匹配又分为隐式匹配和显示匹配。

基本匹配:(可使用 ! 可以否定一个子句,如-p !tcp)

扩展匹配:(如: -p tcp  -m tcp  –dport 80)

隐式扩展匹配

对-p PROTO的扩展,或者说是-p PROTO的附加匹配条件,-m PROTO 可以省略,所以叫隐式

显示扩展匹配

ACTION 目标策略(TARGET)

辅助选项:

state  TCP链接状态

使用示例:

Firewalld:管理 Linux 防火墙的更简单方法 你还可以创建自定义区域,例如,创建一个名为custom如果需要使用未在预定义服务中列出的服务,你可以创建自定义服务。首先,在目录下创建一个新的服务文件,例如。 阅读详情

相关推荐

AT89C52单片机+LCD屏:手把手教你做一个能算小数和负数的计算器(附完整代码)

本文详细介绍了如何使用AT89C52单片机和LCD1602显示屏构建一个支持小数和负数运算的高精度计算器。从硬件选型、系统架构设计到核心算法实现,提供了完整的代码示例和优化技巧,特别适合51单片机初学者和课程设计参考。

weixin_30374009的博客 365

firewalld防火墙简单理解总结

firewalld防火墙简单理解总结

花语无痕的博客 1583

5种超实用方法:快速获取Windows文件夹下所有文件名(含CMD/PowerShell脚本)

本文详细介绍了5种快速获取Windows文件夹下所有文件名的实用方法,包括图形界面操作、Excel数据导入、CMD命令和PowerShell脚本。特别提供了高效的CMD和PowerShell脚本示例,帮助用户轻松实现文件名的批量获取与管理,大幅提升工作效率。

opencv7vision的博客 435

Linux7/Centos7新特性之防火墙

Rhel7防火墙Redhat Enterprise Linux7已经默认使用firewalld作为防火墙,其使用方式已经变化。基于iptables的防火墙被默认不启动,但仍然可以继续使用。RHEL7中有几种防火墙共存:firewalld、iptables、ebtables等,默认使用firewalld作为防火墙,管理工具是firewall-cmd。RHEL7的内核版本是3.10,在此版本的内核里防...

刘耀龙的博客 1万+

BurpSuite实战:5分钟搞定DVWA的CSRF漏洞测试(附详细截图)

本文详细介绍了如何使用BurpSuite在DVWA靶场中进行CSRF漏洞测试,包括环境配置、攻击原理剖析、分步攻击演示及企业级防御方案。通过实战案例,帮助读者深入理解CSRF漏洞的危害与防护措施,提升Web应用安全防护能力。

weixin_30879169的博客 487

EDKII实战:手把手调试PciHostBridge.c,看UEFI如何分配你的PCIe设备资源(IO/Memory空间)

本文深入解析EDKII中PciHostBridge.c模块的工作原理,详细指导如何调试PCIe设备资源分配(IO/Memory空间)。通过实战案例展示UEFI环境下Root Bridge初始化、地址空间转换及协议安装等核心流程,提供常见问题排查方法与性能优化建议,帮助开发者解决PCIe设备兼容性问题。

weixin_29201933的博客 205

如何使用 Firewalld 设置 Linux 防火墙

在 Linux 中,防火墙是一个应用程序或服务,它使用预定的规则集来过滤或控制进出 Linux 服务器的网络流量。通常将防火墙配置为允许所需的流量通过,同时阻止其余的外部流量。Firewalld是一个用于 Linux 系统的防火墙管理解决方案。它是一个服务守护进程,提供可自定义的基于主机的防火墙,以及 D-Bus 接口和一套全面的防火墙规则,用于控制网络接口之间的流量。Firewalld 使用区域的概念来管理网络流量。区域是预定义的规则集,可以将网络接口分配给这些规则集。

weixin_53510183的博客 1938

【安卓逆向】python版本 sha源码

免责声明本文内容仅供学习交流使用,严禁用于商业和非法用途。抓包数据、敏感网址以及数据接口已进行脱敏处理。 注:如有引用,请标注文章地址!!!!!!!

Coodekun的博客 809

【Linux】—管理、设置防火墙规则(firewalld详解)

【Linux】—管理、设置防火墙规则(firewalld详解)

✨ 欢迎来到【Seal ^_^ 的CSDN博客】!✨ 1万+

AI编程工具深度对比:Cursor、Copilot、Trae与Claude Code,2025年开发者该如何选择?

2025年AI编程工具市场已形成四大主力阵营:Cursor(AI原生IDE)、GitHub Copilot(行业标准)、Trae(中国免费方案)和Claude Code(终端交互)。核心差异体现在技术能力(代码生成准确率85%-95%)、智能体协作程度和上下文处理能力(8K-200K tokens)。用户体验方面,Trae对中文支持最佳且免费,Copilot企业集成强,Cursor平衡易用与功能,Claude Code适合高阶开发者。实际测试显示,不同工具在原型开发、算法实现等场景各有优势

fudaihb的博客 6488

基于C++和Basler SDK的相机开发详解

Basler相机是德国Basler公司生产的高性能工业相机,具有高分辨率、高帧率和低噪声的特点。Basler相机广泛应用于机器视觉、工业自动化、医疗影像和安防监控等领域。高分辨率和高帧率:能够捕捉清晰、细腻的图像。多种接口:支持USB、GigE、Camera Link等多种接口,方便不同应用场景的需求。丰富的配置选项:支持多种图像格式、分辨率和帧率的配置,适应不同的应用需求。本文详细介绍了如何基于C++和Basler SDK进行相机开发,涵盖了从环境搭建、相机连接、图像采集到图像处理的完整过程。

qq_38334677的博客 2086

Linux防火墙firewalld安全设置

防火墙是指设置在不同网络或网络安全域之间的一系列部件的组合,它能增强机构内部网络的安全性。它通过访问控制机制,确定哪些内部服务允许外部访问,以及允许哪些外部请求可以访问内部服务。它可以根据网络传输的类型决定IP包是否可以传进或传出内部网。防火墙通过审查经过的每一个数据包,判断它是否有相匹配的过滤规则,根据规则的先后顺序进行一一比较,直到满足其中的一条规则为止,然后依据控制机制做出相应的动作。如果都不满足,则将数据包丢弃,从而保护网络的安全。Linux系统的防火墙功能是由内核实现的。

m0_59598029的博客 1302

基于STM32、HAL库的MICRF112YMM-TR 无线收发器驱动程序设计

内部集成了 VCO、PLL、PA、LNA、混频器、滤波器等射频功能单元,极大减少了外部元件数量,降低了设计和布线难度。: 具有多种工作模式(睡眠、待机、接收、发射),待机电流极低,非常适合电池供电的物联网(IoT)设备。是 Microchip 公司生产的一款高性能、低功耗的单片 UHF ASK/FSK 收发器芯片。: 支持 ASK (幅移键控) 和 FSK (频移键控) 调制,适应不同应用需求。// 可以添加其他配置参数,如中心频率、数据速率等。智能家居(安防、遥控、传感)远程钥匙进入系统 (RKE)

corlin6688的博客 406

linux上使用firewalld设置防火墙:

linux上firewalld设置防火墙

weixin_42789811的博客 269

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

Linux永久关闭防火墙 firewalld和sellinux设置

关闭 firewalld: systemctl stop firewalld #临时关闭 systemctl disable firewalld #永久关闭,即设置开机的时候不自动启动 -------------------------------------- 关闭 selinux: [root@localhost html]# getenforce #查看selinux状态 Permissive [root@localhost html]# setenforce 0 ..

buside的博客 1462

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

linux firewalld防火墙设置

1、开启防火墙 systemctl start firewalld 2、开放指定端口 命令说明: –zone 作用域 –add-port=8080/tcp 添加端口,格式为:端口/通讯协议 –permanent 永久生效,没有此参数重启后失效 firewall-cmd --zone=public --add-port=8080/tcp --permanent 3、重启防火墙 firewall-cmd --reload 查看状态 systemctl status firewalld 停止 syst

pcw89126的博客 524

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Linux 下 firewalld 防火墙服务设置

Linux 下 firewalld 防火墙服务设置 firewalld简述 动态防火墙后台程序firewalld提供了一个动态管理的防火墙用以支持网络“zones”,以分配对一一个网络及其相关链接和界面一定程度的信任。它具备对IPV4和IP v6防火墙设置的支持。它支持以太网桥,并有分离运行时间和永久性配置选择。它还具备一个通向服务或者应用程序以直接增加防火墙规则的接口 相...

Buster_ZR的博客 6114

【linux】【firewalld】防火墙设置

前言 CentOS 7.4 开启firewalld防火墙。开启ssh、80/http端口。其余端口关闭。 操作 在CentOS7开始,默认是没有iptables的,而是使用了firewall防火墙. 开启防火墙 操作firewalld防火墙,需要使用firewall-cmd命令。 使用firewall-cmd命令,需要先启动防火墙。 firewalld防火墙默认使用的是pu...

sayyy的专栏 1055

linux下防火墙的设置(firewalld和iptables两种方式)

一 、防火墙的介绍 防火墙是整个数据包进入主机前的第一道关卡,是一种位于内部网络和外部网络之间的网络安全系统,是一项信息安全的防护系统,依照特定的规则,允许或是限制传输的数据通过。防火墙主要是通过Netfilter与TCPwarppers两个机制来管理的 firewalld编...

花语无痕的博客 849
上一篇: Nginx配置文件中文详解
下一篇: Linux常用命令汇总
sforiz
博客等级 码龄19年 178粉丝 19原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值