如何强制一台电脑通过互联网与同一networking上的另一台电脑通话?

这是情况。 我有一个服务器设备分发给我的客户(我将这称为“设备”)。 设备与我的服务器通话以获取更新。 这是一个非常标准的设置。 为了质量控制,我想在我的位置设置一个testing设备,通过互联网与我的服务器通话。 通过互联网确保testing环境尽可能接近生产环境是绝对至关重要的。

简单的解决scheme是获得两个互联网连接,一个用于设备,另一个用于服务器。 有一种方法可以用一个互联网连接做到这一点?

如果服务器已经可以公开访问,那么应该像在testing机器上使用服务器的公共名称或IP一样简单,假设你没有设置内部机器来知道你自己的公共IP的“快捷方式”使很多感觉)。

否则,除了别人build议的VPN之外,还有两个选项:

  1. 在远程服务器上设置(http或socks5)代理,并设置testing机器使用它。 这也将有益于testing组织中常见的代理设置。

  2. 或者,在服务器和testing机器上通过某个远程路由器build立静态路由。

在这两种情况下,防火墙和/或以其他方式限制远程机器/路由器,因此它不能被公众使用。

不是真的。 你可以做的最接近的是从这里走出去:

Appliance > Server 

至:

 Appliance > Router > Server 

如果您强制设备通过“Internet”联系它,会发生什么情况,设备上的默认网关会将数据包发送到路由器。 然后,路由器将会转到“Whoah Nelly!这实际上是我的广域网端口上的IP地址,所以只要匹配任何端口转发规则,我就把它发回到局域网段”。

如果你可以让路由器忘掉它的广域网地址(假设你有两个IP,路由器不知道另外一个),它会到达你的ISP的第一跳,然后马上回来。 然后被路由器忽略,因为它不知道。

也就是说,将stream量推送到路由器,并让路由器将其重新引导到您的networking,对于除了延迟和可靠性以外的所有事情来说,可能都是一个相当不错的testing。 所以这实际上并不是一个非常好的testing,因为除了端口转发正确的访问之外,这是最重要的两件事情。

站点到站点VPN是您正在寻找的。 否则,您可以查看防火墙中的转发端口,以匹配您要提供给“另一端”的服务。

您的电脑已经通过互联网与同一networking上的电脑通话。 这是互联网的工作方式。 数据包根据路由表进行路由,如果可以直接路由,它们是。

严格地说,如果你想强加一条不那么直接的路线,你可以通过添加一个更具体,更不直接的路线到你的主机。 但是这样做效率低下,增加了一个失败点。