有没有办法克服TCP / IP应用程序上的路由器端口转发?

问题描述 投票:1回答:4

我需要通过TCP / IP连接到计算机我有外部IP但没有端口转发我无法连接到服务器。

有没有办法配置服务器接受服务器定义的外部IP和端口上的连接而不配置路由器? (emule如何做到这一点?或其他对等应用程序?)

tcp router portforwarding
4个回答
3
投票

你需要弄清楚情况。目标计算机是否在做NAT的路由器后面?

如果是这种情况,答案是否定的。

服务器无法接受外部IP上的连接,因为外部IP是路由器的IP,并且服务器只能接受路由器转发到它的连接,因为没有到服务器的直接路径。

然而,有一些方法可以避免由NAT引起的这类问题。它们通常涉及NAT后面的计算机进行出站连接,然后用于通信。参见例如

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

如其他答案所述,通用即插即用也可能允许这样做。


2
投票

理想情况下,您希望NATed客户端启动连接,但如果不可能,您将需要查看STUNUPnP

STUN是一系列工具和协议,允许您通过NAT打孔。它可能需要非NAT服务器的合作。这可能会失败,具体取决于NAT实现

UPnP是NAT路由器的协议,它允许客户端动态转发所需的端口。并非所有的NAT路由器都会支持这种情


0
投票

我认为你需要研究通用即插即用:

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


0
投票

基本上你需要在这台计算机上启动一个程序来启动连接。这就是FogCreek CoPilot,LogMeIn等程序允许远程管理NAT路由器后面的机器而无需配置路由器。

© www.soinside.com 2019 - 2024. All rights reserved.