NAT地址转换+多出口智能选路,附加实验内容

本章主要讲:基于目标IP、双向地址的转换    

注意:基于目标NAT进行转换  ---基于目标IP进行地址转换一般是应用在服务器端口映射;

NAT的基础知识

1、服务器映射

服务器映射是基于目标端口进行转换,同时端口号也可以进行修改;

服务器映射可能会触环:

条件:

当服务是http时,防火墙上有缺省指向外界,路由器有该接口的IP指向防火墙

我们的服务器映射是做在虚拟IP上的(虚拟接口也可以做端口映射,且这个虚拟IP的网段和边界接口IP不是在同一个网段

情况:

--1、那么当我们从右边路由器访问这个服务时,正常访问80端口完全ok;

--2、当我们从右边外界访问这个服务时,访问的端口不是80端口,就会发生环路;

如:外界数据包发过来,我们的防火墙就会首先尝试进行一个nat地址转换;这里因为端口号不一样,而服务器映射是需要看端口号是否符合要求才会进行转换的;

显然这里端口号不一样就不会进行相应的转换;即使IP一样也不行,需要看端口和IP

而这里转换不了之后,下一步就是匹配路由表;一旦匹配路由表就会匹配上缺省,然后又将数据包丢回路由器了,而路由器匹配上路由发现边界接口的IP是在防火墙上,所以又会丢回来;------触环

解决办法:在缺省路由那个设备上设置空接口,也叫空接口路由;

提问:如果端口映射的接口IP是属于防火墙边界的直连网段的,那么还会不会触环?

不会,因为你看,老样子;

当数据包过来防护墙后,防火墙会先尝试NAT地址转换;显然端口不一样,转换不了;

然后会匹配路由表,因为这边路由表是有缺省和直连路由,这里显然就会匹配上直连路由,而他知道刚刚这个数据包就是从那边直连网段所在接口进来的;

所以他不会再传进去了,那么他会干嘛;当然是最后尝试发送一个ARP,最后再挣扎一下,看是否还有本网段内还有没有漏的;

---空接口也是路由,他叫空接口路由,只是子网掩码比较长

空接口一般是设置在缺省路由所在设备上;

2、NAT和路由谁先谁后

当然是NAT先,进行转换之后再路由;

安全策略的先后:安全策略是必须要一个区域和另一个区域的匹配;所以安全区域的先后取决于数据包刚刚进来的时候源和目标是否是同一个区域;

是同一个区域就需要先NAT转换;

不是同一个区域就先安全策略再nat;

当NAT地址转换设置成出接口转换时,且数据包也是从这个接口出去的,此时其实转换的地址可以是别的边界接口的地址;

我想说的是:nat地址出去的时候怎么转换的,回来的时候肯定也是用相同地址进行转换,即使出去和回来的接口不一样且nat还是出接口转换也不会改变这个规则;

如:

当这里做了一个服务器映射,是21 IP接口上做的

数据包从路由器发向防火墙,且防火墙的两个边界接口都是设置成的出接口地址转换;

当数据包是从21接口进来的,所以数据包在公网的时候,数据包的目标IP肯定就是21;

当数据包又从12接口出去的时候,这时做地址转换其实还是会按着进来的那两个地址进行转换;

所以出去的时候,即使我们是从12接口出去的,但是我们的源地址依然是进来的时候的目标地址21;

nat地址转换规则不会变,即使进来和出去的接口不一致也不会改变

出接口的地址转换可以用其他的出接口地址进行转换

注意:地址转换是首选nat,但是如果没有nat,server map表在老化之前也用来给防火墙用作地址转换;

3、策略路由

抓取目标流量,同时设置路由,然后让抓取的流量往我单独设置的这条路由上走;

---就是修改流量的轨迹,让他按我指定的方向走;

4、双向地址转换:源IP和目标IP都进行转换,端口是否需要转换看需求设置的nat策略

当我们的内部pc想通过公网访问内部服务器时,那么我们的数据包首先从pc来到我们的防洪墙,

--1、如果此时我们的防洪墙做的是基于源IP进行地址转换:显然这样是访问不到内部的服务器的;因为一旦转换,两个都是公网IP,防火墙通过缺省就会丢到路由器,路由器找不到就会直接丢包;

--2、如果我们此时是基于目标进行地址转换:我们的数据包就会把目标修改为内部服务器的真实IP,然后数据包成功来到这个服务器;但是服务器回包的时候,发现目标就是本网段的(因为我们的源IP一直没变,一直是私网的),所以此时我们的服务器就会直接向pc回包,不会去防火墙;

因为前面我的目标IP是服务器公网IP,现在回来的数据包发送者,即源IP不是公网IP,所以这个tcp连接会建立失败,因为前后对不上;这样我们就不能在这个服务器上面进行资源获取;   ---但是ping可以通,因为ping只管发送和回复,所以他才不会管回来的包的源IP是谁,他才不会管回来的包发送者是谁;

--3、如果我们此时是基于双向nat进行地址转换:我们的数据包首先还是会去到防火墙,然后防火墙就会把我的源IP和目标IP进行转换,注意此时的源IP转换之后必须不是在本网段的,不然还是会出现2的问题;当然,为了还满足上网需求,我们应该将源IP转换之后的IP变成公网的IP,所以最后源IP转换成了公网IP,目标IP转换成了私网IP;

发送给服务器后,服务器回包,发现目标IP是不属于本网段的,是公网的,然后也是发送给防火墙,然后防火墙再重新转换回来;服务器发送的源私网IP变成了开始的服务器的公网IP,目标公网IP变成了开始的私网IP;这样回复给了pc,这样pc看是目标发送给我的,就会成功建立tcp连接;

补充:服务器端口映射可以不用真实接口IP,因为数据包进来就会被端口地址映射,所以不是说要必须要外界能和这个IP进行通信,才能用这个IP地址;

5、多出口智能选路:    ---全局选路策略;当边界设备上面有多个出口可以去公网,我们 进行择优选择

--1、基于链路带宽进行负载分担:

如果一条链路超过了过载保护阈值,则该链路不再参加智能选路(如果已经创建了会话

表的流量,则将依然走该链路。),将在剩下链路中继续进行智能选路。

基于源IP的会话保持---来自同一个源IP或者同网段源IP的流量将始终使用同一个出接口转发,适用于对链路切换敏感的场景

基于目的IP的会话保持---访问同一个目标或者相同的目标网段,流量将始终使用同一个出接口转发,适用于对链路切换敏感的场景

--2、基于链路质量进行负载分担

---1,丢包率---防火墙会连续发送若干个(默认5个)探测报文,去计算丢包的比

例。(丢包个数/探测报文个数)---丢包率是最主要的链路质量参数

---2,时延---防火墙会连续发送若干个(默认5个)探测报文,取五次往返时间的平均值

作为时延参数。

---3,延时抖动---防火墙会连续发送若干个(默认5个)探测报文,取两两之间时延差值

的绝对值的平均值。

--3、基于链路权重的负载分担

权重值由网路管理员手工指定

--4根据链路优先级的主备备份

--优先级也是由网络管理员手工指定

--如果没有配置过载保护,则优先级最高的先工作,当该链路故障,则次高的开始工作,其余继续备份,以此类推;

--如果配置了过载保护,则优先级最高的先工作,当超过保护阈值,则次高的开始工作,其余继续备份,相当于此时两条链路同时工作,以此类推。

6、DNS透明代理    ---去的时候修改目标dns,回来的时候又修改回来

举例:百度,其实电信给百度设置的公网IP和移动对百度设置的IP是不一样的;所以一旦选择电信的dns服务器,那么解析出来的IP肯定就是电信对百度设置的IP,那么就会通过电信的线路对百度进行访问;

有时电信的网络链路质量已经很差了,那么我们就应该让后续找想找电信dnf服务器解析的数据包变成去找移动;

---这就是dns透明代理:就是让边界设备,如防火墙修改数据包想访问的dns服务器;

回来的时候又将源IP修改回来;

这样客户端就不会发现;

如:去的时候因为电信的数据链路质量太差了,所以我们的边界就修改了数据包中目标dns的IP,让他去访问移动dns,回来的时候,又将本来源IP是移动dns,修改为电信的dns;提高网络质量的同时不能让客户端知道我修改了他的目标dns

上实验:

前面6题上一个文章见过,我们这次主要讲后面5个;

问题7:办公区可以通过移动和电信进行上网,且是多对多

        在配置时候,我们此时可以直接写一个既不属于电信又不属于移动的地址池的动态nat,这样就可以避免分开写电信和移动的地址此了;减少代码量

问题8:分公司可以访问总公司的服务器

        从题目中我们可以看出,题目是想让公网访问我们内部的服务器,所以我们应当做一个服务器映射,即基于目标的IP的nat;

这里面需要注意的点是:

        1、我们的安全区域是指:哪个区域能访问我们的这个服务器,其实就是用来匹配的源区域;

        2、我们的端口地址转换是可选,这里如果写两个80,那么就代表公网访问80端口,转换之后的端口号还是80,即我的http服务;

其实我们可以看出,既然目标nat可以做,那我们的双向地址转换肯定也可以做

问题9:这里无非就是对链路选路进行一个策略;

        --1、首先在接口里面把接口的带宽配置欧克

        再通过接口创建一个链路接口,链路接口和接口基本一样,只是作用对象不同,链路接口是作用于选路策略的

--2、创建链路接口    ---这里应当选择源进源出,保证网络的稳定性

--3、选择智能选路

这里就是来选择智能选路的方式,同时把接口添加进智能选路机制里面来,让系统进行合理的选路

问题10:翻译一下:分公司内部可以通过公网IP访问内部服务器,公网也可以通过公网IP访问内网服务器;这里后半截问题很简单,公网访问内部服务器,基于目标地址转换即可;

主要是前半截问题:这里只能用双向nat,具体原因请思考包的发送过程!!

选择双向nat转换

配置转换后的源IP、目标IP、源服务、目标端口号(也是目标服务);

注意这里的源服务和目标服务(目标端口号)的个数必须相同

问题11:游客只能通过移动电路访问公网,可以看出这里我们需要写策略路由

策略路由:对抓取到的目标数据包进行一个针对性的转发,就像是为抓取到的数据包专门设置一个针对性的路由

这个出接口:就是针对我们抓取的数据包,我们需要选择哪条路进行一个转发;让你选择是移动这个出口还是电信这个出口

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

                                          过程是背,思路是理解;

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

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

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

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

相关文章

Mybatis-plus 集成 PostgreSQL 数据库自增序列问题记录

1.创建序列并绑定id CREATE SEQUENCE biz_factory_seq START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1;"id" int4 NOT NULL DEFAULT nextval(sys_user_seq::regclass), 2.实体设置KeySequence和TableId注解 注意IdType.INPUT 和 KeySequence(value …

Java巅峰之路---基础篇---综合练习(面向对象)

目录 文字版格斗游戏 基础版 souf输出语句 进阶版 键盘录入的说明 复杂对象数组练习 需求: 添加和遍历 删除和遍历 修改和遍历 文字版格斗游戏 基础版 格斗游戏,每个游戏角色的姓名,血量,都不相同,在选定人…

c++入门基础篇(上)

目录 前言: 1.c++的第一个程序 2.命名空间 2.1 namespace的定义 2.2 命名空间使用 3.c++输入&输出 4.缺省参数 5.函数重载 前言: 我们在之前学完了c语言的大部分语法知识,是不是意…

论文学习_An Empirical Study of Deep Learning Models for Vulnerability Detection

1. 引言 研究背景:近年来,深度学习漏洞检测工具取得了可喜的成果。最先进的模型报告了 0.9 的 F1 分数,并且优于静态分析器。结果令人兴奋,因为深度学习可能会给软件保障带来革命性的变化。因此,IBM、谷歌和亚马逊等行业公司非常感兴趣,并投入巨资开发此类工具和数据集。…

微信小程序如何实现登陆和注册功能?

👨‍💻个人主页:开发者-曼亿点 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 曼亿点 原创 👨‍💻 收录于专栏&#xff1a…

最新 Kubernetes 集群部署 + Containerd容器运行时 + flannel 网络插件(保姆级教程,最新 K8S 1.28.2 版本)

资源列表 操作系统配置主机名IP所需插件CentOS 7.92C4Gk8s-master192.168.60.143flannel-cni-plugin、flannel、coredns、etcd、kube-apiserver、kube-controller-manager、kube-proxy、 kube-scheduler 、containerd、pause 、crictlCentOS 7.92C4Gk8s-node01192.168.60.144f…

JVM:运行时数据区

文章目录 一、总览二、程序计数器1、介绍2、程序计数器在运行中会出现内存溢出吗? 三、栈1、介绍2、栈帧的组成部分(1)局部变量表(2)操作数栈(3)帧数据(3)栈内存溢出&…

everything搜索不到任何文件-设置

版本: V1.4.1.1024 (x64) 问题:搜索不到任何文件 click:[工具]->[选项]->下图所示 将本地磁盘都选中包含

mavsdk_server安卓平台编译

1.下载好mavsdk并进入mavsdk目录 2.生成docker安卓平台文件 docker run --rm dockcross/android-arm64 >./dockcross-android-arm64 3.生成makefile ./dockcross-android-arm64 cmake -DCMAKE_BUILD_TYPERelease -DBUILD_MAVSDK_SERVERON -DBUILD_SHARED_LIBSOFF -Bbuild/…

【学习笔记】4、组合逻辑电路(下)

接前文《【学习笔记】4、组合逻辑电路(上)》 4.4.5 算术运算电路 1. 半加器和全加器 半加器和全加器是算术运算电路中的基本单元。半加器和全加器是1位相加的组合逻辑电路。 (1)半加器 半加器:只考虑两个加数本身,不考虑低位进…

SuiteCRM SQL注入漏洞复现(CVE-2024-36412)

0x01 产品简介 SuiteCRM是一款屡获殊荣的企业级开源客户关系管理系统,它具有强大的功能和高度的可定制性,且完全免费。 0x02 漏洞概述 SuiteCRM存在SQL注入漏洞,未经身份验证的远程攻击者可以通过该漏洞拼接执行SQL注入语句,从…

C++20中的consteval说明符

在C20中,立即函数(immediate function)是指每次调用该函数都会直接或间接产生编译时常量表达式(constant expression)的函数。这些函数在其返回类型前使用consteval关键字进行声明。 立即函数是constexpr函数,具体情况取决于其要求。与constexpr相同&…

光学遥感图像中的目标检测技术全面综述,以及新的大规模基准数据集DIOR介绍。

原版论文:https://arxiv.org/abs/1909.00133 数据获取地址:https://www.dilitanxianjia.com/15648/ 获取全文可以入下图所示进行操作: 这篇文章主要对光学遥感图像中的目标检测技术进行了全面的综述,并提出了一个新的大规模基准…

神经网络以及简单的神经网络模型实现

神经网络基本概念: 神经元(Neuron): 神经网络的基本单元,接收输入,应用权重并通过激活函数生成输出。 层(Layer): 神经网络由多层神经元组成。常见的层包括输入层、隐藏层…

Camunda如何通过外部任务与其他系统自动交互

文章目录 简介流程图外部系统pom.xmllogback.xml监听类 启动流程实例常见问题Public Key Retrieval is not allowed的解决方法java.lang.reflect.InaccessibleObjectException 流程图xml 简介 前面我们已经介绍了Camunda的基本操作、任务、表: Camunda组件与服务与…

浏览器插件使用方法

如果我们经常使用的浏览器不是edge或者是chrome浏览器时,需要在浏览器安装插件时,无法获取插件以及不知道如何安装插件,本文章教你如何获取以及安装使用。 获取方法 第一种方法(推荐) 无需“魔法”,即可访问…

多表联合的查询(实例)、对于前端返回数据有很多表,可以分开操作、debug调试教程

2024.7.13 一、 对于多表的更深层的认识1. 认识2. 多表联合查询的列子:3. 对于多表查询的进一步认识4. 在实现功能的时候,原本对于省市县这样的表,对于项目的要求,是直接全部查询出来,然后开始使用,但我想着…

PDF 中图表的解析探究

PDF 中图表的解析探究 0. 引言1. 开源方案探究 0. 引言 一直以来,对文档中的图片和表格处理都非常有挑战性。这篇文章记录一下最近工作上在这块的探究。图表分为图片和表格,这篇文章主要记录了对表格的探究。还有,我个人主要做日本项目&…

如何解决VMware 安装Windows10系统出现Time out EFI Network...

一、问题描述 使用VMware 17 安装windows10出现如下图所示Time out EFI Network… Windows10镜像为微软官方下载的ISO格式镜像; 二、问题分析 VMware 17 默认的固件类型是UEFI(E),而微软官网下载的Windows10 ISO格式镜像不支持UEFI(E),支…

Android APT实战

Android开发中,注解平时我们用的比较多,也许我们会比较好奇,注解的背后是如何工作的,这篇文章帮大家一步步创建一个简单的注解处理器。 简介 APT(Annotation Processing Tool)即注解处理器,在编译的时候可以处理注解然后搞一些事情,也可以在编译时生成一些文件之类的。…