分布式开发人员需要一个共同的IP范围

我在一个地理上分布的开发人员工作,大部分都在加利福尼亚州,但是有几个主要成员也必须经常出差。

我们很大程度上依赖于第三方提供商的API来处理大量的子系统(不能进入他们是谁或者他们在做什么)。 但第三方networking访问比较严格,没有开发沙箱的概念。 访问被限制为2,3个IP号码,这就是它。 一旦我们考虑了我们的生产服务器,这就为我们的开发团队留下了一两个知识产权 – 这仍然是个问题,因为人们的家庭IP变化,人们旅行,我们有两个以上的开发人员等等。

第三方不允许宽IP块。 他们也不会允许dynamicDNStypes的服务。 没有简单的控制台可以随时交换IP(例如,如果一个开发人员的IP在家中改变,或者他们在路上)。

由于我们都不是深度networking专家,我想知道我们可行的select是什么?

  • 有没有VPN的第三方主机? 一般来说,我认为VPN是一种访问家庭办公室的机制,但是这个概念将是我们所有连接到的第三方VPN,我们将把它作为第三方的IP来源注册。

  • 我们考虑过使用Amazon EC2为每个开发者有效地托pipe一个开发环境并使用它来连接。 亚马逊只会给你这么多的静态IP地址(我相信5?),所以这只是一个停顿的解决scheme,直到我们的团队规模超过亚马逊的IP计数。

那些是我唯一可行的想法,但是我又远离了networking人员。 试图寻找类似的线程,但我甚至不知道我知道正确的白话来寻找。

我可以想到两个解决scheme – 一个在第三层,一个在第七层。

我会考虑让某个托pipe服务器在某个地方使用静态IP地址,并在那里托pipeOpenVPN。 您可以部署一个OpenVPNconfiguration,使得任何对API的访问都可以通过OpenVPN路由到使用静态IP的托pipe服务器,然后您可以将其NAT转换为该服务器的IP地址。

或者,您可以在托pipe服务器上运行第7层代理(类似于Squid–我假设您的API通过HTTP公开),并通过该代理服务器从您的开发人员路由请求。

编辑:

使用第7层代理意味着您不需要为开发人员安装任何客户端软件,假设他们现有的工具可以处理指定的HTTP代理。 但是,您可能不希望所有访问都通过远程代理进行路由,因此您应该使用类似于代理自动configuration文件或本地代理服务器的方式将适当的API请求分stream到托pipe代理。 某些浏览器不支持在客户端和代理之间使用SSL,因此开发者的请求将会以未encryption的方式跨越Internet。

使用第3层解决scheme无需使用HTTP代理configuration开发人员的浏览器,但意味着他们需要某种VPN客户端启动并运行。 他们的请求将在VPN服务器和他们的客户端计算机之间被encryption,但是,如果托pipe的VPN服务器和API服务器之间的请求清楚地运行,这可能是完全没有意义的。

这听起来像你需要一个NAT解决scheme。 您可以创build一个VPN隧道,然后强制数据通过NAT的API。 这样他们都会看起来像来自同一个IP地址。 安装程序看起来像这样开发人员—– VPN —–私人子网— NAT —外部IP