server nat表和会话表的作用及NAT地址转换详细

本章节主要讲nat技术的基础

-会话表的建立也是看5元组

-状态检测技术的回包一样也看5元组,但是状态检测技术会看的除开5元组还有更多东西

老哥,你真的应该好好注意一个东西:我们的会话表只是为了后续包的转发,会话表是记录的首包被防火墙怎么处理的一些列操作;所以我们会话表没有什么nat地址转换,没有什么路由信息,只有首包被防火墙怎么处理的记录;

1、防火墙中数据包的转发过程:

开讲之前我们先理清一下包转发的思路:

我们的会话表只是记录我们首包的一些列防火墙对他处理,便于后续的包进行转发;会话表只是为了转发后续数据流的数据包;所以说并不是说产生会话表就一定需要安全按策略;这不一定,他只是记录防火墙对改数据包的一种处理的

2、NAT分类:   (本节都是讲源NAT)

--1、防火墙中NAT分类方式:     

1、源NAT --基于源IP地址进行转换(不管是发送还是接收都是值转换源地址),包含动态NAT以及NAPT,静态NAT(静态NAT不适合私转公,适合公网转私网)

2、目标NAT ---基于目标地址进行转换(不管是发送还是接收都是只对目标进行转换),以前的端口映射

3、双向NAT  ---同时将你的数据包中的源IP和目标IP地址

(服务器端口映射:就是服务器将自己的端口映射到公网之后,当然IP肯定也是映射到了公网;服务器端口映射是为了让其他公网设备在访问我的服务器映射的公网IP和端口时,会直接访问到我的私网里面的服务器的对应端口服务;

端口映射是为了让其他公网设备来访问我的服务器)

--2、防火墙中配置nat时的分类:防火墙中nat只有两种:1、动态nat   ---多对多

                                                                                                2、napt

                                                                                                        --1、多对1napt   ---easy ip

                                                                                                        --2、多对多的napt

  --3、当我们在配置多对多的时候,我们不选择端口地址转换,则表示动态nat;就是单纯的将IP地址进行转换;

  --4、napt网络端口地址转换:当两个数据包的5元组相同时,那么他们转化之后的网络地址和端口地址也是相同;

解释:如果两个相同5元组的数据包转换之后的地址不相同那么:当你从内部去访问外放的网页,首先会建立一个tcp连接,如果客户端发送的第一个SYN请求到nat转换之后的端口地址和客户端发送的第三个ack报文转换之后的端口地址不一样,那么就会让服务器不知道这个ack是哪个客户端发送的,他就会以为这是其他的tcp连接回复的;

--5、动态nat不能匹配具体的协议数据包;就是在配置防火墙的动态NAT时,在写匹配数据包部分的协议部分时只能选择全部any,否者匹配不上数据包;

3、NAPT的三元组使用场合  

p to p模式

A向B通信,会先去跟服务器说一声,让服务器告诉A/B对方的IP,然后进行连接;

如上图:首先这种通信有防火墙时是肯定不能通信的:

--1、策略也不会让2进来,因为出去到达时候找server,回来的时候是2,状态检测技术是不会为其开放隐形通道的;    ---所以要写一条安全策略

--2、nat策略不行,因为出去的时候我帮你转换的公网IP和回来的公网IP不一样;所以nat策略不会帮转换;

当你的nat是三元组时,则当你回来的包是server发的还是2发的,他们的三元组都是一样的:目标IP,目标端口,和协议;所以nat这种看不出什么异样了,就会帮你正常的转换了

---总结:其实所谓的3源组还是5源组其实就是一个更加严格一个更加松弛;5源组源目标都要看所以更加严格,而3源组只看目标,所以更加松弛;

P TO P模式就适合3元组动态NAT转换

4、安全策略的源和目标永远都不是在同一个区域的

因此到底是安全策略先放行还是NAT策略先转换还是要看情况,但是必须要做到的是安全策略在匹配时,匹配的源和目标永远不是在同一个区域的

但是路由匹配这方面:肯定是先进行NAT地址转换再进行路由匹配

---注意:同一个接口进同一个接口出这种是属于同一个区域对数据包的转发;所以不会匹配安全策略;

5、黑洞路由 (空接口)

---日路由器上做汇总路由,防火墙上做缺省;会触环    ---有黑洞路由则不会触环

场景1:

当两个设备的网段是12.1.1.0/24网段时;这边是1.1;右边是1.2;

防火墙内地址池有一个12.1.2.1; //这个地址不属于直连地址

路由器上有汇总路由12.1.0.0/16,防火墙有缺省指向外界公网,即路由器

当我们的路由器访问防火墙地址池内地址12.1.2.1地址会怎样;

首先路由器会讲包发送给防火墙,防火墙一看这个数据包,我应该首先看是否能勇NAT转换;不能转换,那就进行下一步匹配路由表;

发现路由表是对应缺省路由,就这样包又会丢回去;

---产生环路;

解决办法:我们在缺省路由上面设置一条空接口,那么我们的数据包到防火墙就会匹配空接口路由,因为最长匹配嘛;所以就会直接把数据包转发向空接口,即丢包;

场景2:

当两个设备的网段是12.1.1.0/24网段时;这边是1.1;右边是1.2;

防火墙内地址池有一个12.1.1.3   //这个地址是直连地址

路由器上有汇总路由12.1.0.0/16,防火墙有缺省指向外界公网,即路由器

当我们的路由器访问防火墙地址池内地址12.1.1.3地址会怎样;

首先路由器会讲包发送给防火墙,防火墙一看这个数据包,我应该首先看是否能勇NAT转换;不能转换,那就进行下一步匹配路由表;

发现路由表对应下一跳是直连路由,此时我们的路由器肯定就会向直连这里发送ARP请求mac;请求到了MAC才会进行转发;

显然这个1.3是虚拟的;所以不会得到回应;

所以没有arp回应,直接丢包;

总结:我们的路由器进行包转发,都会查询路由表查看路由;查看出路由的下一跳;然后问下一跳要MAC,等到目标IP,目标mac都有了之后才会进行转发;

所以要真真切切知道我们的包转发过程:先查路由,然后根据路由找到下一跳;然后发送arp请求直连下一跳的mac地址;有了目标IP和目标mac再结合自己的源IP和mac才能进行最终的转发!!

---三层设备在封装和解封装的时候会对三层和二层一起封装和解封装;但是二层设备只能对二层进行封装和解封装;

-------------值得认真阅读

----补充点:

5元组nat,就是根据5元组的信息来判断,端口号变还是不变;5元组相同就不变,不相同就变

这里全部是都会数据包的匹配,所以里面的目的类型:当为出接口的时候代表你访问的是防火墙的公网接口;一般这种情况很少用;

6、动态nat

--1、动态nat的其实就是“多对多”;这个多对多是说多个静态1对1,

其实这里的1对1其实是针对会话表,当会话表中的IP 1对1没有消失,那么这个公网的IP就不能使用;必须等会话表中1对1 记录消失才行;

---解释:当数据流没有结束,即会话表肯定也不会老化;所以会话表即代表数据流有没有结束;因为数据的传输是针对数据流来说的;所以一旦一个公网IP和私网IP进行绑定了,那么就必须等这股数据流完全结束才行;又因为我们的数据流和会话表息息相关;

----所以我们的会话表中的公网和私网转换记录个数就是动态nat中公网和私网绑定的个数

--2、动态nat可以指定服务;当然如果有server map表记录了的转换地址的记录,那么即使没有nat也可以通;

就是说:当我们的动态nat第一次选择了动态nat的any服务,然后生成了server map表;此时这个server map表就有了地址转换的记录;

我们在这个server map表老化之前,我们关闭动态nat,且又重新用相同的源IP访问公网,这时也是可以地址转换的;

因为server map记录了nat转换;且这条记录可以拿来防火墙用

---server map表的两个作用:1、为防火墙提供nat地址转换记录;

                                                2、为防火墙提供端口好号

7、空接口和路由匹配是一样的规则;

空接口是设置在缺省路由所在那台设备的上面的

边界防火墙收到数据包首先会看是否做nat,再看路由;‘

----当边界防火墙上面设置了:讲本地接口IP映射成内网服务器IP;

数据包来到边界防火墙后,会先看是否转换,如果不转换就是代表访问自己;如果转换就代表访问的是我端口映射的那个服务器;

----------------------------------我们只讲思路,不讲详细过程;

                                          过程是背,思路是理解;

                                           想要走多远,10%背+90%理解

祝你年薪百万,成绩辉煌!!!

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

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

相关文章

【机器学习】和【人工智能】在航空航天中的应用

作者主页: 知孤云出岫 目录 引言机器学习和人工智能在航空航天中的应用1. 预测性维护2. 飞行路径优化3. 自动驾驶飞行器 未来展望1. 增强人机协作2. 更智能的空中交通管理3. 高效的航空制造 结论参考文献 引言 随着科技的迅猛发展,机器学习和人工智能(…

【python报错已解决】 “Invalid Array Index“

🎬 鸽芷咕:个人主页 🔥 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! 文章目录 引言一、问题描述1.1 报错示例1.2 报错分析1.3 解决思路 二、解决方法:2.1 方法一:检查索引范…

win32:第一个窗口程序-应用程序入口点(part.6)

第一个窗口程序的最后一部分:应用程序入口函数wWinMain;这是Windows应用程序的主函数,负责初始化应用程序、注册窗口类、创建主窗口并进入消息循环处理消息。 int APIENTRY wWinMain(_In_ HINSTANCE hInstance,_In_opt_ HINSTANCE hPrevInst…

pytorch说明

深度学习中的重要概念: 激活函数: 激活函数的必要性:激活函数不是绝对必须的,但在深度学习中,它们几乎总是被使用。激活函数可以引入非线性,这使得神经网络能够学习更复杂的模式。 激活函数的位置&#x…

用HTML和CSS实现提示工具(tooltip)及HTML元素的定位

所谓提示工具,是指将鼠标移动到某个HTML元素(工具)时会显示一些提示内容(提示文本),而鼠标移出工具元素的范围时提示文本就消失了。考虑到提示文本元素应当在鼠标进入工具元素时显示,鼠标离开工…

Mac安装stable diffusion 工具

文章目录 1.安装 Homebrew2.安装 stable diffusion webui 的依赖3.下载 stable diffusion webui 代码4.启动 stable diffusion webui 本体5.下载模型6.这里可能会遇到一个clip-vit-large-patch14报错 参考:https://brew.idayer.com/install/stable-diffusion-webui/…

STM32入门开发操作记录(二)——LED与蜂鸣器

目录 一、工程模板二、点亮主板1. 配置寄存器2. 调用库函数 三、LED1. 闪烁2. 流水灯 四、蜂鸣器 一、工程模板 参照第一篇,新建工程目录ProjectMould,将先前打包好的Start,Library和User文件^C^V过来,并在Keil5内完成器件支持包的…

jenkins系列-01.docker安装jenkins

进入官网:https://www.jenkins.io/ 使用LONG term support版本:2.387.1 docker pull jenkins/jenkins:2.387.1-lts 拉取镜像: 编写docker-compose文件: 启动jenkins: 查看启动日志: 默认生成的密码:…

基于springboot+vue+uniapp的超市购物系统小程序

开发语言:Java框架:springbootuniappJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包&#…

LeetCode 142.环形链表2 C写法

LeetCOde 142.环形链表2 C写法 思路1🤔: ​ 用环形链表的方法,快慢指针找到slow和fast的相遇点,此时头到入口点的位置与相遇点到入口点的距离一样。 ​ 我们假设头到入口点的长度为L,环的长度为C,相遇点到入…

Rust 测试的组织结构

测试的组织结构 本章一开始就提到,测试是一个复杂的概念,而且不同的开发者也采用不同的技术和组织。Rust 社区倾向于根据测试的两个主要分类来考虑问题:单元测试(unit tests)与 集成测试(integration test…

负荷预测 | Matlab基于Transformer-LSTM多变量时间序列多步预测

目录 效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.Matlab基于Transformer-LSTM多变量时间序列多步预测; 2.多变量时间序列数据集(负荷数据集),采用前96*2个时刻预测的特征和负荷数据预测未来96个时刻的负荷数据&#x…

记一次饱经挫折的阿里云ROS部署经历

前言 最近在参加的几个项目测评里,我发现**“一键部署”这功能真心好用,省下了不少宝贵时间和力气,再加上看到阿里云现在有个开源上云**的活动。趁着这波热潮,今天就聊聊怎么从头开始,一步步搞定阿里云的资源编排服务…

【持续集成_06课_Jenkins高级pipeline应用】

一、创建项目选择pipeline的风格 它主要是以脚本(它自己的语言)的方式进行运行,一般由运维去做的事情,作为测试而言。了解即可。 --- 体现形式全部通过脚本去实现:执行之前(拉取代码)执行&…

Linux:Linux网络总结(附下载链接)

文章目录 下载链接网络问题综合问题访问一个网页的全过程?WebSocket HTTPHTTP基本概念GET与POSTHTTP特性HTTP缓存技术HTTP的演变HTTP1.1 优化 HTTPSHTTP与HTTPS有哪些区别?HTTPS解决了HTTP的哪些问题?HTTPS如何解决的?HTTPS是如何…

# Redis 入门到精通(二)通用指令

Redis 入门到精通(二)通用指令 一、redis 通用指令-key 基本操作 1、key 特征 key是一个字符串,通过key获取redis中保存的数据。 2、key 应该设计哪些操作? 对于 key 自身状态的相关操作,例如:删除,判定存在&…

企业网络实验(vmware虚拟机充当DHCP服务器)所有IP全部保留,只为已知mac分配固定IP

文章目录 需求实验修改dhcp虚拟机配置文件测试PC获取IP查看user-bind 需求 (vmware虚拟机充当DHCP服务器)所有IP全部保留,只为已知mac分配固定IP 实验 前期配置: https://blog.csdn.net/xzzteach/article/details/140406092 后续配置均在以上配置的前…

keepalive和haproxy

1、keepalive 1.1概念 调度器的高可用 vip地址主备之间的切换,主在工作时,vip地址只在主上,主停止工作,vip漂移到备服务器 在主备的优先级不变的情况下,主恢复工作,vip会飘回到主服务器 1、配优先级 …

【RabbitMQ】一文详解消息可靠性

目录: 1.前言 2.生产者 3.数据持久化 4.消费者 5.死信队列 1.前言 RabbitMQ 是一款高性能、高可靠性的消息中间件,广泛应用于分布式系统中。它允许系统中的各个模块进行异步通信,提供了高度的灵活性和可伸缩性。然而,这种通…

.NET MAUI开源架构_1.学习资源分享

最近需要开发Android的App,想预研下使用.NET开源架构.NET MAUI来开发App程序。因此网上搜索了下相关资料,现在把我查询的结果记录下,方便后面学习。 1.官方文档 1.1MAUI官方学习网站 .NET Multi-Platform App UI 文档 - .NET MAUI | Micro…