什么是SNAT、DNAT?

什么是SNAT、DNAT?

SNAT

企业内部的主机A想访问互联网上的主机C,首先将请求数据包(源:ipA,目标:ipC)发送到防火墙所在主机B,B收到后将数据包源地址改为本机公网网卡的ip(源:ipA,目标:ipB),然后经互联网发送给C;C收到后将回应包(源:ipC,目标:ipB)转发给C的路由器,经互联网将回应包转发给B,B收到回应包后修改其目的地址,即回应包改为(源:ipC,目标:ipA)然后将数据包转发给A。

在这个过程中,修改了请求报文的源地址,叫做SNAT(source NAT POSTROUTING),用于局域网访问互联网。

DNAT

互联网主机C想访问企业内部的web服务器A,但A的地址是私有地址,无法直接访问。此时,C可以访问防火墙的公网地址,C的请求数据包(源:ipC,目标:ipB)到达防火墙B后,在B的prerouting上将请求数据包的目标地址进行修改,并将数据包(源:ipC,目标:ipA)发送给A。A收到后进行回复发送响应包(源:ipA,目的ipC)到防火墙,防火墙收到后对数据包源地址进行修改,并将响应包(源:ipB,目标:ipC)给C。利用这种机制可以将企业内部的服务发布到互联网。

在这个过程中,修改了请求报文的目标地址,叫做DNAT(destination NAT POSTROUTING),用于互联网访问局域网。

详细的可以看:原文链接

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

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

相关文章

ASP.NET读取(导入)CSV文件[献给菜鸟的我们]

CSV文件本身是TXT文件。 所以..可以通过FileStream文件流的方式读取. 如下代码: public void GetCSV1() { FileStream fs new FileStream("D:\\ReportLowIDAndHighID.csv", FileMode.Open, FileAccess.Read); //FileStream fs new FileStream(&…

【jquery】基于 jquery 实现 ie 浏览器兼容 placeholder 效果

placeholder 是 html5 新增加的属性,主要提供一种提示(hint),用于描述输入域所期待的值。该提示会在输入字段为空时显示,并会在字段获得焦点时消失。placeholder 属性适用于以下类型的 input 标签:text, se…

连接远程电脑中的虚拟机---端口映射

连接远程电脑中的虚拟机---端口映射问题:A主机中运行有2台虚拟机,现在我们希望在B主机中通过ssh(或其他方式)访问A主机中的2台虚拟机。(前提:B主机可以ping通A主机,即A有公网IP或A、B在同一子网下) 解决方法 设置虚拟…

Unity 动画属性

在动画的使用上使用不当的设置往往会造成不可预料的结果。 首先,如果动画自身可以驱动物体移动,那么在Animator组件上必须选择apply root motion,物体的动画位移才能生效,否则动画只能在原地播放。 第二,Bake Into Pos…

获取Dataset前几条数据的两种方法

第一种 public static DataView GetLatestComments(int numComments) { DataView Comments new DataView(GetComments()); Comments.Sort “DateCreated Desc“; string filter string.Empty; string delimiter string.Empty; numComments Math.Min(numComments, Comm…

Javascript正则匹配数字,中英文,中横线,下划线,utf-8中文

为什么80%的码农都做不了架构师?>>> function check_string(nickname) {var reg /^[A-Za-z0-9-_\u4e00-\u9fa5]{4,30}$/;if (!reg.test(nickname)) {return false;}return true; } 转载于:https://my.oschina.net/biezhi/blog/396989

解决<style>无法重写.css文件的问题

解决style无法重写.css文件的问题问题:在main.css已经定义了.main_content {width: 10px;}。然而现在在index.html中,我们希望main_content的宽度设置为20px。 解决思路:在index.html中加入如下定义后,我们会发现格式依旧为10px&…

Unity3D 旋转

Unity有两种设置物体旋转的方式,一种时用Rotate()函数来旋转,另一种时直接构造目标Quaternion来直接赋予rotation。 好吧,不知到写什么,各种旋转和unity2D差不多。在国内网站基本都是写入门的结果&#xff…

基于linux的集群系统LVS

一 LVS (Linux Virtual Server)针对高可伸缩、高可用网络服务的需求,我们给出了基于IP层和基于内容请求分发的负载平衡调度解决方法,并在Linux内核中实现了这些方法,将一组服务器构成一个实现可伸缩的、高可用网络服务…

java下包内继承时编译不过解决方案

代码源自《java核心技术一卷》抽象表示如下:ManagerTest.javapackage inheritance;...public class ManagerTest{}存放于:inheritance/ManagerTest.javaManager.javapackage inheritance;...public class Manager{}存放于:inheritance/Manage…

jps: command not found

CentOs7出现bash: jps: command not found的问题Centos7 默认安装了openJDK,jps命令不能使用 [rootmaven-test ~]# jps bash: jps: command not found...解决办法 [rootmaven-test ~]# yum install -y java-1.8.0-openjdk-devel再次执行 [rootmaven-test ~]# jp…

jQuery 开发环境搭配(转)

jQuery 作为一个轻量级的 JavaScript 库,至 06 年出来到现在, 也算是用得最火的 JavaScript 库了吧, 要开始学习 jQuery ,首先还是必须得把环境搭配好吧, 这一篇博文呢,主要是想介绍一下在 Dreamweaver 上和…

WPF在预览视图下可以看到图片,运行时却报错提示找不到资源

原因:没有将图片资源添加到项目中; 转载于:https://www.cnblogs.com/canyeweiwei/p/11151408.html

Connection to node 0 (/192.168.204.131:9092) could not be established

解决连接虚拟机内kafka出现Connection to node 0 /192.168.204.131:9092 could not be established.Broker may not be available.问题: 在我尝试使用Springboot集成虚拟机内运行的kafka服务器时,出现了以下问题。 原因:可能出现的原因主要有…

《Android开发从零开始》——10. LinearLayout学习

1.介绍LinearLayout布局 2.通过实例讲解android:gravity属性 3.通过实例讲解android: layout_weight属性 课程下载地址:http://u.115.com/file/f14c3c7a37转载于:https://www.cnblogs.com/coolszy/archive/2011/04/02/2003190.html

获取本机MSSQL保存凭证

本文转自王子博客:http://www.cnblogs.com/killbit/p/4355950.html 首先要感谢哥们对我的指点,多谢。 当我们遇到类似情况下,如何获取保存在MSSQL工具里的凭证呢? //如果对方连接地址后面加了IP\sqlexpress 连接的时候你也记得加上…

【读书笔记-数据挖掘概念与技术】数据挖掘的发展趋势和研究前沿

复杂的数据类型 数据挖掘的其他方法 关于数据挖掘基础的观点: 可视和听觉数据挖掘 数据可视化数据挖掘结构可视化数据挖掘过程可视化交互式可视数据挖掘数据挖掘的应用

解决torch.cuda.is_available()为False的问题

解决torch.cuda.is_available为False问题:在Anaconda环境下,电脑拥有GPU并且已经通过conda install安装了Pytorch、cudatoolkit,但是torch.cuda.is_available()始终返回False(找不到显卡) 原因:使用conda …

如何解决ORA-04031错误

诊断并解决ORA-04031错误 当我们在共享池中试图分配大片的连续内存失败的时候,Oracle首先清除池中当前没使用的所有对象,使空闲内存块合并。如果仍然没有足够大单个的大块内存满足请求,就会产生ORA-04031错误。 当这个错误出现的时候你得到的…

SPOJ简介

SPOJ是波兰最为出色的Online Judge之一,界面和谐,题目类型也非常丰富,适合有一定基础的选手练习,对高手而言也是个提高能力的良好平台。SPOJ题目分类:classical,challenge,partial,t…