VXLAN BGP EVPN网络中的防火墙、负载均衡器及服务链部署
1. 基于策略路由(PBR)的租户内/东西向防火墙
在VXLAN BGP EVPN网络中,PBR匹配结果可指向一个下一跳,只要该下一跳已知且可达,就可通过递归查找并经VXLAN实现通信。例如,假设从端点192.168.1.101到192.168.2.101的流量必须经过防火墙,且返回流量也需通过防火墙,那么在服务于端点192.168.2.101的VTEP上也必须配置PBR规则。
若192.168.1.0/24子网内的每个端点与192.168.2.0/24子网内的端点通信时都需要保护,那么所有服务于这两个子网的VTEP都要安装PBR规则。随着VRF中需要保护的子网数量增加,PBR规则集可能会变得难以管理,ACL表的规模也会成为问题。
基于PBR的方法可强制实施端点到端点的IP子网流量保护,并且出于性能考虑,某些通信中的流量可以绕过防火墙。虽然网络服务头(NSH)、段路由(SR)和LISP是目前与服务重定向相关的有效标准,但在VXLAN BGP EVPN网络中,PBR也具备逐跳影响和控制流量转发的能力。
1.1 PBR规则配置步骤
- 确定需要保护的子网和端点。
- 在服务于这些子网的VTEP上配置PBR规则,指定下一跳。
- 确保下一跳可达,并进行递归查找。
1.2 PBR优缺点分析
| 优点 | 缺点 |
|---|---|
| 可强制实施端点到端点的流量保护 | 规则集管理复杂,ACL表规模受限 |
| 某些通信可绕过防火墙以提高性能 |
2. 混合租户内和租户间防火墙
数据中心网络并非统一的,因此需要同时满足东西向和南北向的安全策略实施需求。在VXLAN BGP EVPN网络中,防火墙插入的方法只要操作模式相同(路由或透明),就可以同时使用。
防火墙可以在租户边缘运行,并配置路由协议,不同的接口可以作为租户内网段的默认网关。现代防火墙支持虚拟化和创建多个具有专用或共享接口的上下文,以满足网络分层分离的需求。
2.1 示例部署
以VRF - A为例,有租户内和租户间防火墙的部署。租户内网络192.168.1.0/24和192.168.2.0/24连接到同一VTEP(Leaf 1),东西向防火墙成为这些网络的默认网关。
2.1.1 流量转发流程
-
当端点192.168.1.101要访问端点192.168.2.101时:
- 流量通过Layer 2在VXLAN BGP EVPN网络中转发。
- 在服务叶节点,流量被解封装并从Layer 2 VNI映射到VLAN,然后转发到东西向防火墙。
- 防火墙执行安全策略检查和第一跳路由,将流量导向目标网络。
- 离开防火墙时,流量根据防火墙确定的目标进行IEEE 802.1Q标记。
- 服务叶节点根据配置的VLAN - 到 - Layer 2 VNI映射添加VXLAN头,将封装后的流量转发到目标叶节点。
-
当端点192.168.1.101或192.168.2.101要访问端点192.168.3.101时:
- 流量同样先通过Layer 2转发,在服务叶节点解封装并发送到防火墙。
- 防火墙执行策略检查和路由,离开防火墙后,流量根据防火墙的路由表进行路由。
- 服务叶节点根据本地配置的VRF - 到 - Layer 3 VNI映射对流量进行封装,然后转发到目标叶节点。
2.2 防火墙部署模式对比
| 部署模式 | 特点 |
|---|---|
| 租户内防火墙 | 作为租户内网段的默认网关,实现租户内流量保护 |
| 租户间防火墙 | 提供外部连接,实现不同租户间的流量隔离 |
graph LR
classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px;
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
A([客户端]):::startend -->|VXLAN封装| B(边界叶节点):::process
B -->|解封装| C(防火墙):::process
C -->|封装| D(服务叶节点):::process
D -->|解封装| E(负载均衡器):::process
E -->|封装| F(目标叶节点):::process
F -->|解封装| G([服务器]):::startend
3. VXLAN BGP EVPN网络中的应用交付控制器(ADC)和负载均衡器
除了防火墙,负载均衡器也是常见的服务设备。负载均衡器是有状态的设备,与防火墙类似,数据流量创建的会话必须在正向和反向都通过同一Layer 4 - 7设备,以确保服务器应用的可访问性和返回流量的有效性。
3.1 单臂源NAT模式
在单臂源NAT模式下,负载均衡器通过单个链路或端口通道连接到叶节点。负载均衡器通常有客户端和服务器端两部分。
3.1.1 直接VIP子网方法
负载均衡器的VIP(192.168.200.200)属于子网(192.168.200.0/24),并与负载均衡器的物理接口(192.168.200.254)关联。VIP通过ARP解析在直接连接的叶节点上学习到,并通过Route type 2 BGP EVPN消息将关联的IP和MAC绑定通告给所有远程叶节点。
3.1.2 间接VIP子网方法
为VIP空间定义专用的IP子网(如10.10.10.0/24),VIP位于负载均衡器物理接口之后,需要路由才能到达相应的IP子网。VIP关联的IP子网通过静态配置或动态路由协议在叶节点上通告,并重新分发到BGP EVPN中作为Route type 5前缀。
3.2 负载均衡器部署步骤
- 选择负载均衡器的连接模式(单臂源NAT等)。
- 配置VIP和服务器端IP地址。
- 根据直接或间接VIP子网方法进行相应的配置和通告。
3.3 负载均衡器部署模式对比
| 部署模式 | VIP学习方式 | 子网配置 |
|---|---|---|
| 直接VIP子网方法 | 通过ARP解析学习 | VIP与负载均衡器接口在同一子网 |
| 间接VIP子网方法 | 静态配置或动态路由通告 | VIP有专用子网 |
graph LR
classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px;
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
A([客户端]):::startend -->|VXLAN封装| B(边界叶节点):::process
B -->|VXLAN转发| C(服务叶节点):::process
C -->|解封装| D(负载均衡器):::process
D -->|选择服务器| E(服务器):::process
E -->|返回流量| D
D -->|封装| C
C -->|VXLAN转发| B
B -->|解封装| A
4. 负载均衡器的返回流量处理
前面介绍了客户端流量从客户端到负载均衡器所宣传的VIP的正常转发路径。服务器端的情况相对简单,主要需求是客户端通过负载均衡器向选定的目标服务器发送请求。负载均衡器必须有一条指向参与服务器场的服务器端点的有效转发路径。
4.1 返回流量的处理机制
通常,负载均衡器会监控每台服务器及其所托管服务的健康状况,以便只将请求转发到健康的服务器。由于负载均衡器是有状态的设备,服务器的返回流量必须先经过负载均衡器,再返回给客户端。这一点特别重要,因为负载均衡器在正常情况下不会更改客户端IP地址,因此服务器场中的服务器会尝试使用最佳路径指向请求客户端的IP。
为了解决这个问题,采用了源NAT(Source - NAT)技术。对于所有到达负载均衡器的客户端请求,源IP地址会被修改为负载均衡器拥有的IP地址,目标IP地址指向选定的服务器端点。这样,服务器场中服务器的返回流量总是发送到负载均衡器,负载均衡器再根据其有状态的NAT表将流量发送回客户端。
4.2 返回流量处理示例
以图10 - 18所示的直接子网VIP选项和源NAT功能的负载均衡器部署为例:
1. 客户端请求通过VXLAN BGP EVPN网络到达VIP(client > 192.168.200.200),VIP通过静态或动态路由选项通告到网络中。由于客户端和负载均衡器位于同一VRF中,请求通过VXLAN传输,VNI设置为与相应VRF关联的Layer 3 VNI。
2. 请求到达负载均衡器后,创建会话,并根据服务器场、负载均衡算法和其他决策标准选择目标服务器端点(如192.168.1.101)。客户端请求终止,向选定的服务器端点发起新的服务器端请求,源IP地址为负载均衡器的IP(192.168.200.254)。
3. 由于负载均衡器和服务器端点位于不同子网,新的服务器端请求从负载均衡器到达服务叶节点,在服务叶节点通过VXLAN路由到VTEP V3,VNI设置为与负载均衡器和服务器所在VRF关联的L3 VNI。在VTEP V3解封装后,请求进行路由查找,最终转发到192.168.1.101。
4. 服务器处理后,响应指向负载均衡器的源NAT IP地址(192.168.1.101 > 192.168.200.254)。由于这是子网间通信,响应将路由到服务叶节点并传递给负载均衡器。
5. 服务器端响应在负载均衡器上终止,向客户端发起新的客户端响应,响应使用VIP地址作为源IP地址,客户端IP地址作为目标地址(192.168.200.200 > client)。响应通过VXLAN网络路由到客户端连接的VTEP V1。
4.3 源NAT的优缺点
| 优点 | 缺点 |
|---|---|
| 确保服务器返回流量经过负载均衡器,保证通信有效性 | 原始客户端IP地址被隐藏在负载均衡器的源NAT池后面,可能影响合规性部署 |
graph LR
classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px;
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
A([客户端]):::startend -->|请求流量| B(负载均衡器):::process
B -->|修改源IP| C(服务器):::process
C -->|返回流量| B
B -->|恢复源IP| A
5. 服务链:防火墙和负载均衡器
服务链是一个广泛的话题,涉及多个Layer 4 - 7服务的链接,以便对数据流量进行安全检查和负载均衡。前面已经讨论了VXLAN BGP EVPN网络与防火墙和负载均衡器的单独集成,下面将介绍将防火墙和负载均衡器加入服务链的部署场景。
5.1 服务链部署的考虑因素
从部署位置的角度来看,需要考虑两个问题:一是避免不必要的交换机转发和封装/解封装过程;二是避免“中转”段信息充斥VXLAN BGP EVPN网络。例如,当防火墙连接到边界叶节点,负载均衡器连接到网络中的服务叶节点时,流量可能需要多次封装和解封装,经过多个转发跳。
5.2 优化的部署场景
在优化部署中,客户端从外部发起的请求首先通过边界叶节点进入VXLAN BGP EVPN网络。在允许流量到达受保护的IP子网之前,流量会由通常连接到边界叶节点的租户边缘防火墙进行检查。然后,流量可以发送到连接到边界叶节点的负载均衡器。或者,流量可以在预先检查后进入VXLAN BGP EVPN网络,到达连接有东西向防火墙和负载均衡器的服务叶节点。在这两种情况下,流量只需封装一次即可通过服务链(防火墙和负载均衡器)到达VXLAN BGP EVPN网络中的任何叶节点上的端点。
5.3 服务链的部署模式
5.3.1 防火墙和负载均衡器物理在路径上
客户端请求必须先通过防火墙,然后才能访问负载均衡器。在这种情况下,在受保护和不受保护的VRF之间创建一个专用的VRF(VRF - Transit),以确保流量从防火墙流向负载均衡器,并避免中转段信息泄露。
5.3.2 负载均衡器单臂部署
负载均衡器可以采用单臂源NAT模式部署,此时不需要在负载均衡器和防火墙之间创建中转VRF,因为负载均衡器通过源NAT虚拟地处于路径中。这种部署模式下,只有经过负载均衡的流量需要双向通过负载均衡器,其他流量可以绕过负载均衡器,有利于负载均衡器扩展服务。
5.3.3 服务链部署步骤(以路由模式为例)
- 配置防火墙和负载均衡器的接口和VRF,包括不受保护的VRF(VRF - Outside)、受保护的VRF(VRF - A)和可能的中转VRF(VRF - Transit)。
- 在边界叶节点配置路由,将流量导向防火墙。
- 防火墙执行安全检查,将允许的流量导向负载均衡器。
- 负载均衡器进行应用层处理,选择目标服务器端点。
- 根据路由查找将流量转发到受保护的VRF(VRF - A),并通过VXLAN封装转发到目标叶节点。
5.3.4 不同部署模式对比
| 部署模式 | 特点 | 中转VRF需求 |
|---|---|---|
| 防火墙和负载均衡器物理在路径上 | 客户端请求必须依次通过防火墙和负载均衡器 | 需要创建中转VRF |
| 负载均衡器单臂部署 | 只有负载均衡流量双向通过负载均衡器,其他流量可绕过 | 不需要创建中转VRF |
graph LR
classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px;
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
A([客户端]):::startend -->|VXLAN封装| B(边界叶节点):::process
B -->|路由转发| C(防火墙):::process
C -->|策略检查| D(负载均衡器):::process
D -->|负载均衡| E(目标服务器):::process
E -->|返回流量| D
D -->|返回处理| C
C -->|返回路由| B
B -->|解封装| A
综上所述,在VXLAN BGP EVPN网络中,防火墙、负载均衡器和服务链的部署需要综合考虑网络架构、流量需求和安全策略等因素。合理的部署可以提高网络性能和安全性,同时便于管理和扩展。不同的部署模式各有优缺点,需要根据具体的应用场景进行选择和优化。
12

被折叠的 条评论
为什么被折叠?



