在任何一个数据中心中,都需要一些VM访问外部IP地址,并且数据中心外部的用户,也需要通过公共IP地址访问某些VM。为此,Tungsten Fabric提供了几种实现方法:
lVPN连接到启用BGP的网关
lvRouter中的源地址NAT
lvRouter中underlay结构下的本地网关
每一种方法都适用于不同的用例,并且对外部设备和网络的配置具有不同的依赖性。
以下分别介绍了这几种连接外部网络的方法。
启用BGP的网关
实现外部连接的一种方法,是使用一系列可外部路由的IP地址创建虚拟网络,并将网络扩展到网关路由器。当网关路由器是Juniper MX路由器时,设备上的配置可以由Tungsten Fabric自动完成,如下图所示。
在Tungsten Fabric中定义网络A,包含可公开寻址的IP地址的子网。此公共虚拟网络在Tungsten Fabric中配置为扩展到网关路由器,当使用Tungsten Fabric Device Manager时,会在网关上自动创建VRF,路由目标与虚拟网络的路径目标匹配(例如,标记为VR的VRF)。
Tungsten Fabric使用默认路由配置此VRF,该路由导致在主inet.0路由表(其中包含到Internet中的公共目的地的路由)中,查找从Tungsten Fabric集群到达VRF的流量的路由。通过转发过滤器,可在Tungsten Fabric创建的VRF中查找到达网关A中目的地的流量。路由器通过VRF将默认路由通告给Tungsten Fabric控制器。
网络A被配置为Tungsten Fabric中的floating IP地址池,并且当将这样的地址分配给现有VM接口时,在VM的vRouter中创建一个附加的VRF(例如,用于网络A),并且该接口除了连接到原始VRF(图中的绿色或红色)之外,还连接到新的公共VRF。Floating IP地址的VRF在floating IP地址和VM上配置的IP地址之间执行1:1 NAT。
VM不知道此附加连接,并继续使用通过DHCP接收的原始虚拟网络的地址发送和接收流量。 vRouter将floating IP地址通告到控制器的路由,并且该路由通过BGP发送到网关,并且安装在公共VRF(例如VRF A)中。
Tungsten Fabric控制器通过物理路由器上的VRF向vRouter发送默认路由,并将其安装在vRouter的公共VRF中。
这些操作的结果是,vRouters上的公共VRF包含通过VM的本地接口到floating IP地址的路由,以及通过路由器上的VRF的默认路由。网关上的VRF通过inet.0路由表具有默认路由(使用基于过滤器的转发实现),并具有到每个分配的floating IP地址的主机路由。inet.0路由表具有通过相应VRF到每个floating IP网络的路由。
当租户拥有自己的公共IP地址范围时,可将多个独立的公共子网用作具有自己的VRF的独立floating IP地址池(如图所示),相反,一个floating IP地址池也可以在多个租户之间共享(图中未显示)。
如果使用非Juniper设备,或者不允许Tungsten Fabric在网关上进行配置更改,则可以在网关上手动或通过配置工具设置BGP会话、公共网络前缀和静态路由。当路由器将企业VPN的提供商边缘(PE)路由器角色与数据中心网关角色组合时,使用此方法。
通常在这种情况下,VRF将由VPN管理系统创建。当在虚拟网络中配置匹配的路由目标时,Tungsten Fabric集群中的虚拟网络将连接到企业VPN,并且在控制器和网关/ PE之间交换路由。
源地址 NAT
Tungsten Fabric使网络能够通过基于源的NAT服务进行连接,该服务允许多个VM或容器共享相同的外部IP地址。在每个vRouter中,源NAT以分布式的服务实现。
从VM发送到Internet的流量的下一跳,将是同一vRouter中的SNAT服务,它将不经封装转发到underlay网络的网关,其源地址被修改为vRouter主机的地址,并且根据特定的发送VM设置源端口。vRouter使用目标端口返回数据包,以映射回原始VM。
此选项对于为工作负载提供Internet访问非常有用,其中目标不需要知道源的实际IP地址(通常是这种情况)。
在Underlay中路由
Tungsten Fabric允许创建使用underlay连接的网络。
在underlay是路由IP fabric的情况下,Tungsten Fabric控制器可以配置为与underlay交换机交换路由。这允许虚拟工作负载连接到可从underlay网络访问的任何目标,并提供比物理网关更简单的方式,将虚拟工作负载连接到外部网络。
必须注意的是,重叠的IP地址不要连接到IP fabric中,此功能对于将云连接到传统资源(而不是多租户服务提供商的企业)更加有用。
请注意,流入和流出underlay网络的流量,都受到网络和安全策略的约束,就像使用虚拟网络的工作负载之间的流量一样。
更多Tungsten Fabric解析文章
第一篇:TF主要特点和用例
第二篇:TF怎么运作
第三篇:详解vRouter体系结构
第四篇:TF的服务链
第五篇:vRouter的部署选项
第六篇:TF如何收集、分析、部署?
第七篇:TF如何编排
第八篇:TF支持API一览
关于Tungsten Fabric:
Tungsten Fabric项目是一个开源项目协议,它基于标准协议开发,并且提供网络虚拟化和网络安全所必需的所有组件。项目的组件包括:SDN控制器,虚拟路由器,分析引擎,北向API的发布,硬件集成功能,云编排软件和广泛的REST API。
关于TF中文社区:
TF中文社区由中国的一群关注和热爱SDN的志愿者自发发起,有技术老鸟,市场老炮,也有行业专家,资深用户。将作为连接社区与中国的桥梁,传播资讯,提交问题,组织活动,联合一切对多云互联网络有兴趣的力量,切实解决云网络建设过程中遇到的问题。