连接到私人IP

时间:2009-08-06 16:34:51

标签: sockets routing nat

我想连接到路由器后面的系统。我知道路由器的公共地址以及系统的私有IP(总是固定)。如何与私有ip建立套接字连接?

4 个答案:

答案 0 :(得分:4)

这就是为什么有人说当他们在路由器后面时他们在“防火墙”后面。互联网上的邪恶病毒无法利用路由器后面的计算机上的任何软件(前提是路由器管理员没有以有趣的方式配置它,例如启用DMZ)。

你还有一些选择:

  • 与路由器管理员交谈并让他为您转发一个端口
  • 取出路由器并将您的“目标”计算机放在您的路由器所在的地方,或启用DMZ(这只有在路由器后面只有一台计算机才有意义)。 Warrning :首先在目标计算机上安装防火墙!
  • 将插座旋转180度。使计算机后面的计算机建立与具有公共IP地址的服务器的连接
  • 如果您的路由器支持,请使用UPnP之类的内容
  • 为您的计算机获取专用IP地址,并配置路由器以将此IP地址的所有流量切换到您的计算机(这类似于DMZ,但如果路由器后面有多台计算机,则可以使用)。 Warrning :首先在目标计算机上安装防火墙!
  • 使用NAT遍历。关于这个主题有一篇非常好的文章here。简化版本是客户端与某个远程服务器建立连接。服务器可以在客户端的路由器上看到已打开的端口号,并且此端口已分配给客户端的计算机,因此它(或另一台共享此信息的计算机)可以建立与该端口的连接并到达客户端的应用程序。 Warrning :这不适用于所有路由器。有些路由器不会让这种情况发生。

答案 1 :(得分:1)

这更像是路由器的配置问题,而不是您的实际程序。如果路由器未配置为将流量转发到私有系统,则无法强制它连接到您 - 相反,私有系统必须自己打开连接。

答案 2 :(得分:1)

最简单的事情可能是你希望通过路由器连接的系统forward the port

答案 3 :(得分:1)

严格地说,你的问题的答案是“你不能”。但是,您可以在路由器上启用DNAT(目标网络地址转换)。您连接到路由器上的某个端口,并将连接转发到内部IP。内部IP(和端口)在路由器设置中配置,连接客户端不知道。