去年8月,Gartner发布了一篇名为《TheFuture of Network Security Is in the Cloud》的报告,这里面有几个比较有意思的展望:
- ▪到2023年,将有20%的企业采用同一家厂商的SWG(安全Web网关)、FWaaS(防火墙即服务)、ZTNA(零信任网络接入)。
- ▪到2024年,至少有40%的企业将有明确的战略和行动,采用SASE(安全接入服务边界)架构,高于2018年的不到1%。
- ▪到2025年,至少有一个领先的IaaS提供商将提供一套具有竞争力的SASE解决方案。
SASE实际上是对网络与安全的一种全新的定义,这对于各大数据中心和云网络厂商来说,是不得不去思考和重视的方向。换言之,随着技术的不断发展、理念的不断拓宽,SD-WAN作为SASE框架下的重要一环,将会被越来越多的企业所重视、所接受、所使用。
----------------------------我是低调de分割线----------------------
言归正传,我们继续下图所示的Homelab环境的搭建工作:
今天我们将接着上周的实验,在VCO[内网10.1.0.1/29][对应外网1.0.0.2]已经就绪的基础上,部署一台Cloud Gateway(后文简称VCG)和一台Edge(后文简称VCE),实现与VCO的注册关系,完成SD-WAN第一个数据中心站点组网。
0x01.VCG的部署与注册
VCG的部署与VCO相同,是通过OVA导入的方式进行,在完成特定的参数设置后,等待OVA导入完毕,正常开启虚拟机,就可以着手VCG注册到VCO的操作了。
接下来,需要全局操作员访问VCO管理界面,创建一台或者多台VCG,并组成一个VCG池,提供SD-WAN组网的路由更新、隧道建立等功能。
- 访问VCO,点击进入“Gateways”-“New Gateway”,添加新的VCG
- 添加VCG主机名、IP地址
注意:Service State需要更改为In Service;对于公网注册的场景,VCG的IP地址需要更改为外网IP
- 完成VCG的添加后,在管理页面,可以看到激活码,如本用例中的“8SQY-****-****-****”
- 在VCG部署完毕后,管理员可以通过SSH方式访问VCG命令行
- 切换到root用户后,可以先用命令查看当前的注册状态
# /opt/vc/bin/is_activated.py - 同时验证一下与VCO之间的连通性
# curl -k https://VCO的公网IP地址
- 确认与VCO之间的通信正常后,通过命令进行注册
# /opt/vc/bin/activate.py -s VCO地址 -i 验证码
进行到这里,或许会有朋友出现一个疑问:为什么在创建VCG的时候,使用的是1.0.0.3公网IP地址,而不是它的实际IP呢?我们知道,VCE在完成与VCO的注册后,会向VCG通报包括路由更新、链路健康状态等信息,当VCE试图与VCG建立隧道的时候,就只能通过VCG的公网IP来建立连接。这个公网IP是在VCE向VCO发起并正常注册后,VCO告知VCE的,这就解释了,为什么在创建VCG的时候,应该使用VCG的公网IP地址,而不是自身的实际地址。(即使VCG和VCO位于同一个数据中心,本身就可以通过内部网络实现L3甚至L2互通)
- 看到如下的系统提示,就表示VCG已经正常注册
- 通过命令行,再次确认VCG已经正常注册
- 在VCG正常注册后,管理员可继续创建网关资源池
- 进入“Gateway Pools”-“New Gateway Pool”,添加网关资源池
- 定义VCG资源池命名
- 将s12-vcg-01设备从可用的VCG,分配到该VCG
- 完成上述配置后,点击Save Changes保存配置
在上次分享中,对于VCO这台服务器,我们通过在NSX DC上配置NAT,来满足管理员通过互联网访问。那么,对于VCG来说,也同样需要配置NAT。(精细化一点,可以映射VCG专门的端口,即UDP2426)
这里强调一点,如果管理员在创建VCG的时候,使用公网IP来定义,但是遗漏了NAT的配置。那么,当VCG尝试向VCO发起注册的时候,一定会出现失败的情况。原因是VCO看到的是VCG的实际IP地址,与定义的公网IP地址不相同,VCO认为这是存在错误的注册请求,会拒绝注册。
在完成了VCO和VCG就绪工作后,接下来,我们将一起完成Edge的部署。注:因为硬件条件有限,晓冬将采用虚拟机版本的Edge来向大家演示如何进行SD-WAN配置和组网。
不过在此之前,需要先在VCG Pool基础上,创建第一个租户。
0x02.租户环境的创建
- 通过全局操作管理员访问VCO管理界面,进入Manage Customers,点击New Customer,创建新的租户
- 定义该租户的超级管理员账户、密码,如sdxadmin@hq.local,零接触部署默认调用的初始化配置文件以及VCG池等设置
- 随后,管理员可以通过租户的操作管理员,访问VCO平台,进行后续包括VCE注册在内的一系列操作
0x03.VCE配置文件和终端的创建虚拟机版本Edge的部署方式,与VCO、VCG相同,将采用OVA的方式进行。
- GE1-GE2,一般用于连接到LAN网络;
- GE3-GE6,一般用于连接到WAN网络。
在我的Homelab环境中,GE1将连接到包括Web应用在内的LAN网络;GE3将上联到Internet网络。其中GE3的地址,将在OVA导入过程中被定义:10.1.0.17/29
在虚拟机被导入并正常启动后,可以看到这台虚拟机一共被分配了3个IP地址:10.1.0.17是管理员定义的WAN地址;
192.168.2.1是系统自己分配的默认管理地址;
192.168.3.1是系统自动划分的第一个网段。
与VCG相同,管理员首先需要添加一台VCE设备,这个操作主要分为两个阶段:
- 创建一个VCE配置文件,定义Cloud VPN、BGP、VLAN等设置;
- 创建一个“无状态”的通用VCE设备,通过关联配置文件,实现SPOKE或者HUB角色的定义
具体操作如下: - 管理员创建配置文件,也可以直接复制默认的配置文件,这样可以更加快捷地创建配置文件,并减少出错的可能
- 在Device界面,需要特别注意以下三点:
- 必须开启Cloud VPN
- 对于Spoke和Hub之间建立b2hub隧道的场景,可以在Hub Edge注册成功后,再更新配置
- 根据需要开启OSPF或者BGP的情况,可以在Edge注册后,再进行设置
- 根据需要定义VLAN,如
我的HQ站点,会定义一个Web服务器使用的VLAN4000,CIRD=10.1.10.0/24
定义一个将来给NSX Advanced Load Balancer使用的后端地址池VLAN4009,CIRD=10.1.2.0/24
- 随后,管理员可以切换到“Configure-Edge”界面,添加新的Edge终端
- 为新的Edge终端,关联配置文件;在完成Edge创建后,管理员就可以看到一个激活码,用于Edge注册
0x04.VCE激活与注册VCE注册可以通过2种方式来进行;本例采用管理员手动输入VCO地址与激活码的方式来进行:
- 访问VCE的管理界面,输入激活码、VCO地址,并忽略证书错误(建议),然后点击Activate激活。等待数秒之后,VCE注册完成,此时该VCE的LAN口将根据Profile的定义,设置新的IP地址
- 因此可以看到,192.168.2.1的IP地址在注册完毕后,变成不可达
- 在VCO界面,可以看到该Edge已经正常注册,并与VCG建立了隧道
这里注意,看到的VCE注册地址并非是10.1.0.17/29,而是一个公网IP1.0.0.4,具体的原因,我会在后面一篇分享中讲解SPOKE-HUB架构的时候,进行叙述。
还记得在上一篇的末尾,晓冬定义了两个初始化配置文件,将其中的VCO服务器IP地址,从默认的localhost,改成了VCO的公网IP地址1.0.0.2么?实际上,VeloCloud Edge的第二种注册方式就是“零接触部署”。对此,晓冬将用一台物理Edge作为用例来展示。在管理员完成Edge设备的添加操作后,可以在VCO界面看到一个图标,点击可发送一封激活邮件给当地的Helpdesk人员。这封激活邮件包含了3个有用的信息:
- Edge设备默认的内部网络地址:192.168.2.1,这个用于通过HTTP协议将注册使用的验证码和VCO的地址告诉VCE;
- VCO的IP地址:1.0.0.2,如果我们没有在初始化配置文件中,将localhost字段进行修改,那么这封零接触部署的邮件中,VCO的服务器名,将沿用localhost,这也就是当时晓冬设置初始化配置文件的原因;
- 注册码:用于VCE注册使用。
- 当管理员将物理Edge上电后,可以通过默认开启的WIFI连接到Edge LAN网络
- 随后点击邮箱中的链接,就可以完成“零接触”部署,它的含义其实就是任意站点的用户,不需要进行任何的配置,在租户管理员创建Edge后,通过一个简单的邮件链接点击,就可以实现VCE的注册和SD-WAN的联网。
通过今天的4个演示用例,我们已经完成了VCG和第一个站点的VCE的注册。但距离真正实现SD-WAN组网还有一些工作要进行。比如:一般数据中心站点将作为Hub角色,分支站点将作为Spoke角色,这其中涉及到VCE配置文件相关参数的设定,以及各站点内部LAN网络的路由转发和网络互通。这部分内容将在下一次的分享中,向各位继续介绍和演示,欢迎持续关注。