新一代NFV平台,组件部署在系统vpc内部,没有管理口无法直接组件进行部署及运维。基于此背景,本文介绍NFV平台运维部署工具。
具体方案:
1:vnet-deploy跳板机(管理虚机)增加计算内(虚拟)网络接口和计算内IP地址
2: vnet-deploy跳板机基于计算内IP创建VXLAN子接口,并归属给新建的nfv network namespace
3: 内核挂载eBPF模块,通过控制器接口获取NFV ECS的宿主机IP和NFV ECS的MAC地址,并配置到eBPF中,使VXLAN接口可以使用
VXLAN子接口的MAC地址为XX:XX:XX:XX:XX:XX,以符合ELB报文格式来支持同源同宿
4: nfv netns中默认路由指向VXLAN子接口
具体的方案如下图所示:
要从vnet-deploy 访问ECS。
a: 需要获取的配置信息包括,ECS 的ip ,mac 地址信息,以及所属系统vniid .
b: 需要获取ECS宿主机的 vtep ip 。
c: 当通过vnet-deploy 访问ECS,内层信息 srcip:xx.xx.xx.xx. dstip:10.0.0.55.
smac:xx.xx.xx.xx.xx.xx dmac:网关mac
外层信息:
srcip: 11.0.0.2 dstip: 初始化IP
经过ebpf 模块处理:
内层信息: dmac 修改为fd:ae:xx:xx:xx:03 .
外层信息: dstip 修改为:11.0.0.3
通过如此,vnet-deploy 在不通过管理网的情况下去, 就可以访问ECS了,并且是单向访问。安全行高。
本方案优点:
1:运维命令指定ip netns exec即可。简单容易操作
2:流表仅支持Underlay主动访问NFV ECS,反向不通,具有极好的安全性。