Linux——firewalld防火墙(一)

news2024/11/16 8:52:01

一、Linux防火墙基础

        Linux 的防火墙体系主要工作在网络层.针对TCP/P数据包实时过滤和限制.属于典型的包过滤防火墙(或称为网络层防火墙)。Linux系统的防火墙体系基于内核编码实现.具有非常稳定的性能和高效率,也因此获得广泛的应用.在CentOS 7系统中几种防火墙共存:firewalld、iptables、ebtables 默认使用firewalld来管理netfilter子系统。

        netfilter:指的是Linux内核中实现包过滤防火墙的内部结构,不以程序或文件的形式存在.属于“内核态”(Kernel Space,又称为内核空间)的防火墙功能体系。
        firewalld;指用于管理Linux防火墙的命令程序,属于“用户态”(User Space,又称为用户空间)的防火墙管理体系。

二、 firewalld概述

1、firewalld简介

        firewalld的作用是为包过滤机制提供匹配规则(或称为策略),通过各种不同的规则,告诉netfilter对来自指定源,前往指定目的或具有某些协议特征的数据包采取何种处理方式。为了更加方便地组织和管理防火墙. firewalld 提供了支持网络区域所定义的网络链接以及接口安全等级的动态防火墙管理工具。它支持IPv4、IPv6防火墙设置以及以太网桥.并且拥有两种配置模式:运行时配置与永久配置。它还支持服务或应用程序直接添加防火墙规则接口。

2、firewalld网络区域

        firewalld 将所有的网络数据流量划分为多个区域.从而简化防护墙管理.根据数据包的源Р地址或传入网络接口等条件.将数据流量转入相应区域的防火墙规则。对于进入系统的数据包,首先检查的就是其源地址。

若源地址关联到特定的区域,则执行该区域所制定的规则。
若源地址未关联到特定的区域,则使用传入网络接口的区域并执行该区域所制定的规则。

若网络接口未关联到特定的区域,则使用默认区域并执行该区域所制定的规则。

 三、firewalld防火墙的配置方法

在CentOS 7系统中,可以使用三种方式配置firewalld 防火墙

firewall-config图形工具。
firewall-cmd命令行工具。

/etc/firewalld/中的配置文件。

 1、firewalld-cmd命令

1)启动firewalld服务,并设置为开机自启状态

[root@checker ~]# systemctl start firewalld
[root@checker ~]# systemctl enable firewalld.service 

 2)查看firewalld服务运行状态

[root@checker ~]# systemctl status firewalld.service 
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
   Active: active (running) since 二 2024-01-09 17:06:11 CST; 2min 31s ago
     Docs: man:firewalld(1)
 Main PID: 6672 (firewalld)
    Tasks: 2
   CGroup: /system.slice/firewalld.service
           └─6672 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid

1月 09 17:06:11 checker systemd[1]: Starting firewalld - dynamic firewall daemon...
1月 09 17:06:11 checker systemd[1]: Started firewalld - dynamic firewall daemon.

或

[root@checker ~]# firewall-cmd --state
running

 3)想禁用firewalld,并设置开机不启动

[root@checker ~]# systemctl stop firewalld
[root@checker ~]# systemctl disable firewalld.service 
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

 2、获取定义信息

        firewall-cmd预定义信息主要包括三种:可用的区域、可用的服务以及可用的ICMP阻塞类型.具体的查看命令如下所示。

[root@checker ~]# firewall-cmd --get-zones    //显示防火墙区域
block dmz drop external home internal public trusted work   
[root@checker ~]# firewall-cmd --get-services //显示防火墙服务
[root@checker ~]# firewall-cmd --get-icmptypes  //显示预定义的ICMP类型
address-unreachable bad-header communication-prohibited destination-unreachable echo-reply echo-request fragmentation-needed host-precedence-violation host-prohibited host-redirect host-unknown host-unreachable ip-header-bad neighbour-advertisement neighbour-solicitation network-prohibited network-redirect network-unknown network-unreachable no-route packet-too-big parameter-problem port-unreachable precedence-cutoff protocol-unreachable redirect required-option-missing router-advertisement router-solicitation source-quench source-route-failed time-exceeded timestamp-reply timestamp-request tos-host-redirect tos-host-unreachable tos-network-redirect tos-network-unreachable ttl-zero-during-reassembly ttl-zero-during-transit unknown-header-type unknown-option

firewall-cmd.---get-icmptypes命令的执行结果中各种阻塞类型的含义分别如下所示。

destination—unreachable:目的地址不可达。echo-reply:应答回应〈pong).
parameter--problem:参数问题。redirect:重新定向,
router—advertisement:路由器通告。router—solicitation:路由器征寻。

source--quench:源端抑制。time一exceeded:超时。
tirnestamp-reply:时间戳应答回应。timestamp-request:时间戳请求。

1、 区域管理

使用firewall--cmd命令可以实现获取和管理区域.为指定区域绑定网络接口等功能。

(1)显示当前系统中的默认区域 

[root@checker ~]# firewall-cmd --get-default-zone 
public

(2) 显示默认区域的所有规则

[root@checker ~]# firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: ens33
  sources: 
  services: ssh dhcpv6-client
  ports: 
  protocols: 
  masquerade: no
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules: 

(3)显示网络接口ens33对应的区域

[root@checker ~]# firewall-cmd --get-zone-of-interface=ens33
public

 (4)将网络接口ens33对应区域更改为internal区域

[root@checker ~]# firewall-cmd --zone=internal --change-interface=ens33
The interface is under control of NetworkManager, setting zone to 'internal'.
success
[root@checker ~]# firewall-cmd --zone=internal --list-interfaces 
ens33
[root@checker ~]# firewall-cmd --get-zone-of-interface=ens33
internal

(5)显示所有激活区域 

[root@checker ~]# firewall-cmd --get-active-zones 
internal
  interfaces: ens33

2、服务管理

(1) 为默认区域设置允许访问的服务

[root@checker ~]# firewall-cmd --add-service=http   //设置默认区域允许访问http服务
success
[root@checker ~]# firewall-cmd --add-service=https  //设置默认区域允许访问https服务
success
[root@checker ~]# firewall-cmd --list-services     //显示默认区域内允许访问的所有服务
ssh dhcpv6-client http https

(2)为internal区域设置允许访问的服务

//设置internal区域允许访问mysql服务
[root@checker ~]# firewall-cmd --zone=internal --add-service=mysql 
success
//设置internal区域不允许访问samba-client服务
[root@checker ~]# firewall-cmd --zone=internal --remove-service=samba-client 
success
//显示internal区域内允许访问的所有服务
[root@checker ~]# firewall-cmd --zone=internal --list-services 
ssh mdns dhcpv6-client mysql

(3)端口管理,在internal区域打开443/tcp端口

[root@checker ~]# firewall-cmd --zone=internal --add-port=443/tcp
success

禁止访问443/tcp端口号

[root@checker ~]# firewall-cmd --zone=internal --remove-port=443/tcp

        前面提到firewall-cmd命令工具有两种配置模式:运行时模式(Runtime mode)表示当前内存中运行的防火墙配置,在系统或firewalld服务重启.停止时配置将失效,永久模式(Permanent mode)表示重启防火墙或重新加载防火墙时的规则配置,是永久存储在配置文件中的。

firewall-cmd命令工具与配置模式相关的选项有三个。

——reload:重新加载防火墙规则并保持状态信息.即将永久配置应用为运行时配置。
——permanent:带有此选项的命令用于设置永久性规则.这些规则只有在重新启动firewalld或重新加载防火墙规则时才会生效;若不带有此选项,表示用于设置运行时规则.
——runtime-10--permanent:将当前的运行时配置写入规则配置文件中.使之成为永久性配置。

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

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

相关文章

虾皮如何查看自己的店铺

在虾皮(Shopee)平台上查看自己的店铺是非常重要的,因为它可以帮助您了解店铺的运营情况、管理商品和处理客户服务等。下面是在虾皮平台上查看店铺的步骤: 先给大家推荐一款shopee知虾数据运营工具知虾免费体验地址(复制…

【leetcode 447. 回旋镖的数量】审慎思考与推倒重来

447. 回旋镖的数量 题目描述 给定平面上 **n **对 互不相同 的点 points ,其中 points[i] [xi, yi] 。回旋镖 是由点 (i, j, k) 表示的元组 ,其中 i 和 j 之间的距离和 i 和 k 之间的欧式距离相等(需要考虑元组的顺序)。 返回平…

remote-ssh如何离线下载历史版本

remote-ssh离线下载任意历史版本方法,简单有效 很多小伙伴都会遇到这样的问题,由于内网服务器中安装的vs code版本较低,比如1.62.0版本,官网发布的version history 只展示最新的五个版本,还是太高了,导致下…

C#,入门教程(12)——数组及数组使用的基础知识

上一篇: C#,入门教程(11)——枚举(Enum)的基础知识和高级应用https://blog.csdn.net/beijinghorn/article/details/123917587 数组是一种数据集合,是一组完全相同的、按顺序存放的数据。 需要记住数组的几个特征&…

P1003 [NOIP2011 提高组] 铺地毯————C

目录 [NOIP2011 提高组] 铺地毯题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1 样例 #2样例输入 #2样例输出 #2 提示 解题思路Code运行结果 [NOIP2011 提高组] 铺地毯 题目描述 为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域(可看做…

MT6785安卓核心板_联发科MTK6785/Helio G95/曦力G95核心板定制

MT6785安卓核心板是基于MT6785(Helio G95)处理器,具备八核处理器结构,包括2颗主频为2.05GHz的Cortex A76处理器和6颗主频为2.0GHz的Cortex A55处理器,以及六颗Cortex-A55处理器。而在GPU方面,采用了Arm Mali-G76 MC4,频…

Modbus转Profinet网关揭秘!升级工业自动化!

Modbus转Profinet网关(XD-MDPN100/200)通过Modbus协议和Profinet协议之间的转换,实现了不同设备之间的通信。Modbus是一种常用的串行通信协议,而Profinet是一种基于以太网的工业通信协议。随着工业自动化的不断发展,Mo…

3.6 QUERYING DEVICE PROPERTIES

我们关于将执行资源分配给区块的讨论提出了一个重要问题。我们如何确定可用资源的数量?当CUDA应用程序在系统上执行时,它如何确定设备中的SM数量以及可以分配给每个SM的块和线程数量?可能与执行CUDA应用程序相关的其他资源尚未讨论。一般来说…

12.8-1.8

2023.12.8 redis容器 docker run -p 6379:6379 --name redis -v /mydata/redis/data:/data -v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf -d redis redis-server /etc/redis/redis.conf redis.conf不存在,需先在宿主机创建该目录下文件&#xff0c…

《亚太教育》是什么级别的期刊?是正规期刊吗?能评职称吗?

《亚太教育》主要发表教育理论研究、教育教学实践、学校管理、学科教育、科研管理等学术论文以及其他与教育教学相关的学术论文和研究成果,现征集教育管理以及各学科优秀论文。欢迎.各位教师、教育工作者及高校学生踊跃投稿。 收录情况:知网万方维普收录 投稿方式&a…

主播职业发展

主播作为当今互联网时代的新兴职业,拥有着广阔的发展前景和无限的可能性。为了在竞争激烈的市场中脱颖而出,主播需要不断提升自己的专业技能,拓展知识领域,增强互动能力,积累粉丝基础,寻求合作机会&#xf…

实现导航栏吸顶操作

一、使用VueUse插件 // 安装 npm i vueuse/core二、点击搜索useScroll 2.1搜索结果如图 三、使用 // 这是示例代码 import { useScroll } from vueuse/core const el ref<HTMLElement | null>(null) const { x, y, isScrolling, arrivedState, directions } useSc…

TS2307: Cannot find module ‘./App.vue‘ or its corresponding type declarations.

目录 1. 问题描述2. 解决方案一&#xff1a;VSCode Volar&#xff08;官方推荐&#xff09;3. 解决方案二&#xff1a;WebStorm 2023.2 &#xff08;官方推荐&#xff09;4. 解决方案三&#xff1a;禁用严格类型检查选项&#xff08;不推荐&#xff09;5. 解决方案四&#xff…

redhat+ oracle 11.2.0.4 RAC 搭建 dataguard

知识改变命运&#xff0c;技术就是要分享&#xff0c;有问题随时联系&#xff0c;免费答疑&#xff0c;欢迎联系&#xff01; redhat oracle 11.2.0.4 RAC 搭建 dataguard 1.安装环境 主机名 OS DB SID db_name db_unique_name rac1 Redhat7 11.2.0.4 orcl1 orcl o…

用React给XXL-JOB开发一个新皮肤(一):环境搭建和项目初始化

目录 一. 简述二. Fork 项目三. 搭建开发环境四. 初始化皮肤项目五. 添加相关依赖六. 预览 一. 简述 大名鼎鼎的 xxl-job 任务调度中心我们应该都使用过&#xff0c;项目地址&#xff1a;xxl-job。它是一个分布式任务调度平台&#xff0c;其核心设计目标是开发迅速、学习简单…

XREAL推出其新款AR眼镜:XREAL Air 2 Ultra,体量轻内置音效

这款眼镜堪称科技的杰作&#xff0c;它以钛合金为框架&#xff0c;尽显轻盈与精致。配备的双3D环境传感器&#xff0c;宛如双眼般敏锐&#xff0c;能精准捕捉头部运动&#xff0c;让你在虚拟与现实间自由穿梭。120Hz的超高刷新率与500尼特的亮度&#xff0c;让你在4米之外感受1…

tcp/ip协议2实现的插图,数据结构6 (24 - 章)

(142) 142 二四1 TCP传输控制协议 tcpstat统计量与tcp 函数调用链 (143) 143 二四2 TCP传输控制协议 宏定义与常量值–上 (144) 144 二四3 TCP传输控制协议 宏定义与常量值–下 (145) 145 二四4 TCP传输控制协议 结构tcphdr,tcpiphdr (146) 146 二四5 TCP传输控制协议 结构 tcp…

服务端性能测试——性能测试体系

目录&#xff1a; 1.性能测试介绍 性能测试介绍性能体系&#xff1a;性能测试与分析优化&#xff1a;行业流行性能压测工具介绍行业流行性能监控工具介绍行业流行性能剖析工具介绍性能测试流程与方法性能测试计划 计划&#xff1a;DAU&#xff0c;PV(perday)&#xff0c;订单量…

混淆技术概论

混淆技术概论 引言 在逆向工程领域&#xff0c;混淆技术是一种非常重要的技术手段&#xff0c;通过打破人们的思维惯性&#xff0c;使得逆向分析变得更加困难。本文将会介绍混淆技术的概念、分类及其应用&#xff0c;以及如何使用IPA Guard进行iOS IPA重签名。 混淆技术概述…

2024 运维监控方案解读

WGCLOUD监控系统是一款免费开源的运维工具&#xff0c;具有部署简单&#xff0c;上手容易&#xff0c;轻量高效&#xff0c;性能突出&#xff0c;对新手友好&#xff0c;安全稳定&#xff0c;私有化部署等特点 1、WGCLOUD可以监控大部分的主机和服务器&#xff0c;比如Linux、…