VLAN和VPC是一种网络隔离方法,我们可以借此保护自己部署在公有云中的基础设施。通过减少网络的攻击面,同时供我们对需要以及不需要访问互联网的应用程序层进行分割,这些方法有助于提高整体安全性。那么不妨考虑一个更大的话题:是否能在Linode的帮助下,实现私有网络的跨地域部署。
这里所说的“地域”(Region)是指一个云服务提供商内部所包含的不同地理位置,而“区域”(Zone)通常是指在一个地域内所提供的多个托管地点。例如,云服务商可能在北京设立了“北方地域”,并在广州设立了“南方地域”,每个地域都是通过当地的多个“区域”提供服务的。
除了可以通过距离大部分用户更近的地理位置提供延迟更低的服务,多地域方式部署的应用程序还可以帮助我们大幅提高应用程序的可靠性与容错性。任何可能对一个位置运行的工作负载造成影响的问题(包括硬件故障或本地网络中断),都可通过将用户重新路由到另一个位置的方式加以缓解。
延伸阅读,了解Akamai cloud-computing
部署多地域 VLAN
为了在多地域部署的不同 VLAN 分段之间进行路由,我们可以使用虚拟专用网络(VPN)将 VLAN 网段捆绑在一起。
首先,我们需要使用一个充当公共路由器的 Linode 节点将部署在一个地域的所有相关 VLAN 捆绑在一起。此时,每个 VLAN 网段都是独立且隔离的二层域,在自己的第三层子网内运行。各个 VLAN 网段之间的所有流量都会流经该路由器,我们可以在路由器上通过防火墙规则来管理允许哪些流量在不同网段之间穿越。
随后可以配置这个路由器实例,借助公共互联网和 VPN 软件(如 WireGuard 或 IPSec 等协议)将其他网段之间的流量桥接在一起。
上述例子展示了一个包含两个地域的部署。每个地域负责通过一个路由器实例管理两个独立 VLAN 之间的连接,随后,每个路由器即可使用配置有多个接口的 Linode 路由器实例在本地桥接多个地域。路由器可通过 WireGuard 隧道,借助每个地域的公共互联网横跨每个地域。
配置 NAT 出口点
至此,流量已经可以不受地域限制在任何 VLAN 之间流动。此外,路由器实例可以充当网络地址转换(NAT)出口点,为本地 VLAN 提供互联网连接(如果部署路由器实例时未提供本地互联网连接)。这种配置下,本地路由器实例将被指定为默认网关(例如通常会在 10.0.0.0/24 网络中配置为 10.0.0.1)。我们还可以将路由器实例当作安全套接字外壳(SSH)的管理堡垒机。
实现这类 NAT 配置的一种常见方法是使用防火墙规则来标记 WireGuard 流量,并对检测出的未包含该标记的所有流量进行 IP 掩蔽(IP masquerading)。
例如,路由器可配置为使用如下的 iptables 规则:
iptables -t nat -A POSTROUTING -o eth0 -m mark ! --mark 42 -j MASQUERADE
我们可以配置 WireGuard 在其配置中使用 FirewallMark(如 “42”),该配置保证了不对 WireGuard 流量进行 NAT,但对所有 VLAN 流量进行 NAT。
随后即可配置云防火墙规则允许路由节点之间的 WireGuard 通信(通常为 udp/51820)。
最后,如果需要,我们还可以使用防火墙规则配置路由器实例,从而控制或记录流经本地和全局网段的流量。
注意事项
上述例子中的部署可用于在全球范围内跨越多个地域实现共享,并借助路由器实例控制不同 VLAN 网段之间的流量。在通过隧道将多个 VLAN 网段的流量传输至一个聚合点时,务必要了解这样做可能对性能和带宽产生的影响。此时可获得的性能主要取决于分配给路由器的计算资源所具备的上行带宽。
此外在确定要使用的 VPN 协议时也需要慎重,这样才能保证满足部署的特定要求。所选择的技术将对点对点带宽以及通过公共互联网所发出的流量的安全性产生极大影响。例如,WireGuard 会使用 Cryptography 来保证流量不被拦截,相比诸如 strongSwan 这种 IPSec 实现,可以更好地减少漏洞和暴露,可信度更高。
多云部署
用来跨越多个地域的这种技术还可用于跨越多个云平台。例如,我们可以在另一个云平台的网络边界内部署一个路由器实例,并将其绑定到该实例本地且由云提供商提供的 VPC 中。我们可以在路由器之间通过 WireGuard 隧道将不同云提供商的网络桥接在一起,这种做法对于专门在私有网络中保持隔离的服务往往能起到很好的效果。
总结
最终,在设计自己的私有网络时,有很多工具可供我们使用,这样做的收益往往超过了所带来的复杂性。如果应用程序和用户数都在快速增长,妥善设计的环境将有助于降低大部分用户可能遇到的延迟,从而极大改善用户体验。另外,额外的容错能力也有助于改善服务的可靠性,并改善服务的可用性和可访问性。
这篇文章的内容感觉还行吧?有没有想要立即在 Linode 平台上亲自尝试一下?别忘了,现在注册可以免费获得价值 100 美元的使用额度,快点自己动手体验本文介绍的功能和服务吧↓↓↓
出海云服务,选择Akamai Linode!
欢迎关注Akamai ,第一时间了解高可用的MySQL/MariaDB参考架构,以及丰富的应用程序示例。