自学思科SD-WAN控制层面连接的建立过程
目录:
- 章节1:控制层面白名单(三件套认证)
- 章节2:DTLS和TLS基础结构
- 章节3:控制器身份验证和信任+++控制平面建立1(三件套之间建立)
- 章节4:vEdge路由器身份验证和信任+++控制平面建立2(vEdge Appliance ⟺ vBond, vSmart, vManage)
- 章节5:vEdge Cloud身份验证和信任+++控制平面建立3(vEdge Cloud ⟺ vBond, vSmart, vManage)
- 章节6:控制器部署
- 章节7:端口处理和防火墙
一、控制层面白名单
- vManage、vBand、vSmart应该在同一个网段,管理员在vManage GUI中添加控制器;
- 认证方式:1.买设备提供自带证书Symantec,导入设备中,再通过Symantec自动进行证书签名 2.通过企业自有认证方式
- 认证完成后,控制器列表由vManage分发到所有控制器,控制器证书序列号。
二、DTLS和TLS隧道基础结构
vSmart和vBand之间:
- 建立隧道之前,双方交换个人证书
- 隧道建立加密AES和哈希算法SHA
- 控制层面的流量建立DTLS隧道(传送UDP报文),建立成功后数据层面的流量建立TLS隧道(传送TCP报文);
vEdge和vSmart之间:
- vSmart通过OMP协议推送配置、路由策略等信息给vEdge,这个推送过程称作Netconf;
- vSmart只需要配置IP、认证信息,上线后配置通过vManage、vSmart下发;
DTLS互联建立:
三、控制器身份验证和信任+++++控制平面建立1(三件套之间建立)
身份验证:控制器身份由Symantec签名证书提供(寿命1-2年)或者可以使用企业CA。 在所有其他控制器和vEdge路由器上需要Enterprise Root证书
信任:
- Avnet 根证书链,可验证vEdge路由器-----嵌入Viptela软件
- Viptela 根证书链,可对vEdge Cloud路由器进行身份验证----由vManage提供. 对集群则提供多个Viptela 根证书链.
- Symantec 根证书链,对其他控制器进行身份验证-----嵌入Viptela软件或者可以使用企业根链
3.1 控制连接的建立(vSmart ⟺ vBond) 通过 DTLS
- Symantec签名证书被交换
- vBond验证:信任针对根的已签名vSmart证书;针对授权白名单的证书序列号(来自vManage);针对本地配置之一的组织名称(收到的证书OU)
- vSmart验证:信任根的vBond证书;针对本地配置的组织名称(收到的证书OU)
- 持续的DTLS连接出现----vBond是服务器
3.2 控制层面的建立(vManage⟺ vBond) 通过 DTLS
- Symantec签名证书被交换
- vBond验证:信任针对根的已签名vSmart证书;针对授权白名单的证书序列号(来自vManage);针对本地配置之一的组织名称(收到的证书OU)
- vManage验证:信任根的vBond证书;针对本地配置的组织名称(收到的证书OU)
- 持续的DTLS连接出现----vBond是服务器
3.3 控制层面的建立---冗余部署(vSmart⟺ vSmart) 通过TLS / DTLS
- 冗余vSmart部署
- Symantec签名证书被交换
- 每个vSmart都会验证:信任根用户签署的vSmart证书;针对授权白名单的证书序列号(来自vManage);针对本地配置的组织名称(收到的证书OU)
- 持续的DTLS / TLS连接出现-具有最高公有IP地址的vSmart是服务器
3.4 控制层面的建立(vManage⟺ vSmart) 通过TLS / DTLS
- 交换Symantec签名证书
- vSmart验证:信任根用户签署的vManage证书;针对授权白名单的证书序列号(来自vManage);组织名称(收到的证书OU)针对本地配置的一个
- vManage验证:信任根的vSmart证书;针对授权白名单的证书序列号(来自vManage);针对本地配置的组织名称(收到的证书OU)
- 持续的DTLS / TLS连接出现
四、vEdge路由器身份和信任+++++控制平面建立2(vEdge Appliance 端与三件套之间建立)
4.1 vEdge路由器身份和信任
认证:
- 每个物理vEdge路由器由机器ID和证书序列号唯一标识
- 证书存储在板载防篡改模块 Tamper Proof Module (TPM)中---在生成过程中安装 (25 year lifetime)
- 证书由Avnet根CA签名----受控制平面元素信任
信任:
- Symantec 根证书链用于验证控制平面元素---嵌入Viptela软件
- 另外,企业根证书链可用于验证控制平面元素,将企业根CA安装到所有WAN边缘–能够验证控制器证书;可以在ZTP期间自动安装
4.2 控制平面的建立(vEdge Appliance ⟺ vBond)
1.签名证书被交换
2.vBond验证:
- Vedge机器号和序列号(针对白名单)
- 信任已签名的vEdge证书。针对根
- 针对授权白名单的证书序列号(来自vManage)
- 针对本地配置之一的组织名称(接收到的OU)
3.vEdge验证:
- 信任root的vBond证书
- 针对本地配置之一的组织名称(接收到的OU)
4.vEdge和vBond之间将建立临时DTLS / TLS连接
- vEdge是客户端
- vEdge IP已注册到Vmanage&vSmart
- vSmart和vManage Ips已注册到vEdge
5.临时隧道被拆除
4.3 控制平面的建立(vEdge Appliance ⟺ vSmart, vManage)
- 签名证书被交换
- vSmart和vManage验证:信任已签名的vEdge证书,是针对根;针对授权白名单的证书序列号(来自vManage);针对本地配置的组织名称(收到的证书OU)
- vEdge验证:针对root用户信任vSmart和vManage证书;针对本地配置之一的组织名称(收到的证书OU)
- vEdge和vSmart / vManage之间建立了持久的DTLS / TLS连接;-vEdge是客户端
五、vEdge Cloud身份验证和认证+++++控制平面建立3(vEdge Cloud ⟺ vBond, vSmart, vManage)
5.1 vEdge Cloud身份验证和信任
认证:
- OTP /令牌由vManage生成。上传的vEdge列表中的每个(机器ID,序列号)一个;在VM部署期间,OTP /令牌通过cloud-init.cfg文件提供给vEdge Cloud
- vManage在OTP /令牌验证后为vEdge Cloud颁发自签名证书(25 year lifetime)。vManage删除OTP以防止重复使用。
信任:
- Symantec 根证书链用于验证控制平面元素。或者,如果使用,则企业根CA信任链可用于验证vEdge-Cloud元素可以在cloud-init.cfg中提供
5.2 控制平面的建立(vEdge Cloud ⟺ vBond, vSmart, vManage)
1.vManage颁发证书身份
2.vBond,vSmart和vManage验证:
- 针对根信任已签名的vEdge证书
- 针对授权白名单的证书序列号(来自vManage)
- 针对本地配置之一的组织名称(接收到的OU)
- vBond根据物理设备流分配vEdge,vManage和vSmart IP
3.vEdge验证:
- 根目录信任签名的vBond,vSmart和vManage证书
- 针对本地配置之一的组织名称(接收到的
4.vEdge和vSmart / vManage之间建立了持久的DTLS / TLS连接
- vEdge是客户端
5.3 vEdge控制平面传输
- 默认情况下,vEdge路由器将尝试在所有预配置的传输上建立控制连接
- 管理员可以控制vEdge路由器用于建立控制连接的传输方式
六、控制器部署
6.1 控制器建设模式(见上节)
6.2 控制器部署模式(见上节)
6.3 控制器连接方式(以下两种)
6.4 将控制器添加到vManage
- vBond,vSmart控制器IP添加到vManage后
- vManage将使用其VPN0界面登录vBond和vSmart,以将它们包括在Controller的白名单中。
- (1)vManage UI请求使用带有用户凭据的控制器的管理IP,因为默认情况下,为Netconf和ssh启用了管理接口。 因此,控制器的VPN0子网和VPN512子网之间应该存在路由(AWS,Azure上的默认设置)。
- (2)如果未在VPN0和VPN512之间设计路由,那么我们可以使用Controller的VPN0接口IP将它们添加到vManage上。
- 在这种情况下,临时在控制器的VPN0接口上启用Netconf和ssh。
- 验证控制器,安装证书并建立控制连接后,应在VPN0上禁用netconf和ssh。
6.4.1 相同的VPC / DC /区域–---相同的站点ID
- (1)(2)vSmart和vManage指向vBond IP地址---NAT公有IP地址
- (3)vBond学习vSmart和vManage的接口私有和NAT公有IP地址----私有是NAT之前的,公有是NAT之后的
- (4)最常见的部署是在同一DC /区域/区域等内的vManage和vSmart上使用相同的site-id。
- 当两个设备具有相同的站点ID时,我们尝试使用私有IP进行通信(控制和数据)
- vSmart和vManage使用私有IP地址进行通信
6.4.2 不同的VPC / DC /区域–----不同的站点ID
- (1)(2)vSmart和vManage指向vBond IP地址-----NAT公有IP地址
- (3)vBond学习vSmart和vManage的接口私有和NAT公有IP地址-----私有是NAT之前的,公有是NAT之后的
- (4)vSmart和vManage使用NAT公有IP地址进行通信
七、端口处理和防火墙
7.1 SD-WAN控制/数据平面
7.2 WAN Edge路由器–基本端口
- WAN Edge路由器加入覆盖网络时,它将与控制器设备(vBond Orchestrator,vManage NMS和vSmart控制器)建立DTLS控制平面连接。
- 最初建立这些DTLS连接时,WAN Edge路由器使用基本端口UDP:12346。如果无法使用此基本端口建立连接,则它会通过端口12366、12386、12406和12426进行端口跳跃,并在必要时返回, 至12346
- 使用相同的端口号建立与覆盖网络中其他vEdge路由器的IPsec连接和BFD会话。
- 命令:show control local-properties
7.3 控制器–基本端口
- vManage NMS和vSmart控制器可以在具有八个虚拟CPU(vCPU)的虚拟机(VM)上运行。 vCPU被指定为Core0至Core7。
- 每个核心分配有单独的基本端口用于控制连接。 基本端口有所不同,具体取决于连接是通过DTLS隧道(使用UDP)还是通过TLS隧道(使用TCP)进行的。
- vBond编排器不支持多个内核。 vBond协调器始终使用DTLS隧道与其他Viptela设备建立控制连接,因此它们始终使用UDP。 UDP端口为12346。
7.4 端口处理和防火墙
1. 默认情况下,所有SD-WAN设备都使用基本端口12346建立用于处理覆盖网络中的控制和流量的连接。 与其他SD-WAN设备建立连接时,每个设备都使用此端口
2. 端口偏移
- 当单个NAT设备后面安装多个SD-WAN设备时。
- 对于可以在NAT背后的设备之间进行区分的NAT设备,无需配置端口偏移.
- 每个设备使用不同的端口号,以便NAT可以正确识别每个单独的设备。
- 与基本端口12346的端口偏移。例如,端口偏移为1的设备使用该设备
- 端口12347。端口偏移量可以是0到19之间的值。默认端口偏移量是0。
3. 端口跳跃
- 如果在第一个端口上的连接尝试失败,则尝试彼此建立连接时,设备会尝试使用不同的端口。
- 发生此类故障后,端口值将增加,并且连接
- 尝试重试。 该软件轮流通过总共五个基本端口,每次连接尝试之间等待的时间越来越长。
- 如果尚未配置端口偏移,则默认基本端口为12346,并在端口12346、12366、12386、12406和12426之间顺序进行端口跳跃,然后返回端口12346。
7.5 防火墙端口– DTLS
1. vBond编排器不支持多个内核。
- vBond协调器始终使用DTLS隧道与其他Viptela设备建立控制连接,因此它们始终使用UDP。 UDP端口为12346
2. 红色表示使用的主要协议或第一个端口
- vBond IP不是弹性的,建议允许UDP / 12346与vEdge之间的任何来回。
- WAN Edge可以通过端口跳建立连接,建议允许所有5个UDP端口入站到所有WAN Edge
3. 默认-未配置端口偏移和DTLS
7.6 防火墙端口– TLS
红色表示使用的主要协议或第一个端口
- vBond IP不是弹性的,建议允许UDP / 12346与vEdge之间的任何来回。
- WAN Edge可以通过端口跳跃建立连接,建议允许所有5个UDP端口入站到所有WAN Edge