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

Linux——firewalld防火墙(一)

一、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 daemonLoaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)Active: active (running) since 二 2024-01-09 17:06:11 CST; 2min 31s agoDocs: man:firewalld(1)Main PID: 6672 (firewalld)Tasks: 2CGroup: /system.slice/firewalld.service└─6672 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid1月 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: defaulticmp-block-inversion: nointerfaces: ens33sources: services: ssh dhcpv6-clientports: protocols: masquerade: noforward-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 
internalinterfaces: 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:将当前的运行时配置写入规则配置文件中.使之成为永久性配置。

相关文章:

Linux——firewalld防火墙(一)

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

JMeter之Windows安装

JMeter之Windows安装 一、安装JDK二、安装JMeter1、下载JMeter2、配置环境变量3、验证JMeter 三、扩展知识1、汉化 一、安装JDK 略 二、安装JMeter 1、下载JMeter 官网地址:https://jmeter.apache.org/download_jmeter.cgi 放到本地目录下 2、配置环境变量 变量…...

用通俗易懂的方式讲解:大模型 RAG 在 LangChain 中的应用实战

Retrieval-Augmented Generation(RAG)是一种强大的技术,能够提高大型语言模型(LLM)的性能,使其能够从外部知识源中检索信息以生成更准确、具有上下文的回答。 本文将详细介绍 RAG 在 LangChain 中的应用&a…...

正则表达式的语法

如果要想灵活的运用正则表达式,必须了解其中各种元素字符的功能,元字符从功能上大致分为: 限定符 选择匹配符 分组组合和反向引用符 特殊字符 字符匹配符 定位符 我们先说一下元字符的转义号 元字符(Metacharacter)-转义号 \\ \\ 符号…...

MyBatis分页插件的实现原理

MyBatis 分页插件的实现原理是通过拦截器(Interceptor)来实现的。拦截器可以在 SQL 执行前后对 SQL 进行拦截和处理。 简单来说,就是通过在查询语句中添加额外的参数和逻辑,以支持分页功能。它的核心思想是将分页参数传递给插件&…...

Winform、WPF如何解决前端卡死问题

在WinForms和WPF中,前端卡死问题通常是由于长时间的计算或阻塞操作导致的。以下是一些解决前端卡死问题的常见方法: 使用异步操作:将长时间的计算或阻塞操作放在后台线程中执行,以避免阻塞UI线程。可以使用Task、async/await等异步…...

python内app自动化测试的局限性,该如何破局?

Python在App自动化测试方面非常流行,尤其对于移动应用(Android和iOS)的测试,可以借助于像Appium、Robot Framework等工具进行跨平台自动化。然而,即使使用Python这样的强大语言,App自动化测试也存在一些局限…...

k8s的node亲和性和pod亲和性和反亲和性 污点 cordon drain

node亲和性和pod亲和性和反亲和性 污点 cordon drain 集群调度: schedule的调度算法 预算策略 过滤出合适的节点 优先策略 选择部署的节点 nodeName:硬匹配,不走调度策略,node01 nodeSelector:根据节点的标签选择,会走调度的算法 只…...

IntelliJ IDEA如何使用固定地址公网远程访问本地Mysql数据库

文章目录 1. 本地连接测试2. Windows安装Cpolar3. 配置Mysql公网地址4. IDEA远程连接Mysql小结 5. 固定连接公网地址6. 固定地址连接测试 IDEA作为Java开发最主力的工具,在开发过程中需要经常用到数据库,如Mysql数据库,但是在IDEA中只能连接本…...

GIT - 清除历史 Commit 瘦身仓库

目录 一.引言 二.仓库清理 ◆ 创建一个船新分支 ◆ 提交最新代码 ◆ 双指针替换分支 三.总结 一.引言 由于项目运行时间较长,分支较多,且分支内包含很多不同的大文件,随着时间的推移,历史 Git 库的容量日渐增发&#xff0c…...

物联网产品中,终端、网关、协议、PaaS、SaaS之间的关系

在互联网产品中,经常提到的终端、网关、协议、PaaS、SaaS之间,到底有什么关系呢? 一、基本概念 在百度/其他地方搜集的信息中,对于终端、网关、协议、PaaS、SaaS的解释各有不同,整理如下: 终端&#xff1…...

6款实用的Git可视化管理工具

前言 俗话说得好“工欲善其事,必先利其器”,合理的选择和使用可视化的管理工具可以降低技术入门和使用门槛。我们在团队开发中统一某个开发工具能够降低沟通成本,提高协作效率。今天给大家分享6款实用的Git可视化管理工具。 Git是什么&…...

python_selenium零基础爬虫学习案例_知网文献信息

案例最终效果说明: 去做这个案例的话是因为看到那个博主的分享,最后通过努力,我基本实现了进行主题、关键词、更新时间的三个筛选条件去获取数据,并且遍历数据将其导出到一个CSV文件中,代码是很简单的,没有…...

MindSpore Serving基于昇腾910B实现大模型部署

一、Why MindSpore Serving 大模型时代,作为一个开发人员更多的是关注一个大模型如何训练好、如何调整模型参数、如何才能得到一个更高的模型精度。而作为一个整体项目,只有项目落地才能有其真正的价值。那么如何才能够使得大模型实现落地?如…...

mysql原理--InnoDB的Buffer Pool

1.缓存的重要性 对于使用 InnoDB 作为存储引擎的表来说,不管是用于存储用户数据的索引(包括聚簇索引和二级索引),还是各种系统数据,都是以 页 的形式存放在 表空间 中的,而所谓的 表空间 只不过是 InnoDB 对…...

Redis不同环境缓存同一条数据,数据内部值不同

背景 现实中,本地环境(dev)和开发环境(feature)会共同使用相同的中间件(本篇拿Redis举例),对于不同环境中的,图片、视频、语音等资源类型的预览地址url,需要配…...

MySQL之导入、导出远程备份

一、Navicat工具导入、导出 1.1 导入 第一步: 右键,点击运行SQL文件 第二步: 选择要运行的SQL,点击开始 第三步: 关闭即可 1.2 导出 第一步: 右键选择,导出向导 第二步: 选择SQL脚…...

OpenGL学习笔记-Blending

混合方程中,Csource是片段着色器输出的颜色向量(the color output of the fragment shader),其权重为Fsource。Cdestination是当前存储在color buffer中的颜色向量(the color vector that is currently stored in the …...

支持 input 函数的在线 python 运行环境 - 基于队列

支持 input 函数的在线 python 运行环境 - 基于队列 思路两次用户输入三次用户输入 实现前端使用 vue element uiWindows 环境的执行器子进程需要执行的代码 代码仓库参考 本文提供了一种方式来实现支持 input 函数,即支持用户输的在线 python 运行环境。效果如下图…...

欧拉Euler release 21.10 (LTS-SP2)升级openssh至9版本记录

背景:安扫漏洞,需要对openssh经行升级 1.先查看升级前的openssh版本 2.避免升级失败断开远程登录,先开启telnt服务用于远程连接(这步可查看其他博客) 3.从欧拉官网下载rpm包,https://www.openeuler.org/zh…...

php 数组中的元素进行排列组合

需求背景:计算出数组[A,B,C,D]各种排列组合,希望得到的是数据如下图 直接上代码: private function finish_combination($array, &$groupResult [], $splite ,){$result [];$finish_result [];$this->diffArrayItems($array, $…...

Python从入门到网络爬虫(OS模块详解)

前言 本章介绍python自带模块os,os为操作系统 operating system 的简写,意为python与电脑的交互。os 模块提供了非常丰富的方法用来处理文件和目录。通过使用 os 模块,一方面可以方便地与操作系统进行交互,另一方面页可以极大增强…...

人机交互不是人机融合智能

一、人机交互和人机融合智能是两个不同的概念 人机交互是指人类与计算机之间的信息交流和操作方式,包括输入和输出界面、交互技术、用户体验等方面。人机交互的目标是提供用户友好的界面和自然的交互方式,使人类能够与计算机更加高效地进行沟通和协作。 …...

RabbitMQ解决消息丢失以及重复消费问题

文章目录 1、概念2、基于ACK/NACK机制2.1 基于Spring AMQP框架整合ACK/NACK机制2.2 测试消费失败1.02.3 测试结果1.02.4 测试MQ宕机2.5 测试结果2.0 3、RabbitMQ 如何实现幂等性设计3.1 幂等服务设计思路3.1.1 通过雪花算法生成分布式唯一ID3.1.2 通过枚举类,设计Me…...

docker 安装redis集群

一、准备6台机器 二、6台机器分别拉取镜像: docker pull redis三、6台机器分别建立挂载文件夹 mkdir -p /home/redis/data四、6台机器分别执行容器操作 docker run --restartalways -d --name redis-node-1 --net host --privilegedtrue -v /home/redis/data:/da…...

锂电池制造设备中分布式IO模块优势

在“碳达峰、碳中和”目标推动下,新能源汽车当下发展势头正盛,而纯电动车的核心部件则是:锂电池。动力型锂电池作为新能源汽车核心零部件,其发展与新能源汽车行业息息相关,迎来广阔的市场空间。 为何采用I/O模块&#…...

Android Room数据库升级Migration解决方案

一、介绍 Android Room 是 Android 官方提供的一个轻量级数据库框架,用于在 Android 应用程序中管理数据持久性。它简化了数据库访问,提供了更安全、更快速的数据存储方式,并使得数据操作更加便捷。 二、Room的特点(八股文可以参考) 以下是…...

离线安装docker和docker-compose

1.下载 docker Index of linux/static/stable/x86_64/ docker-compose Overview of installing Docker Compose | Docker Docs 2.docker /etc/systemd/system/docker.service [Unit] DescriptionDocker Application Container Engine Documentationhttps://docs.docker.…...

奇怪的事情记录:外置网卡和外置显示器不兼容

身为程序员,不应该对世界上的稀奇古怪的事情感到惊讶(毕竟,大部分都是程序员自己搞出来的)。 外置网卡和外置显示器不兼容 mbp2019intel版,win10,外接有线网卡,平时用得很好,接上外…...

【大数据进阶第三阶段之Hive学习笔记】Hive基础入门

目录 1、什么是Hive 2、Hive的优缺点 2.1、 优点 2.2、 缺点 2.2.1、Hive的HQL表达能力有限 2.2.2、Hive的效率比较低 3、Hive架构原理 3.1、用户接口:Client 3.2、元数据:Metastore 3.3、Hadoop 3.4、驱动器:Driver Hive运行机制…...

alexa怎么查询网站排名/怎么快速优化关键词

简介 minios 是使用QEMU实现的一个迷你 Linux 系统。它由 Linux 内核和 Rootfs 组成,Rootfs中包含了一系列的第三方基础库,比如 Libc , BusyBox 。这些都是操作系统运行的基础组件。利用 minios ,可以快速的构建一个 Linux 最小系…...

绵阳房产网站建设/百度推广的广告靠谱吗

Youtube.com,Youku.com,Tudou.com转载于:https://blog.51cto.com/fccwcom/1123901...

网站备案后怎么做实名认证/播放量自助下单平台

在学习UCOS过程中,想通过串口中断将接收到的数据放到消息队列中去,编写代码如下:#include "led.h"#include "delay.h"#include "key.h"#include "sys.h"#include "usart.h"#include "…...

免费建网站系统/什么是seo关键词

数据库&#xff08;B表中的AID字段保存的为A表中的AID字段&#xff09; A表&#xff1a; B表&#xff1a; 1.将B表中的数据拆分查询显示。 SELECT A.BID, B.valueFROM(SELECT BID, [AID] CONVERT(xml,<root><v> REPLACE([AID], ,, </v><v>) …...

网站地址解析/免费b站推广网站不用下载

这两天 公司有个需求 需要将原来的python写的图像检测功能改成C版本 之前只是听过opencv 没怎么实际用过&#xff0c;这两天经过一番百度 摸索 终于搭建好了环境 由于之前嵌入式的开发经验&#xff0c;习惯于将这些第三方的库什么的编译成静态库 即.a文件 opencv4 比较折腾&…...

武汉专业做网站/怎么才能让百度收录网站

我们有时可能需要在Java类中调用Servlet从而实现某些特殊的功能&#xff0c;在JavaAPI中提供了一个URL的类&#xff0c;其中openStream()方法可以打开URL的连接&#xff0c;并返回一个用于该连接读入的InputStream。二、Java中调用servlet应用举例&#xff1a;package com.soli…...