8.FireWalld防火墙

news2024/10/6 12:19:37

文章目录

  • FireWalld防火墙
    • 概述
    • firewalld和iptables区别
    • firewalld区域
    • firewalld配置

FireWalld防火墙

概述

firewalld防火墙是Centos7系统默认的防火墙管理工具,取代了之前的iptables防火墙,也

是工作在网络层,属于包过滤防火墙。

firewalld和iptables都是用来管理防火墙的工具(属于用户态)来定义防火墙的各种规则功

能,内部结构都指向netfilter网络过滤子系统(属于内核态)来实现包过滤防火墙功能

fircwalld提供了支持网络区域所定义的网络连接以及接口安全等级的动态防火墙管理工具。
它支持IPv4、IPv6防火墙设置以及以太网桥(在某些高级服务可能会用到,比如云计算)
并且拥有两种配置模式:运行时配置与水久配置

  • netfilter

    • 位于Linux内核中的包过滤功能体系
    • 称为Linux防火墙的"内核态’
  • Firewalld/iptables

    • CentOS7默认的管理防火墙规则的工具(Firewalld)
    • 称为Linux防火墙的“用户态”

在这里插入图片描述

firewalld和iptables区别

  • firewalld与iptables 的区别:

    • iptables主要是基于接口,设置规则,从而判断网络的安全性。

      firewalld是基于区域,根据不同的区域来设置不同的规则,从而保证网络的安

      全,与便件防火墙的设置相类似。

    • iptables在/etc/sysconfig/ iptables中储存配置。

      firewalld将配置储存在/etc/firewalld/ (优先加载)和

      ​ /usr/lib/firewalld/ ( 默认的配置文件)中的各种 XML 文件里。

    • 使用iptables每一个单独更改意味着清除所有旧有的规从/etc/sysconfig/iptables

      里读取所有新的规则,规则修改后会立即生效

      使用firewalld却不会再创建任何新的规则,仅仅运行规则中的不同之处。因此

      firewalld可以在运行时间内,改变设置而不丢失现行连接。

    • iptables防火墙类型为静态防火墙

      firewalld防火墙类型为动态防火墙

Firewalldiptables
配置文件/usr/lib/firewalld/
/etc/firewalld
/etc/sysconfig/iptables
对规则的修改不需要全部刷新策略,不丢失现行连接需要全部刷新策略,丢失连接
防火墙类型动态防火墙静态防火墙

firewalld区域

  • 区域介绍

    • 区域如同进入主机的安全门,每个区域都具有不同限制程度的规则
    • 可以使用一个或多个区域,但是任何一个活跃区域至少需要关联源地址或接口
    • 默认情况下,public区 域是默认区域,包含所有接口(网卡)
  • firewalld数据处理

    • 如数据包的源地址与区域绑定,则此数据包不管从哪个网卡传入,都使用该区域的规则过滤数据包;
    • 如数据包的源地址未与区域绑定,则此数据包从哪个网卡传入,则使用该网卡绑定的区域规则过滤数据包
    • 如网卡未绑定区域规则,则使用默认区域规则过滤数据包
  • 9大预定义区域

    • public (默认只允许ssh, dhcp协议数据包传入)
    • home (默认只允许ssh, dhcp, samba, mdns协议数据包传入)
    • work (默认只允许ssh, dhcp协议数据包传入)
    • internal (默认只允许ssh, dhcp, samba, mdns协议数据包传入)
    • exLernal (默认只允许ssh协议数据包传入,传出数据包会做地址伪装转换MASQUERADE)
    • dmz (非军事区域,默认只允许ssh协议数据包传入)
    • trusted (允许所有)
    • block (拒绝所有,有响应消息)
    • drop(丢弃所有,无响应消息)
  • 默认情况下,public区域是默认区域,默认绑定所有接口(网卡)

最终一个区域的安全程度是取决于管理员在此区域中设置的规则。

区域如同进入主机的安全门,每个区域都具有不同限制程度的规则,只会允许符合规则的

流量传入。

可以根据网络规模,使用一个或多个区域,但是任何一个活跃区域至少需要关联源地址

或接口。

firewalld配置

  • firewalld配置方法
  1. firewall-config 使用图形化界面
  2. cd /etc/firewalld/zones 修改配置文件
  3. firewall -cmd 使用命令行进行操作
systemctl start firewalld     ##配置前先开启防火墙

一个区域可以绑定多个网卡或IP,一个网卡或IP只能绑定一个区域

firewall-cmd --get-default-zone    ##显示当前默认区域

			 --get-active-zones    ##显示当前正在使用的区域及其对应的网卡接口
			 --list-all-zones      ##显示所有区域及其规则
			 --list-all --zone=XXX  ##显示某个区域及其规则
			 --list-services --zone=XXX  ##显示某个区域的服务
			 --list-ports          ##显示指定区域内允许访问的所有端口号
			 --get-zone-of-interface=   ##显示指定接口绑定的区域

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

firewall-cmd --add-interface=xxx --zone=XXX   ##为指定接口绑定区域
firewall-cmd --add-source=xxx --zone=XXX      ##为源IP绑定区域
             --add-service=xxx --zone=XXX     ##为指定服务绑定区域
             --add-service={服务1,服务2,...} --zone=XXX 
             --add-port=端口1/协议 --zone=XXX 
             --add-port=端口1-端口2/协议 --zone=XXX 
             --add-port={端口1,端口2,...}/协议 --zone=XXX 

在这里插入图片描述
在这里插入图片描述

firewall-cmd --remove-interface=xxx --zone=XXX
firewall-cmd --remove-source=xxx --zone=XXX

在这里插入图片描述

firewall-cmd  --set-default-zone=XXX    ##设置默认区域
              --change-interface=xxx --zone=XXX    ##修改接口的区域
			  --change-source=xxx --zone=XXX      ##修改源地址

在这里插入图片描述

永久配置(不会立即生效需要重新加载)
firewall-cmd .....  --permanent
firewall-cmd --reload    或   systemctl restart firewalld

运行时配置(会立即生效,但firewalld服务重启后即失效)
firewall-cmd ....
firewall-cmd --runtime-to-permanent    #将之前的运行时配置都转换成永久配置

在这里插入图片描述

设置地址转换
(1)设置 SNAT
firewall-cmd --zone=public --direct --passthrough ipv4 -t nat -A POSTROUTING -s 192.168.80.0/24 -j SNAT --to-source 12.0.0.1

(2)设置 DNAT
firewall-cmd --zone=public --direct --passthrough ipv4 -t nat -A PREROUTING -d 12.0.0.1 -p tcp --dport 80 -j DNAT --to-destination 192.168.80.11

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/554629.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vue3 新特性详解(2)

文章目录 自定义Hook函数roRef 其它 Composition APIshallowReactive 与 shallowRefreadonly 与 shallowReadonlytoRaw 与 markRawcustomRefprovide 与 inject响应式数据的判断 Composition Api 的优势。 新的组件.FragmentTeleportSuspensevue3 一些api的转移 自定义Hook函数 …

Flink Hudi DataStream API代码示例

前言 总结Flink通过DataStream API读写Hudi Demo示例,主要是自己备忘用。 最开始学习Flink时都是使用Flink SQL,所以对于Flink SQL读写Hudi比较熟悉。但是对于写代码实现并不熟悉,而有些需求是基于Flink代码实现的,所以需要学习总结一下。仅…

ZYNQ无SD卡配置Linux系统到QSPI Flash和eMMC

硬件:黑金AX7450开发板、zynq7100、QSPI Flash、eMMC Flash 软件:Vivado 2017.4、Petalinux 我用了一台Windows主机,用于设计Vivado和烧写QSPI Flash,一台Ubuntu主机,用于运行Petalinux配置Linux系统。 硬件设计 新建…

10 工具Bootchart的使用(windows)

Bootchart的使用方法(windows) 下载bootchart.jar并拷贝到windows, 然后保证windows也安装了open jdk 1.8; 下载地址:https://download.csdn.net/download/Johnny2004/87807973 打开设备开机启动bootchart的开关: adb shell touch /data/boo…

生成VLC 及其模块的全面帮助

使用vlc.exe -H命令生成VLC帮助文件vlc-help.txt -h, --help, --no-help 打印 VLC 帮助 (可以和 --advanced 和 --help-verbose 一起使用) (默认禁用) -H, --full-help, --no-full-help VLC 及…

如何创造一个属于自己的springboot stater

如何创造一个属于自己的springboot stater 什么是staterstater是怎么实现注入进来的如何进行约定 基于上述理论的demo实现功能代码目录核心实现spring.factoriesSpringMessageSubscribe(扫描所有Subscribe注解生成消息订阅)基于Redis的消息订阅基于redis…

对封装好的Vue组件库进行打包,并发布到npm上

1. 新建vue 项目 并且在根目录创建两个文件夹 packages和examples。 packages:用于存放所有的组件 examples:用于进行测试组件,把src改为examples 2.配置vue.config.js 并设置入口文件 如果没有vue.config.js文件 就需要在项目根目录下创…

数说故事@FBIC丨首发食饮SMI社媒心智品牌榜,为品牌支招紧跟健康新风尚

第八届Foodaily创博会(FBIC全球食品饮料创新大会)于5月14-16日在上海跨国采购会展中心圆满落幕,呈现了一场食品饮料行业盛会。数说故事与众多食饮健康品牌一起,走过了一段大数据AI加持的创新之旅。 数说故事VP孙淑娟Jessie受邀分享…

Android APP 集成系统签名

由于android 系统权限限制,很多时候普通APP权限无法完成,需要系统APP才有足够的权限, 比如:安装、卸载应用,重启设备,恢复出厂设置,以及设置里面的一些功能,都是需要系统权限才能调…

【WLAN网络故障,带你搞定它!】

01 无线网卡搜索不到 AP的无线信号 01 问题现象 无线网卡搜索不到 AP 的无线信号 02 问题分析 无线网卡搜索不到 AP 的信号 ,原因可以从两方面着手: 1.无线网卡 AP本身 在遇到该问题的时候,我们可以从以上两个方面进行处理。 03 处理过程 1.无线…

Python GUI编程:使用wxPython处理长文本

这段代码的应用场景有: 在文本编辑器和IDE等应用程序中,可以使用这个示例代码来处理长文本,以便用户更好地查看和编辑文本。在数据分析和科学计算等领域中,可以使用这个示例代码来显示和处理大量的数据和结果。在日志分析和系统监…

解决方案 TestCenter自动测试软件平台

方案概述 TestCenter是一个专为加速您的测试系统软件开发而设计的自动测试系统软件平台,主要应用于测试程序的开发、运行和管理。TestCenter实现了对测试资源管理、测试程序开发与调试、测试数据管理以及测试程序发布等功能的无缝集成和统一部署,这将帮…

Google I/O 2023 推出Flutter 3.10 快来看看都有哪些变化

本文首发自[慕课网] ,想了解更多IT干货内容,程序员圈内热闻,欢迎关注"慕课网"及“慕课网公众号”! 作者: CrazyCodeBoy |慕课网名师 今年的Google I/O满满的 AI与狠活,而且还推出 Flutter 3…

Flutter一天一控件之ListTile(列表的实现)

ListTile简介 Flutter中的ListTile控件是一种常用的列表项控件,它可以用于显示列表中的每一个项,通常包含标题、副标题、图标等内容。ListTile控件的外观和行为类似于Android中的ListView中的列表项。 一个简单的ListTile示例: ListTile(l…

大流量卡介绍:网上的大流量卡都是怎么来的?

大流量卡介绍,你知道网上的大流量卡都是怎么来的? 其实,网上29元155G、39元180G的优惠套餐,本身都是我们常见的流量卡如电信星卡、联通王卡、移动花卡等等,之所以这么便宜,只不过运营商在这些套餐上面增加…

【新星计划】数据库 排名函数 初识

数据库 排名函数 初识 查询排序初识排名函数row_number()rank()dense_rank()ntile()percent_rank() 开窗函数为聚合函数使用开窗函数 小结 查询排序 在日常工作中,我们对所有需要的数据都会进行一个排序操作,以获得我们最需要的数据。 排序指令 order …

Unreal Niagara粒子入门1

记录下学习Niagara粒子的过程,这次调的是比较简单的一个效果: 使用了随粒子生命的缩放、打开速率解算、基本的发射器和Niagara容器。 1.创建Niagara Niagara中,发射器和NiagaraSystem文件是可以分开创建的: 通常直接点Niagara…

GPT-2(Transformer Decoder)的TensorFlow实现(附源码)

文章目录 一、GPT2实现步骤二、源码 一、GPT2实现步骤 机器学习模型的开发实现步骤一般都包含以下几个部分:   1. 遵照模型的网络架构,实现每一层(Layer/Block)的函数;   2. 将第1步中的函数组合在一起&#xff0c…

微信小程序nodejs+vue校园快递代拿系统uniapp校园互助系统

语言 node.js 框架:Express 前端:Vue.js 数据库:mysql 数据库工具:Navicat 开发软件:VScode 平台旨在解决目前大学生找人帮忙,难,慢,不可靠以及想兼职同学找不到好的平台的问题。对于招人帮忙的…

应急演练脚本编写的几个步骤

应急演练是一项非常重要的活动,对于保障企业的安全和稳定运行至关重要。而一个完整的应急演练需要编写一个详细的脚本来指导演练过程。以下是应急演练脚本编写的几个步骤。 定义演练场景 首先,需要定义演练场景,这将决定演练的目标和方向。在…