4. 零接触部署(ZTP)原理与流程

零接触部署(Zero Touch Provisioning,ZTP)要解决的核心问题是:一台全新的 SD-WAN 边缘设备从机架上电、接入链路,到最终被控制器纳管并下发完整业务配置,全程不需要工程师登录命令行逐条敲配置。要做到这一点,设备必须自己完成四件事——获得管理地址、找到控制器、证明自己可信、拿到属于自己的配置。本节围绕这四件事展开,重点讲清 DHCP/PnP 引导、重定向服务器、证书白名单、控制器发现与自动配置下发之间的衔接关系。

一、ZTP 的四个阶段与整体数据流

把 ZTP 拆开看,它是一条从“裸设备”到“受管设备”的引导链。设备上电后处于出厂状态,没有管理 IP、没有控制器地址、没有证书。它需要依次经过:地址获取 → 控制器发现 → 身份认证 → 配置下发。前两步解决“我在哪、我要找谁”,后两步解决“对方是否可信、我该得到什么”。

下面这张图给出 ZTP 的完整信号与数据流:左侧是分支新设备,中间是 DHCP/PnP 与重定向服务器,右侧是 SD-WAN 控制器与编排系统。注意图中区分了两条路径——蓝色是地址与引导信息路径,绿色是控制与配置路径,橙色是证书与白名单校验路径。

① 地址获取 ② 控制器发现 ③ 身份认证 ④ 配置下发 分支新设备 出厂状态 无管理IP / 无证书 序列号 SN WAN口 DHCP Client 内置 PnP 客户端 DHCP / PnP 服务器 Option 43 / 60 Option 66 / 67 Option 150 返回引导信息 重定向服务器 PnP / Bootstrap 按 SN 查询归属 返回控制器地址 + 一次性引导令牌 SD-WAN 控制器 证书校验 白名单比对 设备纳管 配置模板绑定 下发业务配置 编排 / 管理系统 站点与设备映射 模板与变量 策略与 VPN 定义 证书白名单 SN / 证书指纹 预登记清单 未登记则拒绝 DHCP Discover Offer: IP + Option HTTPS 引导请求 控制器地址 + 令牌 建立控制通道 下发配置 校验 模板/策略 蓝色路径:地址与引导信息获取(DHCP Option → 重定向服务器) 绿色路径:控制通道建立与配置下发(设备 ↔ 控制器 ↔ 编排系统) 橙色路径:证书与白名单校验 未通过校验的设备不会进入配置下发阶段

二、DHCP/PnP:设备如何拿到第一份引导信息

设备上电后,WAN 口默认作为 DHCP 客户端发起 Discover。DHCP 服务器除了分配管理 IP,还要通过 Option 字段告诉设备“下一步去哪里”。常见做法有三种:

  • Option 43(厂商自定义):把控制器地址、端口、协议封装成厂商私有格式,设备解析后直接得到控制器地址。适合控制器地址固定的场景。
  • Option 66/67:给出 TFTP/HTTP 引导服务器地址和引导文件名,设备下载一个引导脚本或配置文件,脚本里再包含控制器地址。适合需要按设备型号、批次区分引导内容的场景。
  • Option 150:给出一个或多个引导服务器 IP 列表,设备按顺序尝试。常用于多控制器冗余。

如果分支出口没有可用的 DHCP 服务器,或者运营商链路无法下发 Option,就需要 PnP 机制兜底。PnP 客户端在设备启动后主动向预置的 PnP 服务器(通常是云端的重定向服务器)发起 HTTPS 请求,请求中携带设备序列号、型号、当前软件版本。PnP 服务器根据序列号查询该设备属于哪个租户、哪个站点,返回对应的控制器地址和一次性引导令牌。这样即使没有 DHCP Option,设备也能完成发现。

实际部署中,DHCP Option 和 PnP 往往同时启用:DHCP 优先,失败后自动回退到 PnP。这样既利用了本地 DHCP 的低延迟,又保留了云端引导的兜底能力。

三、重定向服务器:把设备“指”到正确的控制器

重定向服务器是 ZTP 的“问路点”。它本身不管理设备,只做两件事:识别设备身份和返回控制器地址。设备发来的请求通常包含序列号、MAC、型号、当前版本;重定向服务器在后台数据库中查找该序列号对应的租户和站点,返回该租户专属的控制器 FQDN 或 IP,以及一个短期有效的引导令牌。

这里有一个关键设计:重定向服务器返回的控制器地址是按租户隔离的。同一批设备可能属于不同客户,重定向服务器必须根据序列号准确区分,否则设备会连到错误的控制器,导致配置错发。因此,序列号在出厂时就要录入重定向服务器的白名单数据库,这一步通常由设备制造商或集成商在发货前完成。

引导令牌的作用是防止设备在首次连接时被冒充。令牌一般是一次性的,有效期较短(例如 24 小时),设备用令牌向控制器证明“我是被重定向服务器合法引导过来的”。令牌过期后需要重新走 PnP 流程获取。

四、证书白名单:控制器如何确认设备可信

设备找到控制器后,控制器不能来者不拒。它需要确认这台设备确实是企业采购并授权入网的。证书白名单就是这道关卡。白名单里预先登记了允许入网的设备序列号或证书指纹。设备首次连接控制器时,会提交自己的设备证书(通常由设备厂商预置的 CA 签发)。控制器做两步校验:

  1. 证书链校验:确认证书由受信任的 CA 签发,且证书未过期、未被吊销。
  2. 白名单比对:提取证书中的序列号或指纹,与预登记清单比对。只有清单中存在的设备才被允许进入纳管流程。

如果设备不在白名单中,控制器会拒绝其连接,并在日志中记录“未授权设备尝试接入”。这可以防止攻击者用一台伪造设备接入控制器、获取配置或探测网络结构。对于替换故障设备的场景,运维人员需要先把新设备的序列号加入白名单,再让设备上电,否则 ZTP 会在认证阶段失败。

白名单不是“一次配置永久有效”。设备退役、序列号变更、证书到期都需要同步更新白名单。建议把白名单管理与资产管理系统联动,避免手工维护导致遗漏。

五、控制器发现与自动配置下发

通过认证后,设备正式进入控制器纳管流程。控制器根据设备序列号找到对应的站点和模板,把配置拆成几个部分依次下发:

  • 基础网络配置:管理接口、WAN 接口、隧道源地址、NTP、DNS。
  • Overlay 配置:VPN 实例、隧道接口、路由协议(如 OMP/BGP)、加密参数。
  • 策略配置:应用识别、QoS、安全策略、流量走向。
  • 监控配置:NetFlow/sFlow、SNMP、日志上报地址。

配置下发通常采用“模板 + 变量”的方式。模板定义站点共用的结构,变量则填入该站点特有的参数,例如站点 ID、LAN 网段、隧道 IP、对端控制器地址。控制器在设备上线时自动把变量渲染进模板,生成完整配置并推送。设备应用配置后,会向控制器上报状态,控制器确认设备进入“在线”状态,ZTP 流程才算完成。

下面给出一个简化的配置下发示例,展示控制器推送给分支设备的配置片段(示例参数为合理假设,非实测结果):

system
  host-name BRANCH-021
  site-id 1021
  controller 10.10.0.10
interface wan0
  ip address dhcp
  tunnel-source wan0
interface tunnel100
  ip address 172.16.21.1/30
  tunnel destination 10.10.0.10
  encryption aes256
omp
  site-id 1021
  vpn 10
  hello-interval 10
  hello-tolerance 3
policy
  qos-profile BRANCH-STD
  security-profile BRANCH-FW

设备应用配置后,控制器可以通过 OMP 邻居状态、隧道状态、接口状态判断设备是否真正上线。如果隧道建立失败,常见原因包括:WAN 口未获取到地址、控制器地址不可达、证书校验失败、白名单未登记、模板变量缺失。排障时应按 ZTP 阶段顺序逐段检查:先看 DHCP/PnP 是否返回了引导信息,再看重定向服务器是否返回了正确的控制器地址,然后看证书和白名单是否通过,最后看配置下发和隧道建立是否成功。

六、ZTP 流程中的关键检查点

阶段 关键输入 正常表现 常见失败原因
地址获取 DHCP Discover / PnP 请求 获得管理 IP 和引导信息 DHCP Option 未配置、链路不通
控制器发现 序列号、型号 返回正确控制器地址和令牌 序列号未录入、租户映射错误
身份认证 设备证书、白名单 证书校验通过、白名单命中 证书过期、白名单未登记
配置下发 模板、变量、策略 配置应用成功、隧道建立 变量缺失、模板不匹配、策略冲突

理解 ZTP 的关键,不是记住四个阶段的名称,而是理解每个阶段“谁在问、谁在答、答错了会怎样”。DHCP/PnP 解决“设备怎么开口”,重定向服务器解决“设备找谁”,证书白名单解决“控制器信不信”,控制器配置下发解决“设备最终变成什么”。四者环环相扣,任何一环断裂,ZTP 都会停在某个阶段,而排障的起点,就是判断设备当前卡在哪一环。