NAT简单理解

NAT简单理解,第1张

一、静态NAT

静态NAT:即端口映射(一对一映射)

1)静态NAT实现了私有地址和公有地址的一对一映射

2)一个公网ip只会分配给唯一且固定的内网主机

例如将内网web服务器映射到公网,让公网用户可以直接访问内网web服务

如果想让连接在 Internet 上的计算机能够使用某个私有 网络 上的 服务器 (如网站 服务器 )以及应用 程序 (如游戏),那么静态映射是必需的。静态映射不会从 NAT 转换表中删除。

在静态NAT方式中, 内部的IP地址与公有IP地址是一种一一对应的映射关系 ,所以,采用这种方式的前提是,机构能够申请到足够多的公网IP地址。

二、动态NAT

动态NAT基于地址池来实现私有地址和公有地址的转换

动态地址NAT只是转换IP地址,它为每一个内部的IP地址分配一个临时的外部IP地址,主要应用于拨号,对于频繁的远程联接也可以采用动态NAT。当远程用户联接上之后,动态地址NAT就会分配给他一个IP地址,用户断开时,这个IP地址就会被释放而留待以后使用。

动态NAT方式适合于 当机构申请到的全局IP地址较少,而内部网络主机较多的情况。内网主机IP与全局IP地址是多对一的关系。 当数据包进出内网时,具有NAT功能的设备对IP数据包的处理与静态NAT的一样, 只是NAT table表中的记录是动态的,若内网主机在一定时间内没有和外部网络通信,有关它的IP地址映射关系将会被删除,并且会把该全局IP地址分配给新的IP数据包使用,形成新的NAT table映射记录。

三、网络地址端口转换

网络地址端口转换NAPT允许多个内部地址映射到同一个公有地址的不同端口

网络地址端口转换分为两种:SNAT + DNAT

1、SNAT

SNAT 即我自己转换成公网地址,访问外网(我在内网),主动访问公网,主动

SNAT: 我们平时在局域网中有好多内网服务器或者终端,要访问公网,这种NAT实现方式就叫做SNAT,也叫作PAT

通过修改IP地址和端口的方法就可以使内网中所有的主机都能访问外网,此类NAT适用于组织或机构内只有一个合法的IP地址的情况

2、DNAT

DNAT 即别人从外网访问我(我在内网),被别人访问,被动

DNAT: 这种方式适用于内网的某些服务器需要为外网提供某些服务的情况。例如 内网web服务器集群(ip地址分别为:10.1.1.1,10.1.1.2,10.1.1.3等)需要为外网提供WEB 服务,当外网主机HostB访问内网时,所发送的数据包的目的IP地址为10.1.1.20,端口号为:80,当该数据包到达内网连接的路由器时,路由器查找NAT table,路由器通过修改目的IP地址和端口号,将外网的数据包请求平均分发到不同的主机上(10.1.1.1,10.1.1.2,10.1.1.3等),这样就实现了负载均衡。

四、Easy IP

Easy IP允许将多个内部地址映射到网关出接口地址上的不同端口

五、图解NAT

图解可以参考:https://www.idcbest.com/idcnews/11003641.html

如上,三台设备都使用 120.131.92.21 这一公网IP. 而对于这三台设备分别从各自端口发出的TCP/UDP请求,则映射至NAT设备不同的端口上,记录在NAT表上.这样就区分了某个请求试试来自哪个设备的哪个端口上.

1,NAT表的淘汰

2,NAT墙

3,端对端通信模型的破坏

1, Full Cone NAT(完全雏形NAT)

2, Restricted Cone NAT (限制雏形NAT)

3, Port Restricted Cone NAT(端口限制雏形NAT)

4, Symmetric NAT (对称NAT)

注意:

事实上,这些术语的引入是很多混淆的起源。现实中的很多NAT设备是将这些转换方式 混合 在一起工作的,而不单单使用一种,所以这些术语只适合描述一种 工作方式 ,而不是一个设备。比如,很多NAT设备对内部发出的连接使用对称型NAT方式,而同时支持静态的端口映射,后者可以被看作是全锥型NAT方式。而有些情况下,NAT设备的一个公网地址和端口可以同时映射到内部几个服务器上以实现负载分担,比如一个对外提供WEB服务器的站点可能是有成百上千个服务器在提供HTTP服务,但是对外却表现为一个或少数几个IP地址。

例如,FTP应用就由数据连接和控制连接共同完成,而且数据连接的建立动态地由控制连接中的载荷字段信息决定,这就需要ALG来完成载荷字段信息的转换,以保证后续数据连接的正确建立。

图中私网侧的主机要访问公网的FTP服务器。NAT设备上配置了私网地址192.168.1.2到公网地址8.8.8.11的映射,实现地址的NAT转换,以支持私网主机对公网的访问。组网中,若没有ALG对报文载荷的处理,私网主机发送的PORT报文到达服务器端后,服务器无法根据私网地址进行寻址,也就无法建立正确的数据连接。整个通信过程包括如下四个阶段:

(1)私网主机和公网FTP服务器之间通过TCP三次握手成功建立控制连接。

(2)控制连接建立后,私网主机向FTP服务器发送PORT报文,报文中携带私网主机指定的数据连接的目的地址和端口,用于通知服务器使用该地址和端口和自己进行数据连接。

(3)PORT报文在经过支持ALG特性的NAT设备时, 报文载荷中的私网地址和端口会被转换成对应的公网地址和端口 。即设备将收到的PORT报文载荷中的私网地址192.168.1.2转换成公网地址8.8.8.11,端口1084转换成12487。

(4)公网的FTP服务器收到PORT报文后,解析其内容,并向私网主机发起数据连接,该数据连接的目的地址为8.8.8.11,目的端口为12487(注意:一般情况下,该报文源端口为20,但由于FTP协议没有严格规定,有的服务器发出的数据连接源端口为大于1024的随机端口,如本例采用的是wftpd服务器,采用的源端口为3004)。由于该目的地址是一个公网地址,因此后续的数据连接就能够成功建立,从而实现私网主机对公网服务器的访问。

总而言之,在ALG中配置的支持的协议,可以实现逆向访问


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/205719.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-03
下一篇2023-04-03

发表评论

登录后才能评论

评论列表(0条)

    保存