NAT转换对ICMP (PING)_协议的处理

合集下载

NAT协议详解

NAT协议详解

NAT协议详解NAT(Network Address Translation,⽹络地址转换)是将IP数据报头中的IP地址转换为另⼀个IP地址的过程。

在实际应⽤中,NAT主要⽤于实现私有⽹络访问公共⽹络的功能。

这种通过使⽤少量的公⽹IP地址代表较多的私⽹IP地址的⽅式,将有助于减缓可⽤IP地址空间的枯竭。

私⽹IP地址是指内部⽹络或主机的IP地址,公⽹IP地址是指在因特⽹上全球唯⼀的IP地址。

RFC 1918为私有⽹络预留出了三个IP地址块,如下:A类:10.0.0.0~10.255.255.255B类:172.16.0.0~172.31.255.255C类:192.168.0.0~192.168.255.255(上述三个范围内的地址不会在因特⽹上被分配,因此可以不必向ISP或注册中⼼申请⽽在公司或企业内部⾃由使⽤。

)NAT最初的设计⽬的是⽤于实现私有⽹络访问公共⽹络的功能,后扩展到实现任意两个⽹络间进⾏访问时的地址转换应⽤,本⽂中将这两个⽹络分别称为内部⽹络(内⽹)和外部⽹络(外⽹),通常私⽹为内部⽹络,公⽹为外部⽹络。

内⽹⽤户主机PC(192.168.1.3)向外⽹服务器(1.1.1.2)发送的IP报⽂通过NAT设备。

lNAT设备查看报头内容,发现该报⽂是发往外⽹的,将其源IP地址字段的私⽹地址192.168.1.3转换成⼀个可在Internet上选路的公⽹地址20.1.1.1,并将该报⽂发送给外⽹服务器,同时在NAT设备的⽹络地址转换表中记录这⼀映射。

l外⽹服务器给内⽹⽤户发送的应答报⽂(其初始⽬的IP地址为20.1.1.1)到达NAT设备后,NAT设备再次查看报头内容,然后查找当前⽹络地址转换表的记录,⽤内⽹私有地址192.168.1.3替换初始的⽬的IP地址。

上述的NAT过程对终端(如图中的Host和Server)来说是透明的。

对外⽹服务器⽽⾔,它认为内⽹⽤户主机的IP地址就是20.1.1.1,并不知道有192.168.1.3这个地址。

网络防火墙的网络地址转换(NAT)配置指南(六)

网络防火墙的网络地址转换(NAT)配置指南(六)

网络防火墙的网络地址转换(NAT)配置指南随着互联网的普及和发展,网络防火墙在保护企业网络安全方面扮演着至关重要的角色。

而网络地址转换(NAT)作为一种网络安全机制,被广泛应用于网络防火墙的配置中。

本文旨在为读者提供一个网络地址转换配置指南,帮助企业理解和实施该机制。

引言在介绍NAT的配置指南之前,我们先要明确NAT的基本概念及其在网络安全中的作用。

NAT是一种将一个IP地址转换为另一个IP地址的技术,它主要用于在私有网络与公共网络之间进行通信。

通过将私有IP地址转换为公共IP地址,可以提高网络的安全性,同时实现更高效的资源利用。

一、了解NAT的基本原理在配置NAT之前,我们应该先了解NAT的基本原理。

NAT主要包括源NAT和目标NAT。

源NAT用于将内部网络的私有IP地址转换为公共IP地址,以在公共网络上进行通信。

目标NAT则是将公共IP地址转换为内部网络的私有IP地址,以使公共网络上的数据包能够正确传递到内部网络中的特定主机。

二、配置源NAT源NAT的配置是非常关键的,它需要在企业防火墙设备上进行。

以下是配置源NAT的步骤:1. 确定需要进行源NAT的内部网络。

根据企业的实际情况,确定哪些内部网络需要进行源NAT转换以与公共网络通信。

2. 为每个需要进行源NAT的内部网络选择一个公共IP地址池。

这个公共IP地址池可以是由企业自己拥有的IP地址,也可以是从ISP 提供的IP地址中选择。

确保公共IP地址池能够满足企业的需求,并且不会与其他网络冲突。

3. 配置源NAT规则。

在防火墙设备上,设置源NAT规则,将内部网络的私有IP地址映射到相应的公共IP地址。

这样当内部网络发起外部通信时,数据包将会被源NAT转换,并以公共IP地址为源地址进行传输。

三、配置目标NAT与源NAT类似,配置目标NAT也需要在企业防火墙设备上进行。

以下是配置目标NAT的步骤:1. 确定需要进行目标NAT的公共网络。

根据企业的需求,确定哪些网络需要进行目标NAT转换以与内部网络通信。

11NAT————————动态静态地址转换

11NAT————————动态静态地址转换

模块十一 NATInternet 技术的飞速进展,使愈来愈多的用户加入到互联网,因此IP 地址欠缺已成为一个十分突出的问题。

NAT(Network Address Translation,网络地址翻译)是解决 IP 地址欠缺的重要手腕。

第一讲 NAT 概述NAT 是一个 IETF 标准,许诺一个机构以一个地址出此刻 Internet上。

NAT 技术使得一个私有网络能够通过 Internet 注册 IP 连接到外部世界,位于 Inside 网络和 Outside 网络中的 NAT 路由器在发送数据包之前,负责把内部 IP 地址翻译成外部合法 IP 地址。

NAT 将每一个局域网节点的 IP 地址转换成一个合法 IP 地址,反之亦然。

它也能够应用到防火墙技术里,把个别 IP 地址隐藏起来不被外界发觉,对内部网络设备起到爱惜的作用,同时,它还帮忙网络能够超越地址的限制,合理地安排网络中的公有 Internet 地址和私有 IP 地址的利用。

NAT 有三种类型:静态 NAT、动态 NAT 和端口地址转换(PAT)。

1.静态 NAT静态 NAT 中,内部网络中的每一个主机都被永久映射成外部网络中的某个合法的地址。

静态地址转换将内部本地地址与内部合法地址进行一对一的转换,且需要指定和哪个合法地址进行转换。

若是内部网络有 E-mail 效劳器或 FTP 效劳器等能够为外部用户提供的效劳,这些效劳器的 IP 地址必需采纳静态地址转换,以便外部用户能够利用这些效劳。

2.动态 NAT动态 NAT 第一要概念合法地址池,然后采纳动态分派的方式映射到内部网络。

动态 NAT 是动态一对一的映射。

3.PATPAT 那么是把内部地址映射到外部网络的 IP 地址的不同端口上,从而能够实现多对一的映射。

PAT 关于节省 IP 地址是最为有效的。

第二讲实验 1:静态 NAT 配置1. 实验目的通过本实验能够把握(1)静态 NAT 的特点。

网络地址转换(NAT)的简介

网络地址转换(NAT)的简介

网络地址转换(NAT)的简介首先,要了解NAT 是一个过程,而不是一个结构化协议!1、IP NAT术语内部本地网络指的是连接到属于私有LAN的路由器接口的网络。

对于内部网络中的主机发送到外部目的地的分组,必须对其中的IP地址进行转换。

外部全局网络指的是与LAN外部的路由器相连的网络,它们不能识别LAN中主机的私有地址。

内部本地地址指的是内部网络主机配置的私有IP地址。

使用这种地址的分组离开内部网络前,必须对其地址进行转换。

内部全局地址指的是外部网络看到的内部主机的IP地址,这是转换后的IP地址。

外部本地地址是本地网络发送分组时使用的目标地址,它通常与外部全局地址相同。

外部全局地址是外部主机实际使用的公有IP地址,这种地址是从全局可路由地址空间分配的。

2、静态和动态NAT使用NAT的优点之一是,无法从公共Internet直接访问主机。

然而,如果需要从Internet访问内部网络中一台或多台主机运行的服务以及其他设备,该怎么办呢?从Internet访问本地主机,方法之一是给该设备指定静态地址转换。

静态转换可确保特定主机的私有IP地址总是转换为同一个全局IP地址,还将确保其他本地主机的IP地址不会转换为该注册地址。

这称为静态NAT。

动态NAT指的是路由器被配置成动态地给内部私有网络设备分配全局地址池中的IP地址。

只要会话没有关闭,路由器就将监控该内部全局地址,并向发起会话的内部设备发送确认。

会话结束时,路由器将内部全局地址归还到地址池。

动态NAT让内联网中使用私有IP地址的主机能够访问公共网络(如Internet);而静态NAT让公共网络中的主机能够访问私有网络中的特定主机。

这意味着配置NAT以便用户能够访问外部网络时,应配置动态NAT;如果希望外部主机能够访问内部网络中的设备,应使用静态NA T。

必要时,可同时部署这两种NAT方法。

3、基于端口的网络地址转换(PAT)如果机构注册的IP地址池很小甚至只有一个IP地址,仍可以通过NAT重载(端口地址转换(P AT))机制,使多个用户可以同时访问公共网络。

公网-内网IP分配及NAT地址转换协议

公网-内网IP分配及NAT地址转换协议

公网/内网IP分配及NAT地址转换协议公网/内网IP分配及NAT地址转换协议(转自ReTu rner.D's blog)上一篇 / 下一篇 2008-10-20 10:43:13 / 个人分类:无线通信查看( 150 ) / 评论( 0 ) / 评分( 0 / 0 )公网IP/内网IP:在TCP/IP协议中,专门保留了三个IP地址区域作为私有地址,其地址范围如下:10.0.0.0/8:10.0.0.0~10.255.255.255172.16.0.0/12:172.16.0.0~172.31.255.255192.168.0.0/16:192.168.0.0~192.168.255.255使用保留地址的网络只能在内部进行通信,而不能与其它网络互连。

因为本网络中的地址同样也可能被其它网络使用,如果进行网络互连,那么寻找路由时就会因为地址的不唯一而出现问题。

但是这些使用保留地址的网络可以通过将本网络内的保留地址翻译转换成公共地址的方式实现与外部网络的互连。

这也是保证网络安全的重要方法之一。

但是有一些宽带运营商尽管也使用了非私有地址分配给用户使用,但是由于路由设置的原因,Internet 上的其它用户并不能访问到这些IP。

我们将这两种情况下应用的IP称为内网IP。

如果自己机器上网络接口的IP地址落在上述保留地址范围内,则可以肯定自己处于内网模式下。

内网IP对Internet的访问必须通过代理的方式,NAT(Network Address Translation)技术是基于TCP 层面的代理,能够相当好地使用于各种IP服务应用,因此被广泛应用。

之所以说是相当好,是因为NAT 要求整个服务的连接是从内网向外网主动发起的,而外网用户则无法直接(主动)向内网内网的服务发起连接请求,除非在NAT的(所有)网关上针对服务的端口作了端口映射。

NAT转换的类型:有四种NAT转换模型可以涵盖当前NAT的基本应用。

NAT地址转换原理及配置

NAT地址转换原理及配置

NAT地址转换原理及配置NAT(Network Address Translation)是一种网络地址转换技术,主要用于解决IPv4地址不足的问题。

NAT工作在网络层,主要通过修改数据包的源地址和目的地址来实现地址转换。

下面将详细介绍NAT地址转换的原理和配置方法。

一、NAT地址转换原理当一个网络中的主机要与另一个网络中的主机进行通信时,需要知道目标主机的IP地址。

在IPv4中,IP地址空间有限,且分配不均,导致很多地方IP地址紧张。

NAT技术通过将内部网络的私有IP地址转换成外部网络的公有IP地址,使得内部网络中的主机能够访问Internet。

NAT地址转换的原理可以分为三种模式:静态NAT、动态NAT和PAT(端口地址转换)。

1.静态NAT:将特定的内部IP地址映射为特定的外部IP地址。

这种模式需要手动配置,一个内部IP地址只能映射为一个外部IP地址。

2.动态NAT:动态NAT是在静态NAT的基础上增加了地址池的概念。

内部主机可以动态地获取一个可用的外部IP地址,并在通信结束后释放。

这种方式可以使多个内部IP地址映射为多个外部IP地址,提高地址利用率。

3. PAT(端口地址转换):PAT是一种特殊的动态NAT技术。

在PAT 中,将多个内部IP地址映射到一个外部IP地址,并通过源端口号来区分不同的内部主机。

这样就可以实现多个内部主机通过一个公有IP地址访问Internet。

PAT是最常用的一种NAT方式。

二、NAT地址转换的配置方法1.配置地址池首先需要配置NAT的地址池,即可用的公有IP地址范围。

这个地址池可以是一个或多个连续的IP地址段。

配置地址池的命令如下:ip nat pool pool-name start-ip-address end-ip-address netmask netmask2.配置访问列表为了确定哪些数据包需要进行NAT地址转换,需要配置一个访问列表。

访问列表可以根据源地址、目的地址、协议、端口等条件进行匹配。

NAT网络地址转换实验详解

NAT网络地址转换实验详解

一、原理回顾网络地址转换(NAT,Network Address Translation)属接入广域网(WAN)技术,是一种将私有(保留)地址转化为合法IP地址的转换技术,它被广泛应用于各种类型Internet接入方式和各种类型的网络中。

原因很简单,NAT不仅完美地解决了lP地址不足的问题,而且还能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机。

虽然NAT可以借助于某些代理服务器来实现,但考虑到运算成本和网络性能,很多时候都是在路由器上来实现的。

随着接入Internet的计算机数量的不断猛增,IP地址资源也就愈加显得捉襟见肘。

事实上,除了中国教育和科研计算机网(CERNET)外,一般用户几乎申请不到整段的C类IP地址。

在其他ISP那里,即使是拥有几百台计算机的大型局域网用户,当他们申请IP地址时,所分配的地址也不过只有几个或十几个IP地址。

显然,这样少的IP地址根本无法满足网络用户的需求,于是也就产生了NAT技术。

l.NAT简介借助于NAT,私有(保留)地址的"内部"网络通过路由器发送数据包时,私有地址被转换成合法的IP地址,一个局域网只需使用少量IP地址(甚至是1个)即可实现私有地址网络内所有计算机与Internet的通信需求。

NAT将自动修改IP报文的源IP地址和目的IP地址,Ip地址校验则在NAT处理过程中自动完成(对于ICMP,NAT也自动完成地址转换)。

有些应用程序将源IP地址嵌入到IP报文的数据部分中,所以还需要同时对报文进行修改,以匹配IP 头中已经修改过的源IP地址。

否则,在报文数据都分别嵌入IP地址的应用程序就不能正常工作。

2.NAT实现方式NAT的实现方式有三种,即静态转换Static Nat、动态转换Dynamic Nat 和端口多路复用OverLoad。

静态转换是指将内部网络的私有IP地址转换为公有IP地址,IP地址对是一对一的,是一成不变的,某个私有IP地址只转换为某个公有IP地址。

NAT转换对ICMP (PING)_协议的处理

NAT转换对ICMP (PING)_协议的处理

分析:NAT设备对数据包的影响NAT是干什么的我就不多说废话了,免得大家拿砖头拍我,现在我就拿自己前几天做过的实验(实验中NAT设备的地址为192.168.11.250,PC的地址为192.168.0.2)向大家展示一下数据包在NAT前后的变化,以了解NAT的原理首先我们查看一下NAT对TCP数据包的操作下图是一个TCP包在NAT之前的样子大家可以看到这个数据包的IP标识是15862(标识是用来分辨数据包的,一台主机发的包的标识依次递增),TTL是128 ,不分片,头部检验码为0x0702,源地址为192.168.0.2,目标地址为61.152.183..141 OK这是IP头部的信息!对于TCP头部的信息,源端口1815,目标端口80,序列号是2856985904,确认号是0这是NAT之后的同一个数据包,大家看出变化了吗?源IP地址是不是变成192.168.11.250了,同时因为更改了IP头部的数据,是不是IP的检验码也变化了!对于TCP 来说,源端口是不是也变化了,由1815变为2121,同时TCP的检验码也变了!但是其它的选项值是不变的,如IP的标识号,前几次看到有人的文章说IP标识号也会被修改,很奇怪,是不是与NAT设备的厂商有关就不得而知了以下是UDP的前后(UDP的包我选择了DNS报文)对于UDP的处理,与前面的TCP的报文一样,只是改变了源地址,源端口及相应的校验码对ICMP的处理,可能大家没有想过这个问题,这个也是在网络协议分析论坛上有前辈指出的,ICMP可不像TCP,UDP有端口,NAT设备是如何保证建立对应的NAT表呢?以下是我用最常的两种ICMP报文的演示,其中一个是请求报文,一个是响应报文NAT之前的ICMP请求报文ICMP NAT之前的响应报文可以看到ICMP的请求与响应报文中有一个字段identifier 它们都是0300,这个值代表唯一主机,意思是同一台主机发出的所有的ICMP报文,它的identifier值都是一样的,不同主机的值不一样.在identifier下面有一个序列号,这个是所发出的ICMP报文顺序的唯一标识如你执行一个PING命令,发出四个请求包,这四个请求包每个都应有一个回应包,可是TCP/IP是一种非实时性的协议,不一定发出的第一个请求包所对应的响应包也能第一个回来,那么如何实现一对一对应呢,就是靠这个序列号,每一个请求包和它所对应的回应包的序列号是一样的下图是NAT后的ICMP请求包下图是NAT之后的ICMP回应包从上图可以看到,NAT对ICMP报文做了以下改动首先在IP层改动了源IP,及相应的校验码在ICMP中,将identifier及相应的序列号都更改了,当然,更改后的idenfifier仍然标识唯一一主机,序列号仍然是一对一的关系,最后ICMP的校验码也更改了!NAT对IP分片的影响这个实验我用PING -l 3000 -t-l代表是产生多大的PING包,现在我这边是3000byte的包(注意,这次我的本机IP为192.168.100.222 NAT设备地址为192.168.100.250)NAT前的IP分片OK,大家看到这个是NAT前的ICMP分片包,可以看到FLAG字段的more Fragments标志位为1,代表这是个分片包,IP的标识为11080OK,源地址已经被转换了,所以对应的校验码也变了,其它什么也没变好,现在我们明白了,NAT设备对分片仅仅起一个源地址转换作用!好了,就先说到这儿吧,欢迎有人批评指正。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

分析:NAT设备对数据包的影响
NAT是干什么的我就不多说废话了,免得大家拿砖头拍我,现在我就拿自己前几天做过的实验(实验中NAT设备的地址为192.168.11.250,PC的地址为192.168.0.2)向大家展示一下数据包在NAT前后的变化,以了解NAT的原理
首先我们查看一下NAT对TCP数据包的操作
下图是一个TCP包在NAT之前的样子
大家可以看到这个数据包的IP标识是15862(标识是用来分辨数据包的,一台主机发的包的标识依次递增),TTL是128 ,不分片,头部检验码为0x0702,源地址为192.168.0.2,目标地址为61.152.183..141 OK这是IP头部的信息!
对于TCP头部的信息,源端口1815,目标端口80,序列号是2856985904,确认号是0
这是NAT之后的同一个数据包,大家看出变化了吗?源IP地址是不是变成192.168.11.250了,同时因为更改了IP头部的数据,是不是IP的检验码也变化了!对于TCP 来说,源端口是不是也变化了,由1815变为2121,同时TCP的检验码也变了!
但是其它的选项值是不变的,如IP的标识号,前几次看到有人的文章说IP标识号也会被修改,很奇怪,是不是与NAT设备的厂商有关就不得而知了
以下是UDP的前后(UDP的包我选择了DNS报文)
对于UDP的处理,与前面的TCP的报文一样,只是改变了源地址,源端口及相应的校验码
对ICMP的处理,可能大家没有想过这个问题,这个也是在网络协议分析论坛上有前辈指出的,ICMP可不像TCP,UDP有端口,NAT设备是如何保证建立对应的NAT表呢?以下是我用最常的两种ICMP报文的演示,其中一个是请求报文,一个是响应报文
NAT之前的ICMP请求报文
ICMP NAT之前的响应报文
可以看到ICMP的请求与响应报文中有一个字段identifier 它们都是0300,这个值代表唯一主机,意思是同一台主机发出的所有的ICMP报文,它的identifier值都是一样的,不同主机的值不一样.
在identifier下面有一个序列号,这个是所发出的ICMP报文顺序的唯一标识
如你执行一个PING命令,发出四个请求包,这四个请求包每个都应有一个回应包,可是TCP/IP是一种非实时性的协议,不一定发出的第一个请求包所对应的响应包也能第一个回来,那么如何实现一对一对应呢,就是靠这个序列号,每一个请求包和它所对应的回应包的序列号是一样的
下图是NAT后的ICMP请求包
下图是NAT之后的ICMP回应包
从上图可以看到,NAT对ICMP报文做了以下改动
首先在IP层改动了源IP,及相应的校验码
在ICMP中,将identifier及相应的序列号都更改了,当然,更改后的idenfifier仍然标识唯一一主机,序列号仍然是一对一的关系,最后ICMP的校验码也更改了!
NAT对IP分片的影响
这个实验我用PING -l 3000 -t
-l代表是产生多大的PING包,现在我这边是3000byte的包(注意,这次我的本机IP为192.168.100.222 NAT设备地址为192.168.100.250)
NAT前的IP分片
OK,大家看到这个是NAT前的ICMP分片包,可以看到FLAG字段的more Fragments标志位为1,代表这是个分片包,IP的标识为11080
OK,源地址已经被转换了,所以对应的校验码也变了,其它什么也没变
好,现在我们明白了,NAT设备对分片仅仅起一个源地址转换作用!
好了,就先说到这儿吧,欢迎有人批评指正。

对PING包的NAT是如何进行呢ICMP没有端口如何建立NAT表。

很多人都说是根据icmp.identifier字段进行NAT表的建立,其实只说对一半。

对UNIX或者LINUX来说是正确的,但如今WINDOWS系统ICMP.identifier基本上是固定不变。

同一台windows机器对多个目标地址发出的ping其ICMP.identifier是相同的。

如何进行NAT呢。

仔细观察会发现每个ping 包的ICMP.sequence是变化的(XP下ICMP.sequence是以256进行递增)
因此NAT设备对ping进行地址翻译是是结合ICMP.identifier、ICMP.sequence、IP.identifier等多个因素进行确定。

同一个ping 的request和reply中的ICMP.identifier、ICMP.sequence是不变的。

相关文档
最新文档