从零学习Linux操作系统 第二十三部分 系统中火墙的管理及优化

1 、实验环境设定

第一台主机需要两个网卡

在这里插入图片描述
另一台主机一个网卡桥接到VMnet0上

第一台主机保证能够和windows保持连接
设定第一块儿网卡能够与Windows连接

在这里插入图片描述

在这里插入图片描述
设定第二台主机能够与第一台主机连接
在这里插入图片描述
在这里插入图片描述

二、火墙中的基本名词及知识

火墙就相当于是一个表格,这个表格里写着很多的信息,别的用户、服务在访问主机时,先访问的是火墙,先看他能不能通过火墙

netfilter 火墙所用的插件
iptables 往火墙表格里写东西、信息的工具
iptables / firewalld 用于操控iptables的软件

默认策略中的5条链

input输入
output输出
forward转发
postrouting路由之后
prerouting路由之前

默认的3张表

filter经过本机内核的数据(input output forward)
nat不经过内核的数据(postrouting,prerouting,input,output)
mangle当filter和nat表不够用时使用(input output forward postrouting,prerouting,)

三、火墙管理工具的切换

在rhel8中默认使用的是firewalld

查看火墙规格
firewall-cmd --list-all
在这里插入图片描述

从firewalld切换到iptables

先安装iptables服务
dnf install iptables-services -y
在这里插入图片描述
关闭firewalld
systemctl disable --now firewalld
在这里插入图片描述
锁定firewalld
systemctl mask firewalld
在这里插入图片描述

开启iptabless服务
systemctl enable --now iptables.service
查看iptables服务
systemctl status iptables.service
在这里插入图片描述
切换成功

iptales -------> fiewalld

systemctl disable --now iptables.service
systemctl mask iptables.service
systemctl enable --now firewalld

四、iptables命令的常用参数

首先关闭firewalld 开启iptables服务

systemctl stop firewalld
systemctl disable firewalld
systemctl mask firewalld
systemctl unmask iptables
systemctl enable --now iptables
在这里插入图片描述
iptables命令

-t指定表名称
-n不做解析
-L查看
-A添加策略
-p协议
- -dport目的地端口
-s来源
-j动作
-N新建链
-E更改链名称
-X删除链
-D删除规则
-I插入规则
-R更改规则
-P更改默认规则
-F清理

参数语言含义

ACCEPT允许
DROP丢弃
REJECT拒绝
SNAT源地址转换
DNAT目的地地址转换

五、数据包状态跟踪

在这里插入图片描述
状态跟踪必须要做优化,否则数据在通过火墙的时候会受到很大影响,从而降低数据通过效率,后面再做优化也是白费

六、iptables的nat

nat即网络地址转换(network address translation),主要用于在内部网络地址和外部网络地址间互相转换,从而让使用内部网络地址的设备或软件能够访问外部网络,或者让外部网络可以访问到没有外部网络地址的内部设备。nat一般运行在网关/路由设备上,内部设备访问外网或外部网络访问内部设备的报文都需要经过网关转发,网关在内外网转发报文的过程中执行nat转换。

iptables服务开启

在这里插入图片描述

设定的时候先将火墙刷掉
iptables -F

在这里插入图片描述
将双网卡的主机变为路由器

把所有从这台主机出去的信息IP地址伪装为41的
iptables -t nat -A POSTROUTING -o ens160 -j SNAT --to-source 192.168.0.41

在这里插入图片描述

让1网段的可以ping通192网段
在这里插入图片描述
目的地地址转换
iptables -t nat -A POSTROUTING -i ens160 -j DNAT --to-dest 1.1.1.2

七、firewalld

(一)firewalld的开启

在这里插入图片描述
修改下核心模块
vim /etc/firewalld/firewalld.conf

在这里插入图片描述
重启服务
systemctl restart firewalld

(二)关于firewalld的域

trusted接受所有的网络连接
home用于家庭网络,允许接受ssh mdns ipp-client samba-client dhcp-client
work工作网络 ssh ipp-client dhcp-client
public公共网络 ssh dhcp-client
dmz军级网络 ssh
block拒绝所有
drop丢弃 所有数据全部丢弃无任何回复
internal内部网络 ssh mdns ipp-client samba-client dhcp-client
externalipv4网络地址伪装转发 sshd

(三)关于firewalld的设定原理及数据存储

/etc/firewalld火墙配置目录
/lib/firewalld火墙模块目录

(四)firewalld的管理命令

firewall-cmd --state ##查看火墙状态

firewall-cmd --get-active-zones ##查看当前火墙中生效的域

firewall-cmd --get-default-zone ##查看默认域

firewall-cmd --list-all ##查看默认域中的火墙策略

firewall-cmd --list-all --zone=work ##查看指定域的火墙策略

firewall-cmd --set-default-zone=trusted ##设定默认域

firewall-cmd --get-services ##查看所有可以设定的服务

firewall-cmd --permanent --remove-service=cockpit ##移除服务

firewall-cmd --reload
firewall-cmd --permanent --add-source=172.25.254.0/24 --zone=block ##指定数据来源访问指定域

firewall-cmd --reload firewall-cmd --permanent --remove-source=172.25.254.0/24 --zone=block ##删除自定域中的数据来源

firewall-cmd --permanent --remove- interface=ens224 --zone=public ##删除指定域的网络接口

firewall-cmd --permanent --add-interface=ens224 --zone=block ##添加指定域的网络接口

firewall-cmd --permanent --change-interface=ens224 --zone=public ##更改网络接口到指定域

在这里插入图片描述

(五) firewalld的高级规则

firewall-cmd --direct --get-all-rules ##查看高级规则

firewall-cmd --direct --add-rule ipv4 filter INPUT 0 ! -s IP -p tcp --dport 22 -j
REJECT

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

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

相关文章

svn 安装路径

SVN客户端安装(超详细) 一、SVN客户端安装 1、下载安装包地址:https://tortoisesvn.net/downloads.html 此安装包是英文版的,还可以下载一个语言包,在同界面的下方 一直点击下一步,直到弹出选择红框 然…

QuertWrapper and 和or 用法

1.使用 MyBatis Plus 实现上述 SQL 查询条件可以按照以下步骤进行&#xff1a; 创建一个 QueryWrapper 对象&#xff1a;QueryWrapper<Entity> queryWrapper new QueryWrapper<>();使用 eq 方法添加等于条件和 and 条件&#xff1a;queryWrapper.eq("age&qu…

jsonwebtoken使用HS256生成token失败

项目场景&#xff1a; 用户登入将token返回给用户 问题描述 在koa中使用jsonwebtoken库生成token失败&#xff0c;找了很多原因。 const jwt require("jsonwebtoken"); const { PRIVATE_KEY } require("../config/screct");class LoginController {as…

3. Mybatis的XML配置文件(重点)

目录 1 Mybatis的XML配置文件 1.1 XML配置文件规范 1.2 XML配置文件实现 1.3 MybatisX的使用 2. Mybatis动态SQL 2.1 什么是动态SQL 2.2 动态SQL-if 2.2.1 条件查询 2.2.2更新 2.3 动态SQL-foreach 2.4 动态SQL-sql&include 1.mybatis入门 2.mybatis基本操作 1…

AI智能分析+明厨亮灶智慧管理平台助力“舌尖上的安全”

春节是中国最重要的传统节日之一&#xff0c;在春节期间&#xff0c;人们聚餐需求激增&#xff0c;餐饮业也迎来了高峰期。在这个时期&#xff0c;餐饮企业需要更加注重食品安全和卫生质量&#xff0c;以保证消费者的健康和权益&#xff0c;明厨亮灶智慧管理成为了餐饮业中备受…

记一次复杂左连接的优化之路

慢执行分析 create table t3 as select t_1.lon as lon, t_1.lat as lat, t_1.label as label, t_1.is_core as is_core, t_2.grid_id as grid_id, t_2.mid_jd as mid_jd, t_2.mid_wd as mid_wd, t_2.zs_jd as zs_jd, t_2.zs_wd as zs_wd, t_2.yx_jd as yx_jd, t_2.yx_wd as y…

基于单片机温度控制系统的研究

摘 要&#xff1a;笔者基于单片机的温度控制系统&#xff0c;从单片机选择、传感器选择、系统框架设计等方面概述了单片机的温度控制系统内涵&#xff0c;分析了其运行原理&#xff0c;列举了单片机温度控制系统设计的实操方法&#xff0c;从硬件系统、软件系统、温度检测方法…

windows 11安装跳过联网,使用本地账户登陆

windows 11安装跳过联网&#xff0c;使用本地账户登陆 第一步 断开网络&#xff0c;拔网线 第二步 安装windows11 第三步 shiftF10调出命令行 第四步 输入命令&#xff1a; OOBE\BYPASSNRO回车自动重启&#xff0c;随后继续安装选择我没有网络&#xff0c;即可跳过win…

springboot144基于mvc的高校办公室行政事务管理系统设计与实现

简介 【毕设源码推荐 javaweb 项目】基于springbootvue 的 适用于计算机类毕业设计&#xff0c;课程设计参考与学习用途。仅供学习参考&#xff0c; 不得用于商业或者非法用途&#xff0c;否则&#xff0c;一切后果请用户自负。 看运行截图看 第五章 第四章 获取资料方式 **项…

二叉搜索树操作题目:删除二叉搜索树中的结点

文章目录 题目标题和出处难度题目描述要求示例数据范围进阶 解法一思路和算法代码复杂度分析 解法二思路和算法代码复杂度分析 题目 标题和出处 标题&#xff1a;删除二叉搜索树中的结点 出处&#xff1a;450. 删除二叉搜索树中的结点 难度 5 级 题目描述 要求 给定二叉…

Ubuntu Linux 下安装和卸载cmake 3.28.2版本

一、安装cmake 1.首先&#xff0c;先从cmake官网下载cmake-3.28.2-linux-x86_64.tar.gz 2.用FinalShell 等文件上传工具&#xff0c;将这个压缩包上传到 虚拟机的某个路径去&#xff08;自选&#xff09; 3. cd /usr/local/bin/&#xff0c;然后创建cmake文件夹&#xff0c;…

pnpm : 无法加载文件 D:\tool\nvm\nvm\node_global\pnpm.ps1,因为在此系统上禁止运行脚本

你们好&#xff0c;我是金金金。 场景 新创建的项目&#xff0c;在vscode编辑器终端输入 pnpm i&#xff0c;显示报错如上 解决 在终端输入get-ExecutionPolicy(查看执行策略/权限) 输出Restricted(受限的) 终端再次输入Set-ExecutionPolicy -Scope CurrentUser命令给用户赋予…

STM32低功耗模式

一、低功耗模式介绍 STM32 的低功耗模式有 3 种&#xff1a; 1)睡眠模式&#xff08;CM3 内核停止&#xff0c;外设仍然运行&#xff09; 2)停止模式&#xff08;所有时钟都停止&#xff09; 3)待机模式&#xff08;1.8V 内核电源关闭&#xff09; 在这三种低功耗模式中&#…

Vue3项目封装一个Element-plus Pagination分页

前言:后台系统分页肯定是离不开的,但是ui框架都很多,我们可以定义封装一种格式,所有项目按到这个结构来做. 实例: 第一步:在项目components组件新建一个分页组件,用来进行封装组件. 第二步:根据官方的进行定义,官方提供的这些,需要我们封装成动态模式 第三步:代码改造 <!-…

软件工程知识梳理0-概述

学好软件工程就必须理解软件工程到底是干什么的&#xff0c;为什么需要软件工程&#xff0c;以及怎么干的&#xff01;只有理解了软件工程的本质&#xff0c;才能更好的理解软件工程中各种工程手段和方法的目的。 个人开发模式 —> 小作坊开发模式 —> 软件工程开发模式 …

zoneId、ZoneOffset、Date、LocalDateTime、ZonedDateTime、OffsetDateTime的区别

1、zoneId 2、ZoneOffset继承了zoneId 3、ZoneOffset 和 TimeZone区别 ZoneOffset 和 TimeZone 是 Java 编程语言中处理时区信息的两个不同的类。 ZoneOffset 类&#xff1a; ZoneOffset 是 Java 8 中引入的日期时间 API 的一部分&#xff0c;位于 java.time 包中。 它代表…

Unity之第一人称角色控制

目录 第一人称角色控制 &#x1f634;1、准备工作 &#x1f4fa;2、鼠标控制摄像机视角 &#x1f3ae;3、角色控制 &#x1f603;4.杂谈 第一人称角色控制 专栏Unity之动画和角色控制-CSDN博客的这一篇也有讲到角色控制器&#xff0c;是第三人称视角的&#xff0c;以小编…

使用最大边界相关算法处理文章自动摘要

一、需求背景 对于博客或者文章来说&#xff0c;摘要是普遍性的需求。但是我们不可能让作者自己手动填写摘要或者直接暴力截取文章的部分段落作为摘要&#xff0c;这样既不符合逻辑又不具有代表性&#xff0c;那么&#xff0c;是否有相关的算法或者数学理论能够完成这个需求呢&…

【C++】默认成员函数

与普通成员函数差距较大&#xff0c;形式对于我们比较陌生&#xff0c;但这是语法&#xff0c;是我们是必须要掌握的。 目录 类的默认成员函数&#xff1a;构造函数&#xff1a;概念&#xff1a;语法&#xff1a;特性&#xff1a; 析构函数&#xff1a;概念&#xff1a;语法&a…

解决:ModuleNotFoundError: No module named ‘torchvision’

解决&#xff1a;ModuleNotFoundError: No module named ‘torchvision’ 文章目录 解决&#xff1a;ModuleNotFoundError: No module named torchvision背景报错问题报错翻译报错位置代码报错原因解决方法方法一&#xff0c;直接安装方法二&#xff0c;手动下载安装方法三&…