Firewalld防火墙

Firewalld概述

Firewalld

firewalld防火墙是centos7系统默认防火墙的防火墙管理工具,取代了之前的iptables防火墙,也是工作在网络层,属于包过滤防火墙。

  1. 支持网络区域所定义的网络链接以及接口安全等级的动态防火墙管理工具
  2. 至此IPv4、IPv6防火墙设置以及以太网桥
  3. 支持服务或引用程序直接添加防火墙规则接口
  4. 拥有两种配置模式
  • 运行时配置
  • 永久配置

Firewalld和iptables的关系

firewalld和iptables都是用来管理防火墙的工具(属于用户态)来定义防火墙的各种规则功能,内部结果都指向netfilter网络过滤子系统(属于内核态)来实现防火墙功能。

netfilter
  • 位于linux内核中的包过滤功能体系
  • 称为linux防火墙的“内核态”
Firewalld/iptables
  • centos7默认的管理防火墙规则工具(firewalld)
  • 称为linux防火墙的“用户态”

 

Firewalld和iptables区别
不同点firewalldiptables
配置文件/usr/lib/firewalld /etc/firewalld/etc/sysconfig/iptables
对规则的修改不需要全部刷新策略,不丢失现有连接需要全部刷新策略,丢失连接
反获取类型动态防火墙静态防火墙
设置规则是基于区域根据不同的区域这只不同的规则,从而保证网络安全主要基于接口,来设置规则,从而判断网络的安全性

Firewalld区域的概念

  • firewalld防火墙为了简化管理,将所有网络流量分为多个区域(zone)。然后根据数据包的源IP地址或传入的网络接口等条件将流量传入相应的区域。每个区域都定义了自己打开或者关闭的端口和服务列表。

Firewalld防火墙定义了9个区域

区域作用
trusted(信任区域)允许所有的传入流量。
public(公共区域)允许与ssh或dhcpv6-client预定义服务匹配的传入流量,其余均拒绝。是新添加网络接口的默认区域。
external(外部区域)允许与ssh预定义服务匹配的传入流量其余均拒绝。
home(家庭区域)允许与ssh、mdns、samba-client或dhcpv6-client预定义服务匹配的传入流量,其他均拒绝。
internal(内部区域)默认值与home区域相同。
work(工作区域)允许与ssh、dhcpv6-client预定义服务匹配的传入流量,其他均拒绝
dmz(隔离区域也称非军事区域)允许与ssh预定义服务匹配的传入流量,其他均拒绝。
block(限制区域)拒绝所有传入流量。
drop(丢弃区域)丢弃所有传入流量,并且不产生包含icmp的错误响应。

Firewalld网络区域

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

 

Firewalld数据处理流程
  • 检查数据来源的源地址
  • 若源地址关联到特定的区域,则执行该区域所指定的规则
  • 若源地址未关联到特定的区域,则使用传入网络接口的区域并执行该区域所指定的规则
  • 若网络接口未关联到特定的区域,则使用默认区域并执行该区域的所有指定的规则

也就说明了区域的优先级:源地址绑定、大于、网卡绑定、大于、默认区域。

Firewalld防火墙的配置方法

运行时配置

  • 实时生效,并持续至Firewalld重新启动或重新加载配置文件
  • 不中断现有连接
  • 不能修改服务器配置

永久配置

  • 不立即生效,除非Firewaddl重新启动或重新加载配置
  • 中断现有连接
  • 可以修改服务配置
配置方法
  • firewall-config 图形化工具(只需要点点点即可)
  • firewall-cmd 命令行工具(生成环境中没有图形化界面所有只能在命令行进行配置)
/etc/firewalld/中的配置文件

firewalld会优先使用/etc/firewalld/中的配置,如果不存在配置文件,则使用/usr/lib/firewalld/中的配置

  • /etc/firewalld/:用户自定义配置文件,需要时可通过从/usr/lib/firewalld/中拷贝
  • /usr/lib/firewalld/:默认配置文件,不建议修改,若恢复至默认配置,可直接删除/etc/firewalld/中的配置

示例:图形化界面

 或用命令firewall-config打开

 

以http服务为例,打开httpd服务 

 

                      运行时:修改后立即生效

                      永久:重新加载或者重启之后永久生效

 修改端口号

 

firewall-cmd命令行配置

常用firewall-cmd命令选项

 

示例:

--get-default-zone :显示当前默认区域 

 --set-default-zone=<zone> :设置默认区域

--get-active-zones :显示当前正在使用的区域及其网卡接口 

--get-zones :显示所有可用的区域 

--get-zone-of-interface=<interface> :显示指定接口绑定的区域 

--zone=<zone> --add-interface=<interface>:为指定接口绑定区域 

--zone=<zone> --change-interface=<interface> :为指定区域更改绑定的网络接口

--zone=<zone> --remove-interface=<interface> :为指定区域删除绑定的网络接口 

--add-source=<source> --zone=<zone> :为指定源地址绑定区域

--change-source=<source> --zone=<zone> :为指定的区域更改绑定的源地址

--remove-source=<source> --zone=<zone> :为指定的区域删除绑定的源地址 

--list-all-zones:显示所有区域及其规则

 

--list-all --zone=<zone> :显示所有指定区域的所有规则,若不指定区域表示仅对默认的区域操作

 

--zone=<zone> --list-ports:x显示指定区域内允许访问的所有端口号

--zone=<zone> --add-port=<poreid>[-portid]/<portocol>:为指定的区域设置允许访问的某个端口号/某段端口号(包括协议)

--zone=<zone> --remove-port=<poreid>[-portid]/<portocol>:删除指定区域已设置允许访问的端口号(包括协议) 

 --zone=<zone> --list-icmp-blocks :显示指定区域内拒接访问的所有icmp类型

--zone=<zone> --add-icmp-block=<icmptype>:为指定区域设置允许访问的某项icmp类型

--zone=<zone> --remove-icmp-block=<icmptype>删除指定区域已设置允许访问的某项icmp类型 firealld-cmd --get-icmptypes :显示所有icmp类型

 

区域管理
显示当前系统中的默认区域
firewall-cmd --get-default-zone显示默认区域的所有规则
firewall-cmd --list-all显示当前正在使用的区域及其对应的网卡接口
firewall-cmd --get-active-zones设置默认区域
firewall-cmd --set-default-zone=home
服务管理
查看默认区域内允许访问的所有服务
firewall-cmd --list-service添加http服务到public区域
firewall-cmd --add-service=http --zone=public同时添加http、https服务器到默认区域,设置成永久生效
firewall-cmd --add-service={http,https,ftp} --zone=public --permanent
端口管理
允许tcp的443端口到internal区域
firewall-cmd --zone=internal --add-port=443/tcp从internal区域将tcp443端口移除
firewall-cmd --zone=internal --remove-port=443/tcp允许udp的2048-2050端口到默认区域
firewall-cmd  --add-port=2048-2050/tcp

 

使用firewalld来实现SNAT、DNAT地址转换

如:

清空指定表名所有规则 iptables -t nat -F

指定区域在public区域设置转发指定ipv4发送指定表名nat在末行添加POSTROUTING链

修改数据包的源地址为192.168.239网段的出站IP为12.0.0.1

firewall-cmd --zone=public --direct --passthrough ipv4 -t nat -A POSTROUTING -s 192.168.239.0/24 -j SNAT --to-source 12.0.0.1

指定区域在public区域设置转发指定ipv4发送指定表名nat在末行添加PREROUTING链

修改数据包的目的地址为12.0.0.1TCP协议80号端口的入站ip为192.168.239.100

firewall-cmd --zone=public --direct --passthrough ipv4 -t nat -A PREROUTING -d 12.0.0.1 -p tcp --dport 80 -j DNAT --to 192.168.239.100

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

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

相关文章

ECMAScript modules规范示例详解

ECMAScript modules&#xff08;简称 ES modules&#xff09;是JavaScript的标准模块系统。每个模块都是一个独立的JavaScript文件&#xff0c;可以在其中定义导出的变量、函数或类&#xff0c;并从其他模块中导入这些变量、函数或类。以下是ES modules规范的一些示例和详解&am…

Go 线程池实现案例

Go 语言并不像其他一些语言&#xff08;例如 Java 或 C#&#xff09;那样直接提供一个线程池的概念。相反&#xff0c;Go 使用 goroutines 来实现并发&#xff0c;它是一种比线程更轻量级的并发执行单元。不过&#xff0c;仍然可以实现一个类似线程池的结构&#xff0c;来管理和…

studio one 6正版多少钱?怎么购买studio one 更便宜,有优惠券哦

Presonus Studio One Studio One是由美国PreSonus公司开发的数字音频工作站&#xff0c;作为DAW届的新人&#xff0c;功能强大且全面&#xff0c;虽然它不像其他DAW那样拥有历史和声誉&#xff0c;但它是一个可爱的软件&#xff0c;包含许多其它DAW所不具备的实用功能&#xff…

web基础及http协议 (二)----------Apache相关配置与优化

一、httpd 安装组成 http 服务基于 C/S 结构 1 .常见http 服务器程序 httpd apache&#xff0c;存在C10K&#xff08;10K connections&#xff09;问题 nginx 解决C10K问题lighttpd IIS .asp 应用程序服务器 tomcat .jsp 应用程序服务器 jetty 开源的servlet容器&#xf…

选择 Python IDE(VSCode、Spyder、Visual Studio 2022和 PyCharm)

前言 当选择 Python 开发工具时&#xff0c;你需要考虑自己的需求、偏好和项目类型。下面是对VSCode、Spyder、Visual Studio 2022和 PyCharm的对比推荐总结&#xff1a; 结论 1、如果你专注于“数据科学”&#xff0c;选择SpyDer没错。 内容 Visual Studio Code (VS Code)…

react项目中的redux以及react-router-dom

扫盲知识点&#xff1a; 1 传递自定义事件&#xff1a; <button onClick{(e)>{change(e)}}>获取事件对象e</button> 将事件对象e传递到了change的这个方法中。 2 同时传递自定义事件和参数&#xff1a; <button onClick{(e)>{change(‘我…

基于微信小程序失物招领系统设计与实现(PHP后台+Mysql)可行性分析

博主介绍&#xff1a;黄菊华老师《Vue.js入门与商城开发实战》《微信小程序商城开发》图书作者&#xff0c;CSDN博客专家&#xff0c;在线教育专家&#xff0c;CSDN钻石讲师&#xff1b;专注大学生毕业设计教育和辅导。 所有项目都配有从入门到精通的基础知识视频课程&#xff…

CleanMyMac2024苹果电脑清理工具最新使用全面评价

作为软件评价专家&#xff0c;我对CleanMyMac X进行了全面的评估&#xff0c;以下是我的详细评价&#xff1a; CleanMyMac X4.14.6全新版下载如下: https://wm.makeding.com/iclk/?zoneid49983 一、功能 CleanMyMac X的功能相当全面&#xff0c;几乎涵盖了Mac电脑清理所需的…

nginx 具体介绍

一&#xff0c;nginx 介绍 &#xff08;一&#xff09;nginx 与apache 1&#xff0c; Apache event 模型 相对于 prefork 模式 可以同时处理更多的请求 相对于 worker 模式 解决了keepalive场景下&#xff0c;长期被占用的线程的资源浪费问题 因为有监听线程&#…

【数据结构】链式队列

链式队列实现&#xff1a; 1.创建一个空队列 2.尾插法入队 3.头删法出队 4.遍历队列 一、main函数 #include <stdio.h> #include "./3.linkqueue.h" int main(int…

文档控件DevExpress Office File API v23.2新版亮点 - 支持SVG

DevExpress Office File API是一个专为C#, VB.NET 和 ASP.NET等开发人员提供的非可视化.NET库。有了这个库&#xff0c;不用安装Microsoft Office&#xff0c;就可以完全自动处理Excel、Word等文档。开发人员使用一个非常易于操作的API就可以生成XLS, XLSx, DOC, DOCx, RTF, CS…

数据结构之单链表的操作

main函数 #include <stdio.h> #include "./03_linkList.h" int main(int argc, const char *argv[]) { linkList* head creatr_linkList(); insertHead_linkL…

运维SRE-19 网站Web中间件服务-http-nginx

Ans自动化流程 1.网站集群核心协议&#xff1a;HTTP 1.1概述 web服务&#xff1a;网站服务&#xff0c;网站协议即可. 协议&#xff1a;http协议,https协议 服务&#xff1a;Nginx服务&#xff0c;Tengine服务....1.2 HTTP协议 http超文本传输协议&#xff0c;负责数据在网站…

更高效的构建工具-vite

更高效的构建工具-vite 前言Vite是什么Vite和webpack的比较1. 运行原理2. 使用成本 Vite的初体验 前言 首先我们要认识什么时构建工具&#xff1f; 企业级项目都具备什么功能呢&#xff1f; Typescript&#xff1a;如果遇到ts文件&#xff0c;我们需要使用tsc将typescript代码…

Android约束布局中用ConstraintHelper实现过渡动画效果

前些天发现了一个蛮有意思的人工智能学习网站,8个字形容一下"通俗易懂&#xff0c;风趣幽默"&#xff0c;感觉非常有意思,忍不住分享一下给大家。 &#x1f449;点击跳转到教程 一.创建一个类CircularRevealHelper继承ConstraintHelper代码如下 /*** Author: ly* Da…

【Linux从青铜到王者】 基础IO

本篇重点&#xff1a;文件描述符&#xff0c;重定向&#xff0c;缓冲区&#xff0c;磁盘结构&#xff0c;文件系统&#xff0c;inode理解文件的增删查改&#xff0c;查找一个文件为什么一定要有路径&#xff0c;动静态库&#xff0c;有的时候为什么找不到库&#xff0c;动态库的…

JavaWeb——003Axios Vue组件库(Element)

目录 一、Ajax 1、同步与异步​编辑 2、原生Ajax&#xff08;繁琐&#xff09;​编辑 2.1、写一个简易的Ajax 3、Axios&#xff08;推荐使用&#xff09;​编辑 3.1、Axios入门 3.2、Axios请求方式别名 3.3、案例&#xff1a;基于Vue及Axios完成数据的动态加载展示​编…

Flink CDC 3.0 表结构变更时导致webUI接口无反应原因

Flink CDC 3.0 表结构变更时导致webUI接口无反应&#xff01; 原因&#xff1a;因为deliverCoordinationRequestToCoordinator和requestJob都是SchedulerNG中方法&#xff0c;该类的线程模型是单线程执行&#xff0c;所以在deliverCoordinationRequestToCoordinator执行表结构…

mysql创建数据库,用户授权

一、创建用户 CREATE USER 用户名% IDENTIFIED BY 密码; flush privileges; 二、更新用户密码 update mysql.user set authentication_stringpassword("密码") where userroot; flush privileges; 三、允许root远程登录 update user set host % where user r…

AIoT网关 人工智能物联网网关

AIoT(人工智能物联网)作为新一代技术的代表&#xff0c;正以前所未有的速度改变着我们的生活方式。在这个智能时代&#xff0c;AIoT网关的重要性日益凸显。它不仅是连接智能设备和应用的关键&#xff0c;同时也是实现智能化家居、智慧城市和工业自动化的必备技术。      一…