如何为您的 Web 开发团队设置 VPN

已发表: 2021-10-11

现代互联网的主要特点是它的持续可用性。 无需在本地存储数据,可通过网络快速访问。 如果这些数据在不可预知的时刻突然变得不可用,则会出现更多问题。 大多数开发人员远程工作,如果他们来自某些部分,可能会缺乏资源。 在本文中,我们将了解如何为您的 Web 开发团队设置 VPN。

常见的互联网问题

Internet 资源的不可访问性实际上意味着什么?

- 一些库没有下载 - 项目的开发环境不会发生。 这是主要和最大的问题!

- Zoom、Slack 或 Telegram 不起作用 - 您将无法联系同事。

- 某些网站不可用,例如 GitHub - 无法发布您的作品。

这些并不是所有可能的例子,但即使它们也会显着降低团队的生产力。

谁有罪?

在实践中,上述限制通常由互联网提供商实施。 并且因为这些限制是由各州的行政行为引入的,因此将它们归咎于提供者是没有意义的。 提供者应该从事商业,而不是政治斗争。

但有时,提供者原来是一个恶棍。 例如,出于某种未知原因,他们可以阻止特定 TCP 端口上的流量或修改未加密的 http 流量并更改页面的 html 代码,添加广告。 这是您对某些骗子的期望,但肯定不是来自大公司的,因此令人不快(如果您有兴趣,谷歌“在其他人的网站上做广告”)。

该怎么办?

一旦问题的规模明确表明应该在公司层面解决而不是任由团队成员摆布,您就可以使用 VPN 技术。

VPN 是一个虚拟专用网络。 这是一组技术的名称,这些技术允许您基于现有的物理计算机网络创建一个虚拟的、不存在的物理(覆盖)计算机网络。

这提供了增加隐私的额外机会。 在物理网络中,作为第一个近似值,您的流量可供网络交换中的所有参与者、所有路由器等使用。虚拟网络中没有其他参与者,只有您和您连接的点。 如果您要为您的 Web 开发团队设置一个,这是一个 VPN 服务器。 你们两个之间正在铺设一条加密隧道。

TUN 虚拟网络接口在客户端计算机和服务器上创建。 加密数据交换直接发生在它们之间。 有效保护您的数据免受中间人 (MITM) 攻击。 没有人可以物理访问您的流量通过的设备,可以拦截或替换您的信息。

它还允许您访问家庭网络上不可用但可从 VPN 服务器获得的资源。

使用 VPN 技术,客户端成为子网的一部分,而服务器是子网的一部分。 并且可以访问这个子网的资源。 这可用于绕过限制并解决需要远程和安全连接到子网的任何其他问题。

选择 VPN 实施

决定就是不做。 有几种常见的免费 VPN 技术实现。 你可以试试这个 Surfshark VPN 免费试用版,体验一下你可能会得到什么。

获得正确的 VPN 后您还可以选择什么

IPsec 是一组用于安全数据传输的协议。 它出现在 90 年代中期。 它大而灵活,但配置困难且级别低。 对于某些目的来说太复杂了。

WireGuard 是一个年轻的项目(2015 年),旨在快速准备工作。 传输数据的速度可能比不同的 VPN 更快,使用更现代的加密协议——跨平台,可用于所有主要系统。 缺点与优点相同。 为确保快速简便的安装,在程序的核心中做出了许多低级决策。 例如,使用 UDP 协议,可能并非对所有人都有效。

选择启动和使用方式

手动

最明显的方法是租用 VPS,通过 SSH 连接并按照指南创建服务器。 由于需要手动移动许多命令和文件,这是一个相当漫长的过程。

使用这种方法,每次创建新服务器时,都必须重新创建。 为了节省时间,您可以使用配置管理系统或容器化系统。

配置管理系统是允许您自动配置远程服务器(puppet、ansible 等)的软件。 这种方法的优点是您可以通过几个命令配置远程 VPN 服务器。 并且所有配置、配置模板都以文本格式显式放置在控制机器上。 您可以自己创建部署脚本,也可以使用现成的脚本,例如在 GitHub 上。

在容器化系统中采用了稍微不同的方法。 最常见的此类虚拟容器化系统是 docker。 在远程服务器上安装带有 VPN 的 docker 容器甚至比通过 ansible 安装服务器还要快,这是一个优势。 但是,可用配置的列表可能会受到映像开发人员的限制。 图像是二进制文件,因此如果您需要修复一些奇异的配置,它可能无法正常工作。

服务器架构

首先,如前所述,VPN 技术可用于连接,例如,通过属于该子网一部分的计算机和 VPN 服务器连接到封闭子网。 如果您的子网上有宝贵的资源,您不希望任何人连接到 VPN 服务器。 为此,大多数 VPN 通常将其设置为独立的机器,根本不链接到任何网络,也许是安全的(不开玩笑)。 并且签名和签名证书的请求被传输到可移动媒体。

服务器启动

要运行 ansible 脚本,您需要在计算机上安装 ansible,租用 Debian/Ubuntu 的虚拟服务器并配置通过 SSH 访问服务器。 租用服务器时,请记住,某些服务不允许您创建 tun 接口或执行数据包转发。 请在购买前检查此内容。

与服务器的所有交互都是通过三个命令执行的:

1. 运行创建服务器和证书颁发机构的脚本。

2. 新用户注册。

3. 按客户名称吊销证书。

绕过阻塞的方法的发展在许多方面类似于自然界中捕食者和猎物之间的关系。 对于每一个新动作,都有一个反动作。 VPN 连接也不例外。

使用 VPN 时,您可以使用各种网络资源。 但是,由于所有数据都是通过 VPN 服务器的隧道传送给您的,因此对于提供商而言,您似乎只使用一个 IP 地址交换数据。