1/文章说明
本文主要记录在模拟环境中,参照官方部署文档对Viptela SD-WAN (v19.2.1)进行部署,主要包括4大组件vmanage/vbond/vsmart和vedge的部署上线以及部署过程中的问题处理。这里不对Cisco SD-WAN 架构进行解释说明,后期会单独总结,策略部署后续章节更新。
1.1官方lan to lan 部署流程(最佳实践)
CISCO vipleta SD-WAN部署1-初始化 ---By 年糕泰迪_第1张图片
CISCO vipleta SD-WAN部署1-初始化 ---By 年糕泰迪_第2张图片
CISCO vipleta SD-WAN部署1-初始化 ---By 年糕泰迪_第3张图片
CISCO vipleta SD-WAN部署1-初始化 ---By 年糕泰迪_第4张图片
对上面的最佳实践部署流程做简要解释说明:
1/首先要进行部署网络的规划(等于废话,搞网络的都懂吧),规划systemip,site ID ,控制网段,管理网端,设备基本配置等等,总之就是是部署文档设计。
2/先把控制器组件搞起来,vmange/vbond/vsmart这些在控制端的组件要先打通,包括网络互通,还有设备认证。
3/时刻记得升级控制器保持最新。
4/先Cisco大佬申请授权文件,上传到vmanage 注册vedge 激活上线vedge。
5设备都已经注册上线了,接下来就是配置设备模板下发到vedges ,Cisco建议首先配置部署中心端,然后再配置部署分支端。
6/配置本地策略然后应用到目标设备模板,如果配置的设备模板已经和vedge关联,在任何本地与特性模板关联之前,策略需要先关联本地策略。
7/配置中心端策略,该策略会推送给控制器vsmart。
8/启动/升级vedge设备,让其和控制端组件建立连接,这个过程中会下发ZTP 以及支持SD-WAN路由器的PnP(即插即用)。

本文此次会涉及到1-4步SD-WAN的初始化上线,后续章节再继续下面的流程

2/部署上线
2.1/官方部署实例拓扑:
CISCO vipleta SD-WAN部署1-初始化 ---By 年糕泰迪_第5张图片
官方拓扑展示了5个branch同DC通过Internet和MPLS2种underlay底层网络支持SD-WAN的edge的互联互通,5个branch的接入场景都不相同,有vedge也有支持sd-wan的CSR1000v路由器。通常3个控制组件(vmanage/vbond/vsmart)会部署在一起,至于部署在DC还是共用云,取决于实际部署场景,SD-WAN通常有2种部署模式,1是使用厂商已经部署好的SD-WAN云控制器环境,客户端只需要在自己的WAN分支节点部署vedge即可,然后购买服务,通过厂商的云控制环境组件和管理自己的edge设备;另一种就是自建,即所有组件都是部署在自己的环境种,无论是在DC还是在自己的云环境上。由于实验环境资源限制,无法安装官方的拓扑进行一对一的部署演示,下面是经过简化的拓扑。
2.2/实际部署拓扑
CISCO vipleta SD-WAN部署1-初始化 ---By 年糕泰迪_第6张图片
拓扑简要说明:
这里的3个控制器组件集中部署在公网环境(可以理解成部署在公有云种),2个WAN节点,一个DC和一个分支,每个站点都有2个vedge做为互备,4个vedge通过公网注册到控制端并通过公网和MPLS互联实现WAN线路互联。下面就安装官方的推荐部署流程进行部署上线。
2.3网络规划-step1

CISCO vipleta SD-WAN部署1-初始化 ---By 年糕泰迪_第7张图片
注:业务网络规划后续章节再补充
2.4控制器部署-step2
初始配置-vmanage
vmanage 是4个组件中资源要求最高的一个组件,生产中起步都是16core32G,硬盘越大越好。eve配置模板中给的16G 4core ,这个配置就不要调整了,测试发现低于这个配置vmanage 启动的时候会有各种奇怪异常爆出,启动不起来。节点启动后大约2-3分钟完成初始后,等到console 界面提示 System Ready 后输入默认账号密码admin/admin ,之后必须修改默认密码(测试环境保持默认配置也可以),改完密码以后,会交互式询问,vmanage 存储磁盘位置选择如下,这个每个人环境不同,显示的也不同,我这里选择的是1 vhd ,根据具体情况选择。
CISCO vipleta SD-WAN部署1-初始化 ---By 年糕泰迪_第8张图片
接下来就可以进行初始配置了,首先配置系统基本参数(除AAA管理账号配置),所有配置在configure 模式下进行,配置完成后需要commit 提交才可生效。

CISCO vipleta SD-WAN部署1-初始化 ---By 年糕泰迪_第9张图片
system-ip 和site-id是控制器之间通信的表示参数,根据自己规划配置即可,organization-name 这个要注意,所有控制器组件配置必须相同(后续在cisco 软件中心申请授权文件时需要这个组织名称并且要一致,否则授权文件无法使用),vbond ip 为控制组件需要注册的编排器IP地址,这个也要一致,授权文件申请时也需要填写。接下来就是配置基础网络信息,
CISCO vipleta SD-WAN部署1-初始化 ---By 年糕泰迪_第10张图片
CISCO vipleta SD-WAN部署1-初始化 ---By 年糕泰迪_第11张图片
SD-WAN所有组件种网络配置都以实例来为域来划分配置和管理的,这里的实例可以理解为vrf,即每一个接口只能属于一个实例,所有组件种默认有2个实例,0 作为控制流量通信通道和其他控制器组件之间建立连接,通常0 所属接口连接公网,另一个时 512 这是管理实例,连接网络中的管理网络,vmanage就是通过 512实例下的eth1接口进行web管理的,每个实例中的router 都是独立的。
上面的配置完成并commit后,就可以通过web 登录vmanage了,https://***512IP地址 admin/admin()会自动重定向到8443端口。
CISCO vipleta SD-WAN部署1-初始化 ---By 年糕泰迪_第12张图片
此时的vmanage web界面没有什么可以操作的,还需要把剩余的设备初始化完才可以。

初始配置-vbond
Vbond编排器中的系统和vedge的系统时一模一样的,所以在初始开机的情况vbond的默认系统名称就是vedge ,只有在系统配置vbond的时候才会将vedge指定成vbond。
CISCO vipleta SD-WAN部署1-初始化 ---By 年糕泰迪_第13张图片
上面配置中其他不多解释,host-name 需要从vedge更改为vbond ,然后再配置vbond的时候后需要指定local 参数以说明本机就是vbond。vbond-only 是指vbond没有集群成员为standalone。
CISCO vipleta SD-WAN部署1-初始化 ---By 年糕泰迪_第14张图片
vbond 在这里只配置V-P-N 0 ,因为实验环境可以通过console登录管理,所以不配置 512 ,生成环境需要配置。后面的vsmart和vedge同理,另外vbond和vedge一样除了管理接口为eth类型,其他都为ge 口,ge口默认是启用了tunnel的,在初始配置的时候先关闭tunnel ,在接口下no tunnel-interface 否则流量都走tunnel ,默认ssh 和netconfig等服务是不允许在tunnel通过的,等全部配置完成设备都上线了再全部开启tunnel ,vbond和vedge的 控制接口接口上要指定封装ipsec。如果不打算关闭,那么就要允许sshd服务,否则后面的证书无法从vmanage拷贝。
初始配置-vsmart
CISCO vipleta SD-WAN部署1-初始化 ---By 年糕泰迪_第15张图片
vsmart 系统配置和vmanage基本差不多,没有特殊强调的地方。
CISCO vipleta SD-WAN部署1-初始化 ---By 年糕泰迪_第16张图片
初始配置-vedge
CISCO vipleta SD-WAN部署1-初始化 ---By 年糕泰迪_第17张图片
CISCO vipleta SD-WAN部署1-初始化 ---By 年糕泰迪_第18张图片
CISCO vipleta SD-WAN部署1-初始化 ---By 年糕泰迪_第19张图片
其他vedge配置和上面的类同。
到这里所有控制器组件的系统和网络初始化配置就完成了,确保所有组件vmanage/vbond/vsmart/vedge 的
0 实例接口IP都可以互相联通,ping测试即可。
接下来就是控制器组件的注册上线了,注册上线之前需要2个重要准备工作要做,一个是安装所有控制器组件的证书,另一个是通过Cisco的smart acount 申请vedge 路由器的注册授权文件,下面逐步说明。
2.5控制器组件证书处理-step2
这里还是SD-WAN部署流程最佳时间的步骤2,证书的安装有很多种方式,线上环境可直接连接smart account 申请安装,测试环境下可以通过自建CA来签发,也可以使用各个组件linux层的openssl来模拟证书的签发。原本计划使用拓扑中的windows CA服务器来分发证书,但在模拟过程中发现,window 和 cisco 组件之间的证书格式不统一需要多次转换,所以还是使用自带的openssl来模拟签发证书。
证书签发过程说明,将vmanage作为CA ,签发其他节点的CSR请求,并制作其他节点证书。
a.首先处理vmanage
默认所有节点中都有安装一些权威CA的根证书,就像我们的电脑一样有一些默认权威根证书。但是没有个人证书。其中就有Symantec的根证书,我们是可以在vmanage中这是通过像symance邮件申请证书的。这里实验环境就用openssl来自签名证书了,殊途同归总之就是各个组件上安装“可信”证书。
vmanage作为CA ,首先需要生成自己的根证书,用于签发其他节点的证书签名请求(csr)。
注意:证书的制作,申请,签发所有阶段都是在组件节点的Linux层进行的,通过vshell进入到Linux底层,只有证书的安装,查看和删除才是在cisco 系统应用层面,退出vshell。
openssl 的一系列命令操作不在此介绍,可查询其他文档。

CISCO vipleta SD-WAN部署1-初始化 ---By 年糕泰迪_第20张图片
上面的2步骤是生成CA 根证书,先生成长度为2048的ROOTCA.key的密钥,再用这个密钥身材根证书,ROOT.pem。注意这里根证书生成过程中的subject 中的O表示的就是前面配置时提到的organization-name ,这个要保持一致。完毕后就生成了2个文件,一个是密钥,一个是根证书。
CISCO vipleta SD-WAN部署1-初始化 ---By 年糕泰迪
我们要把这个自签名的根证书安装在所有节点上,也包括vmangment,
CISCO vipleta SD-WAN部署1-初始化 ---By 年糕泰迪
下面就是我们安装的自签名根证书:
CISCO vipleta SD-WAN部署1-初始化 ---By 年糕泰迪_第21张图片
b.vbond/vsmart/vedge根证书安装
这里以vbond为例,其他节点一样。
因为根证书是在vmanage中的,我们可以直接通过结合 linux的文件远程复制命令来安装,当然也可以把文件copy到本地,进行本地安装,这里使用远程一次性安装更方便,br/>![](https://s4.51cto.com/images/blog/202007/31/f724f180ac14ab52cd551528c086c4a2.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
这里虽然支持scp命令但是不支持一次性用户名:密码@IP的方式,需要单独输入密码,如果补加用户名也可以,就需要再单独输入账密。
CISCO vipleta SD-WAN部署1-初始化 ---By 年糕泰迪
安装完成后同样可以使用vmangment中的验证命令检查
vbond# show certificate root-ca-cert
根证书都安装完了,接下来就是申请签发个人证书了。
c.个人证书申请签发
首先是生成证书签名请求也就是csr文件,
CISCO vipleta SD-WAN部署1-初始化 ---By 年糕泰迪
先是生成vmanage生成的,所有就是将生成的csr文件保存再当前账户目录下,并命名vmanage.csr。这里需要输入organization-unit name ,这个还是一样和前面保持一致!!!
CISCO vipleta SD-WAN部署1-初始化 ---By 年糕泰迪
上面就是对vmanage 自身的csr签发证书的过程,通过CA根证书,CA密钥和csr文件签发生成了vmanage.crt证书,有效期为500天。
vmanage个人证书安装
CISCO vipleta SD-WAN部署1-初始化 ---By 年糕泰迪
查看安装的个人证书,
CISCO vipleta SD-WAN部署1-初始化 ---By 年糕泰迪_第22张图片
d.其他节点的证书申请,签发和安装
其他节点的证书申请,签发和安装和vmanage是一样的,只不过vmanage是本地申请,签发,安装,而其他的是远程而已,所以还是一样这里以vbond演示,其他节点相同。
CISCO vipleta SD-WAN部署1-初始化 ---By 年糕泰迪_第23张图片
vbond生成csr文件并上传到vmanage CA ,等待签发。
CISCO vipleta SD-WAN部署1-初始化 ---By 年糕泰迪
vmanage签发vbond的证书,生成vbond.crt
在vbond安装证书
CISCO vipleta SD-WAN部署1-初始化 ---By 年糕泰迪_第24张图片
到这里所有组件节点的自签名证书就都全部申请,签发和安装完毕了,接下是在vmange web管理端添加vbond和vsmart控制组件。
e.vbond和vsmart在vmange中添加
首先在vmanage的管理菜单---设定 中进行配置,主要配置以下几项,设定组织名称和前面保持一致,配置vbond地址,端口默认12346保持,controller certificates authorition 选择手动,因为我们以及自签发了证书。
CISCO vipleta SD-WAN部署1-初始化 ---By 年糕泰迪_第25张图片
然后添加vbond和vsmart控器组件,在configuration--设备中选择controllers ,添加controllers
CISCO vipleta SD-WAN部署1-初始化 ---By 年糕泰迪_第26张图片
先添加vbond,填写vbond IP和账号信息,不选择生成csr 我们已经自签发了证书。
CISCO vipleta SD-WAN部署1-初始化 ---By 年糕泰迪_第27张图片
再添加vsmart,填写vsmart IP和账号信息 ,控制通道解密传输协议和端口都保持默认,同样不生成csr。
CISCO vipleta SD-WAN部署1-初始化 ---By 年糕泰迪_第28张图片
添加完成后在configuration --certificates 选择controllers 将证书推送给vbond ,vbond所有组件认证的网关,所有设备注册现有和vbond通信。
CISCO vipleta SD-WAN部署1-初始化 ---By 年糕泰迪_第29张图片
推送完毕后的控制器组件状态如下,
CISCO vipleta SD-WAN部署1-初始化 ---By 年糕泰迪_第30张图片
2.6 vedge设备授权文件申请-step4(step3是系统升级,这里用到已经是最新版,所以忽略)
这里如何通过cisco的smart account 申请,添加controllers profiles ,以及如何添加设备等,请参考下面的连接文章非常详细,https://pocvlab.com/cisco-sd-wan-vedges-licensing-and-onboarding/

之后vmanage中导入,刚才的授权文件,
CISCO vipleta SD-WAN部署1-初始化 ---By 年糕泰迪_第31张图片
上面校验的那个可选项可以选择勾选,这样添加完成后vmanage会自动上传,校验,并推动给controllers,无需再手动操作。
添加完成后4台vedge的设备信息情况为,
CISCO vipleta SD-WAN部署1-初始化 ---By 年糕泰迪_第32张图片
证书信息是这样的,
CISCO vipleta SD-WAN部署1-初始化 ---By 年糕泰迪_第33张图片
注,如果后续要删除某个设备,需要在这里将设备invalid才能删除。
授权文件到这里就成功导入完成,最后一步是vedge设备的激活。
CISCO vipleta SD-WAN部署1-初始化 ---By 年糕泰迪_第34张图片
如上图最对应设备最右侧操作栏右键选择 Generate Bootstrap Configuration ,
CISCO vipleta SD-WAN部署1-初始化 ---By 年糕泰迪_第35张图片
保持cloud-init 的默认选项,然后记住 uuid和otp这2项参数,
CISCO vipleta SD-WAN部署1-初始化 ---By 年糕泰迪_第36张图片
接下来在vedge中激活,
CISCO vipleta SD-WAN部署1-初始化 ---By 年糕泰迪
命令中的chassi-number 对应uuid,token 对应otp,激活完等一会后vmanage界面就会有下面的提示
CISCO vipleta SD-WAN部署1-初始化 ---By 年糕泰迪这就说明vedge 已经成功上线了。
vedge终端也可以查看
CISCO vipleta SD-WAN部署1-初始化 ---By 年糕泰迪_第37张图片
CISCO vipleta SD-WAN部署1-初始化 ---By 年糕泰迪_第38张图片
注意:如果之前有关闭***0 接口下的tunnel interface 到这里要记得开启。
控制器和vedge全部上线以后,在dashboard中可以看到其在线状况和数目,后面就是开始部署设备模板以及配置下发策略,开启真正的SD-WAN即软件定义WAN流量。
3/小结 在使用环境下最麻烦的就是这个证书的处理,还有一个就是实验环境资源的限制,尤其是vmanage 这个是真的耗资源,在实验环境中内存资源吃紧的情况下最好不要全部同时都开启节点,首先开启vmanage 等它完全启动并初始化好了再逐步开启其他节点,都成vmanage会在启动过程中出现各种各样的问题。另外一个就是资源不足的时候,在导入授权文件激活设备的时候,vmanage很可能会卡住,导致激活失败,比如设备一直卡在csr请求阶段或者证书安装失败的问题,建议本机环境内存16G起,cpu 4core ,这已经是最低配要求了,再低是玩不起的。
下面推荐2篇Cisco官方的文档,个人觉得对了解了viptela SD-WAN架构之后再上手有很大帮助,
https://www.cisco.com/c/en/us/td/docs/solutions/CVD/SDWAN/cisco-sdwan-design-guide.html
https://www.cisco.com/c/dam/en/us/td/docs/solutions/CVD/SDWAN/SD-WAN-End-to-End-Deployment-Guide.pdf