我需要在两台都装有防火墙的计算机之间发送文件。有一台可联系的服务器可用于协调传输。我知道服务器可以充当对等体之间的“代理”,即文件上传到服务器,然后由另一对等体下载。但是,是否可以安排直接通信,而不使用服务器带宽?这是 VPN 可以做的吗?
谢谢
答案1
除了将文件暂存于中间服务器上之外,您还有几个选择,这两个选择都需要使用中间服务器的带宽,因为其他两个服务器不能直接互相通信。
1) 在中间服务器上设置代理服务器,这是一个软件安装/配置。如果需要,可以明文或加密。2) 设置中间服务器,为其中一台或两台机器提供 VPN 服务,以便彼此查看网络。这也是一个软件安装/配置。VPN 是加密的。
您没有说明为什么两者之间要设置防火墙,而且修改防火墙配置也不是一种选择。按照上述做法,在两侧防火墙上打开特定端口,让特定主机直接传输文件,而不需要中间服务器,这样会更有效率,也可能更安全。
答案2
VPN(虚拟专用网络)用于允许通过公共(不受信任的,而非私有)网络进行通信。如果这一切都在私有网络上进行,那么这不是您想要的。如果是通过互联网,那么是的,每台机器的 VPN 是一个合理的解决方案,但这只允许您的机器私下与中央服务器通信。然后您仍然需要安排文件共享。这也应该很容易,使用 Windows 内置的文件共享,或者使用 Samba。
假设机器不在私有网络上:
最大的问题是:如果希望两台机器能够相互通信,为什么要在它们之间设置防火墙?除非第三方机器要增加安全性,否则增加额外开销是没有意义的。只需允许第一台机器(或两台机器)联系另一台机器,并传输指定的文件即可。
如果您确实想使用第三方机器(并且没有可以做到这一点的硬件路由器),最简单的解决方案是使用第三台机器作为路由器,因此它只是传递通信数据,但不存储它。
答案3
VPN 可用于解决此类问题,但这不是最佳方法。VPN 用于允许一个网络上的客户端通过主机访问另一个网络上的资源。问题是,VPN 会有效地使客户端表现得好像它位于被授予访问权限的同一网络上,因此除非配置为不允许,否则任何打印机、文件共享等也将可供客户端使用。
更简单的解决方案是打开机器之间的某些端口并使用 scp 或 webdav 等解决方案(如果您仅限于端口 80)。我不确定哪些端口是打开/关闭的以及网络结构/安全限制。有很多变量需要考虑。
答案4
一个词:鰤鱼。
这是安装在两台独立计算机上的一个小程序,然后它使用中央服务器来启动连接,但直接在两台计算机之间建立隧道。它就像 VPN 一样,在计算机上显示为另一个网络接口。
它可以在各种平台上运行,有些平台比其他平台更容易使用(Windows = 超级简单,*nix = 对于 *nix 专家来说很容易,OSX = 对于普通用户来说很难)。它在代理后面有点麻烦,但对于 NATted 连接来说应该没问题。