Linux实验记录:使用firewalld

前言:

本文是一篇关于Linux系统初学者的实验记录。

参考书籍:《Linux就该这么学》

实验环境:

VmwareWorkStation 17——虚拟机软件

RedHatEnterpriseLinux[RHEL]8——红帽操作系统

备注:

RHEL8系统中集成了多款防火墙管理工具,其中firewalld(Dynamic Firewall Manager of Linux systems,Linux系统的动态防火墙管理器)服务是默认的防火墙配置管理工具,它拥有基于CLI(命令行界面)和基于GUI(图形用户界面)两种管理方式。

firewalld预先准备了几套防火墙策略集合(策略模板),供不同使用场景。

区域(zone)指防火墙策略集合(策略模板)

目录

前言:

备注:

正文:

终端管理工具:

实验1:

实验2:

实验3:

实验4:

实验5:

实验6:

实验7:

实验8:

实验9:

实验10:

实验11:

图形管理工具:

Step1:手动安装firewall-config

 Step2:在图形界面打开firewall-configuration

实验1:

实验2: 

实验3:

实验4:

实验5:

总结:


正文:

终端管理工具:

firewalld-cmd是firewalld防火墙配置管理工具的CLI(命令行界面)版本。

参数可用Tab键补齐:

参数作用
--get-default-zone查询默认的区域名称
--set-default-zone=<区域名称>设置默认的区域,使其永久生效
--get-zones显示可用的区域
--get-services显示预先定义的服务
--get-active-zones显示当前正在使用的区域与网卡名称
--add-source=将源自此IP或子网的流量导向指定区域
--remove-source=不再将源自此IP或子网的流量导向指定区域
--add-interface=<网卡名称>将源自此网卡的所有流量都导向某个指定区域
--change-interface=<网卡>将某个网卡与区域进行关联
--list-all显示当前区域的网卡配置参数、资源、端口以及服务等信息
--list-all-zones显示所有区域的网卡配置参数、资源、端口以及服务等信息
--add-service=<服务名>设置默认区域允许该服务的流量
--add-port=<端口号/协议>设置默认区域允许该端口的流量
--remove-service=<服务名>设置默认区域不再允许该服务的流量
--remove-port=<端口号/协议>设置默认区域不再允许该端口的流量
--reload让“永久生效”的配置规则立即生效,并覆盖当前的配置规则
--panic-on开启应急状况模式
--panic-off关闭应急状况模式

 Runtime:当前立即生效,重启后失效

Permanent:当前不生效,重启后生效。

如果想让当期配置的策略立即生效,需手动执行firewall-cmd --reload指令 

实验1:

查看firewall服务当前所使用的区域

在配置防火墙策略前,必须查看当前生效的是哪个区域。 

实验2:

查询指定网卡在firewalld服务中绑定的区域

根据网卡针对的流量来源,为网卡绑定不同区域,实现对防火墙策略的灵活管控。 

实验3:

把网卡的默认区域修改为external,并在系统重启后生效

实验4:

把firewalld服务的默认区域设置为public。

默认区域也叫全局配置,指的是对所有网卡都生效的配置,优先级较低。

实验5:

启动和关闭firewalld防火墙服务的应急状况模式

紧急模式会切断一切网络连接。

实验6:

查询SSH和HTTPS协议的流量是否允许放行。

实验7:

把HTTPS协议的流量设置为永久允许放行,并立即生效。

 加permanent参数后,重启后才能生效,也可以使用--reload参数使立即生效。

实验8:

把HTTP协议的流量设置为永久拒绝,并立即生效

实验9:

把访问8080和8081端口的流量策略设置为允许,但仅限当前生效。

实验10:

把原本访问本机888端口的流量转发到22端口,要求当前和长期均有效。

这就是端口转发技术:使用户能够通过新的端口访问到原本的服务。

使用firewall-cmd命令实现端口转发的格式:

firewall-cmd --permanent --zone=<区域> --add-forward-port=port=<源端口号>:proto=<协议>:toport=<目标端口号>:toaddr=<目标IP地址>

目标IP地址一般是服务器本机的IP地址。

 在CentOS上使用ssh命令尝试访问RHEL8主机的888端口,访问成功:

实验11:

富规则的设置

富规则也叫复规则,表示更细致、更详细的防火墙策略配置,它可以针对系统服务、端口号、源地址和目标地址等诸多信息进行更有针对性的策略配置。

优先级在所有的防火墙策略中是最高的。

现配置一条富规则,使其拒绝192.168.226.0/24网段的所有用户访问本机ssh服务。

 此时CentOS8能ping通,但ssh被拒绝服务。

图形管理工具:

firewall-config使firewalld防火墙配置管理工具的GUI(图形用户界面)版本。

几乎可以实现所有以命令行来执行的操作。

Step1:手动安装firewall-config

 Step2:在图形界面打开firewall-configuration

使用firewall-config工具配置完防火墙策略之后,无需进行二次确认,只要修改,自动保存。

实验1:

将当前区域中请求http服务的流量设置为允许放行,但仅限当前生效。

实验2: 

添加一条防火墙规则:放行访问8080~8088的流量,并将其设置为永久生效。

Reload wall让配置的规则立即生效

 实验3:

应用SNAT技术:

局域网中有多台PC,如果网关服务器没有应用SNAT技术(源地址转换),PC收不到响应数据包。

 实验4:

重复前文用firewall-cmd工具的实验:将本机888端口的流量转发到22端口

  实验5:

将网卡与防火墙策略区域进行绑定:

总结:

配置防火墙策略的原则:只要能实现所需的功能,工具可以任选一种。

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

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

相关文章

分布式事务的概述及其解决方案

分布式事务 本地事务 本地事务&#xff0c;也就是传统的单机事务。在传统数据库事务中&#xff0c;必须要满足四个原则&#xff1a; 其中&#xff0c;隔离性的隔离级别&#xff1a; 脏读&#xff1a; ReadUnCommited&#xff08;读未提交&#xff09; 并发的线程读取到其他线…

【笔记】React-Native跟Android交互--简单示例

/** * 使用命令 npx react-nativelatest init DemoRN创建项目 * * "react": "18.2.0", * "react-native": "0.73.2" * * 官网有详细教程&#xff1a;https://reactnative.dev/docs/native-modules-android */ 一、RN invoke androi…

Android Studio 安装配置教程 - Windows版

Android Studio下载 安装&#xff1a; 下载&#xff1a; Android Studio Hedgehog | 2023.1.1 | Android Developers (google.cn) 安装&#xff1a; 基本不需要思考跟着走 默认下一步 默认下一步 自定义修改路径&#xff0c;下一步 默认下一步&#xff0c;不勾选 默认下一…

中移(苏州)软件技术有限公司面试问题与解答(5)—— Linux进程调度参数调优是如何通过代码实际完成的1

接前一篇文章&#xff1a;中移&#xff08;苏州&#xff09;软件技术有限公司面试问题与解答&#xff08;0&#xff09;—— 面试感悟与问题记录 本文对于中移&#xff08;苏州&#xff09;软件技术有限公司面试问题中的“&#xff08;11&#xff09;Linux进程调度参数调优是如…

【lesson26】学习MySQL事务前的基础知识

文章目录 CURD不加控制&#xff0c;会有什么问题&#xff1f;CURD满足什么属性&#xff0c;能解决上述问题&#xff1f;什么是事务&#xff1f;为什么会出现事务事务的版本支持 CURD不加控制&#xff0c;会有什么问题&#xff1f; CURD满足什么属性&#xff0c;能解决上述问题&…

Springboot项目启动后浏览器不能直接访问接口,而postman可以访问?

在云服务器上部署springboot后端时&#xff0c;项目启动后浏览器不能直接访问接口,而postman可以访问。这是当时困扰了我大半天的小问题&#xff0c;在我打开防火墙和阿里云安全组之后还是没解决。然后在网上搜了很多很多资料&#xff0c;以为是浏览器访问权限或者是https什么证…

Python如何递归删除空文件夹

嗨喽&#xff0c;大家好呀~这里是爱看美女的茜茜呐 1.Python如何递归删除空文件夹&#xff0c;这个问题很常见。 但大多数人的解决办法都是自己实现递归函数解决这个问题&#xff0c;其实根本不用那么麻烦。 Python中的os.walk提供了一种从内到外的遍历目录树的方法&#xff…

使用.NET6 Avalonia开发跨平台三维应用

本文介绍在Vistual Studio 2022中使用Avalonia和集成AnyCAD Rapid AvaloniaUI三维控件的过程。 0 初始化环境 安装Avalonia.Templates dotnet new install Avalonia.Templates若之前安装过可忽略此步骤。 1 创建项目 选择创建AvaloniaUI项目 选一下.NET6版本和Avalonia版…

深入理解二叉树:遍历、构建与性质探索的代码实现

&#x1f4f7; 江池俊&#xff1a; 个人主页 &#x1f525;个人专栏&#xff1a; ✅数据结构冒险记 ✅C语言进阶之路 &#x1f305; 有航道的人&#xff0c;再渺小也不会迷途。 文章目录 前言一、二叉树的存储结构二、二叉树链式结构的实现三、二叉树的前、中、后续遍历&…

银行数据仓库体系实践(10)--汇总指标层和集市模型设计

建立多层次的数据访问服务体系&#xff0c;有力提升数据仓库的价值。基于指标汇总层、集市层、可以提供面向业务人员的即席数据查询、以及面向应用开发者的数据接口、应用访问接口&#xff0c;满足不同类型应用的需要。 1、汇总指标层模型设计原则及步骤 1.1建设目标&#xff…

Servlet过滤器个监听器

过滤器和监听器 过滤器 什么是过滤器 当浏览器向服务器发送请求的时候&#xff0c;过滤器可以将请求拦截下来&#xff0c;完成一些特殊的功能&#xff0c;比如&#xff1a;编码设置、权限校验、日志记录等。 过滤器执行流程 Filter实例 package com.by.servlet;import jav…

【论文解读】Collaboration Helps Camera Overtake LiDAR in 3D Detection

CoCa3D 摘要引言Collaborative Camera-Only 3D DetectionCollaborative depth estimationCollaborative detection feature learning 实验结论和局限 摘要 与基于 LiDAR 的检测系统相比&#xff0c;仅相机 3D 检测提供了一种经济的解决方案&#xff0c;具有简单的配置来定位 3…