我想连接到路由器后面的系统。我知道路由器的公共地址以及系统的私有 IP(始终固定)。如何建立与私有 IP 的套接字连接?
问问题
7064 次
4 回答
5
这就是为什么有些人说他们在“防火墙”后面,当他们在路由器后面时。Internet 的邪恶病毒无法利用路由器后面计算机上的任何软件(前提是路由器管理员没有以有趣的方式对其进行配置,例如通过启用DMZ)。
你还有一些选择:
- 与路由器管理员交谈,让他为你转发一个端口
- 取出路由器并将您的“目标”计算机放在路由器所在的位置,或启用 DMZ(这仅在路由器后面只有一台计算机时才有意义)。警告:首先在目标计算机上安装防火墙!
- 将插座旋转 180 度。使路由器后面的计算机与具有公共 IP 地址的服务器建立连接
- 如果您的路由器支持,请使用类似UPnP的东西
- 为您的计算机获取一个专用 IP 地址并配置路由器以将所有流量切换到此 IP 地址到您的计算机(这类似于 DMZ,但如果您在路由器后面有多台计算机,则可以使用)。警告:首先在目标计算机上安装防火墙!
- 使用 NAT 穿越。这里有一篇关于这个主题的非常好的文章。简化版是客户端与某个远程服务器建立连接。服务器可以在客户端的路由器上看到打开的端口号,并且该端口已分配给客户端的机器,因此它(或共享此信息的其他计算机)可以建立到该端口的连接并到达客户端的应用程序。警告:这不适用于所有路由器。有些路由器不会让这种情况发生。
于 2009-08-06T17:09:53.660 回答
2
最简单的事情可能是通过路由器转发您要连接的系统的端口。
于 2009-08-06T16:38:41.867 回答
1
这更多是路由器的配置问题,而不是您的实际程序。如果路由器未配置为将流量转发到私有系统,则无法强制它连接您 - 相反,私有系统必须自行打开连接。
于 2009-08-06T16:38:28.623 回答
1
严格来说,你的问题的答案是“你不能”。但是,您可以在路由器上启用 DNAT(目标网络地址转换)。您连接到路由器上的某个端口,它将连接转发到内部 ip。内部 ip(和端口)在路由器设置中配置,连接客户端不知道。
于 2009-08-06T16:42:10.847 回答