天天看点

nat端口限制_NAT:端口受限类型和对称型有什么区别?

问题描述

能否举例说明下?比如:内网两台机器(192.168.0.2和192.168.0.3),NAT(外网地址:1.1.1.1),外网两台机器(2.2.2.4和2.2.2.5)这样的场景下,有什么不同的?

nat端口限制_NAT:端口受限类型和对称型有什么区别?

还没有阅读这篇文章的读者,请先前往阅读。

看了很多人写的关于NAT的文章,感觉并没有将这个问题讲透彻,以至于中文互联网上一提到“对称型NAT”很多人人云亦云,殊不知第一个解释的人可能是正确的,但是经过无数人的口口相传,一个原本正确的解释变得面目可憎,不知所云。

NAT无疑是复杂的,成百上千的网络厂商,在没有技术标准规范出台前,百花争奇斗艳,野草丛生。这样给网络的部署、应用程序的互通带来了无法预料的挑战。于是IETF将市场上的主流NAT实现做了一个分类,并强烈建议后来的厂商按照这个分类来实现自己的NAT。

为了更好地解释这个分类,特定义1个客户端主机,2个服务器主机。

客户端主机私有IP = 10.1.1.1

客户端NAT全球IP = 1.1.1.1

服务器A全球IP = 2.2.2.2

服务器B全球IP =3.3.3.3

类型1:全纺锤型(Full-cone NAT)

客户端与服务器A通信,通信四元组为:

Source IP =10.1.1.1

Source Port = 11111

Destination IP =2.2.2.2

Destination Port =2222

NAT设备改写了IP报文四元组:

Source IP = 1.1.1.1

Source Port = 12121

Destination IP =2.2.2.2

Destination Port =2222

NAT表为:

10.1.1.1:11111      1.1.1.1:12121

NAT入向(Outside  -> Inside)过滤列表为:

ACL = (1.1.1.1,12121,*, *)

括号中的第一个“ *“ ,代表任何互联网IP。

括号中的第二个“ *“ ,代表任何端口号。

这个过滤列表的意思是,只要满足目的IP = 1.1.1.1,目的端口号= 12121 的任何报文,NAT设备会准许通行。很显然这样最宽松的准入机制。

意味着服务器B使用使用3.3.3.3,任何端口号的IP报文都可以从NAT设备自由通行,并最终到达客户端主机。

这个就是全纺锤型的由来,很显然这不是一种安全的类型,只要客户端主机向互联网发送一个IP报文,客户端的主机端口号就暴露在互联网上,成为攻击者扫描的对象端口。

既然第一种类型不安全,那么就有了第二种安全类型。

类型2:限制地址型

类型2与类型1相比,整体都是相同的,只是过滤列表更严格了,四元组里限制了三元,只剩余唯一的端口没有限制。

NAT入向(Outside  -> Inside)过滤列表为:

ACL = (1.1.1.1,12121,2.2.2.2, *)

这个过滤列表的潜台词是,凡是满足前三个条件的报文,都可以自由从NAT设备进入内网,并最终到达客户端主机。

来自2.2.2.2:22222的流量可以到达客户端吗?当然可以!

来自3.3.3.3:22222的流量可以到达客户端吗?当然不可以!

这里的限制地址,指的是限制来自互联网得源IP地址,即括号中黄色加亮得部分。

nat端口限制_NAT:端口受限类型和对称型有什么区别?

大家可以看出,这种方式还是相对宽松的,服务器A(2.2.2.2)可以使用任何端口,与客户端主机(10.1.1.1:11111)通信。

更安全的类型,需要类型3,类型4来提供,欲知类型3,类型4如何分解,且听下回分解,前提是掌声够热烈。。。