对称NAT和UDP打孔


8

我已经读过这个问题,但是对对称NAT的解释还不够详细。

请有人可以帮助我理解以下段落吗?

我读了有关对称NAT的内容

如果相同的内部主机即使发送相同的源地址和端口,但发送到不同的包,则从相同内部IP地址和端口到特定目标IP地址和端口的每个请求都将映射到唯一的外部源IP地址和端口。目的地,使用其他映射。只有从内部主机接收到数据包的外部主机才能将数据包发回。

http://en.wikipedia.org/wiki/Network_address_translation#Types_of_NAT

关于UDP Hole-punching的内容

UDP打孔不适用于大型企业网络中常见的对称NAT设备(也称为双向NAT)。在对称NAT中,与到知名STUN服务器的连接相关联的NAT映射仅限于从知名服务器接收数据,因此,知名服务器看到的NAT映射对于端点不是有用的信息。

http://en.wikipedia.org/wiki/UDP_hole_punching

但是我并没有真正吸收它。我感觉到,这是在告诉我(在由客户端发起通信的客户端-服务器应用程序中),除非NAT设备明确允许,否则服务器无法以其他方式进行回传。我不明白为什么这么说。如果可能,您能为我稍微简化一下此说明吗?

我们的环境中存在一个问题,即同样知名的软件供应商无法使用众所周知的远程支持工具来为我们提供支持。客户端是代理感知的,但是对于某些回应,它认为最好不要使用它,而是通过端口1153上的UDP进行完全不同的操作。


1
在我回答之前,您是否只是想知道为什么UDP孔打孔不适用于对称NAT,还是在询问您的特定问题?因为您的问题似乎不一定与任何一个有关,所以我很好奇。
TheCleaner

好吧,也许您能同时解释两个?我的意思是,为什么它不起作用以及为什么我的问题似乎不相关。
约翰,

如果要创建一个聊天室,让我们开始吧...我花了一点时间,可能会更容易。稍后,我将从那里剪切/粘贴我的解释作为答案。
TheCleaner

Answers:


6

通过我们的聊天...所以其他人可能无法获得完整的对话,但是基本知识就在这里。

所以基本的NAT = source address:port >> external address:port >> NAT>> new source address:port >> external address port

对于对称NAT,它是一个静态映射,并且每次都相同,并且源与目的地都是相同的。

例: 192.168.100.5:34983 going to 4.2.2.2:53 then REQUIRE it to be 216.222.222.222:44444 with destination 8.8.8.8:333333

“在客户端发起通信的客户端-服务器应用程序中,除非NAT设备明确允许,否则服务器无法以其他方式进行通信。”

您说的那部分不正确 ,应显示为:

在客户端发起通信的客户端-服务器应用程序中),服务器可以在源建立会话之后通过会话中使用的端口以另一种方式进行通信。

这意味着,如果2.2.2.2:43424转到5.5.5.5:80,则会话建立后,5.5.5.5:80会将信息发送回2.2.2.2:43424。用你的话说...会话将永远是源与目标进行通信,而目标永远不会以数据包/信息/图形/任何方式进行答复。

“我们的环境存在一个问题,即众所周知的远程支持工具无法被同样知名的软件供应商用来为我们提供支持。客户端具有代理感知能力,但在某种程度上,它认为这可能是一种代理。最好不要使用它,并通过端口1153上的UDP做一些完全不同的事情。”

那可能是因为他们只是简单地在端口级别阻止Logmein / Teamviewer /任何设备,因为他们要求使用其他端口...所以他们认为如果您允许或在1153上进行通信,它将绕过他们自己的IT限制...最好我可以想到而无需详细了解什么应用程序或完整细节。真正与对称NAT或UDP打孔无关...至少就它们自身提出的问题而言。

我建议与他们的支持团队联系,了解他们使用哪种远程支持工具,或者与他们一起确定使用所需工具的方式。如果这意味着某些端口NAT /规则,那么您将需要与它们以及您的网络团队合作来解决这一问题。

希望所有的帮助。


远程支持工具是“登录我”,供我们的一些第三方供应商使用以提供支持。我们将流量允许在公司防火墙上,并且可以看到防火墙正在通过流量。什么也没回来。几乎就像没有办法通过防火墙,或者远程服务器无法确定将返回通信发送到哪里。
约翰,

我们也有代理,因此有可能以某种方式进行干预。
约翰

如果您有出站“允许策略”,则当您的一方发起流量并且该流量正在使用正确的NAT信息到达远程方时,该策略应该起作用。参见这里:help.logmein.com/…,但您可能需要咨询或更多现场专业知识才能解决这一问题……
TheCleaner 2013年

4

在此处输入图片说明

在此处输入图片说明

查看从Wikipedia“网络地址转换”页面上拍摄的这些图片。

在“全锥NAT”中

  1. 将内部地址(iAddr:iPort)映射到外部地址(eAddr:ePort)后,来自iAddr:iPort的所有数据包都会通过eAddr:ePort发送。
  2. 任何外部主机都可以通过将数据包发送到eAddr:ePort来将数据包发送到iAddr:iPort。

在对称NAT中

  1. 从相同内部IP地址和端口到特定目标IP地址和端口的每个请求都映射到唯一的外部源IP地址和端口;如果相同的内部主机即使使用相同的源地址和端口但将其发送到不同的目的地也发送了一个数据包,则使用不同的映射。
  2. 只有从内部主机接收到数据包的外部主机才能将数据包发回。

现在让我们讨论为什么UDP打孔不能在对称NAT中工作。可以说Server1是STUN Server,Server 2是不同专用网络的NAT设备。在UDP打孔中,客户端与Server1连接,并且在NAT设备上创建了端口映射。但是,当此客户端连接到Server2后面的主机时,NAT设备将创建另一个端口映射,如图2所示。Server1与Server2后面的主机共享客户端端口映射,并且此端口映射Server2无法建立连接,Server2不知道第二个NAT设备创建的端口映射。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.