使用 Phone-Home 客户端获取配置和软件映像,无需用户干预
电话主客户端 (PHC) 使设备或虚拟机实例能够安全地获取引导数据,例如配置或软件映像,除了必须将设备或虚拟机实例物理连接到网络外,无需用户干预。
先决条件
PHC 依赖于以下软件和实用程序来运行:
-
与重定向服务器和电话主服务器 (PHS) 的连接
-
DHCP 客户端
注意:vSRX 虚拟防火墙不支持基于 DHCP 的 ZTP。
-
配置提交的 SLAX 支持
-
Python 支持
-
Curl 支持
-
出厂默认配置
-
检索设备序列号的机制
-
用于验证软件映像的 SHA1/MD5 实用程序
-
GREP 和 AWK 等基本实用程序
了解 Phone-Home 客户端
PHC 使设备或虚拟机实例能够安全地获取引导数据,如配置或软件映像,无需用户干预,只需将设备物理连接到网络。设备或 VM 实例首次启动时,PHC 连接到重定向服务器,然后重定向到 PHS 以获取配置或软件映像。
与基于 DHCP 的 ZTP 类似,设备或虚拟机实例必须处于出厂默认状态,PHC 才能预配设备。如果设备未处于出厂默认状态,可以发出 request system zeroize
命令使设备恢复为出厂默认状态。
了解重定向服务器配置
默认情况下,出厂默认配置包括重定向服务器 URL,该 URL 为 https://redirect.juniper.net。
了解 phone-home 客户端与基于 DHCP 的 ZTP 之间的互作性
若要避免这两种预配方法之间的冲突,请在设备或 VM 实例启动时执行以下步骤:
vSRX 虚拟防火墙不支持基于 DHCP 的 ZTP。
如果设备未处于出厂默认模式,则不会启动配置。如果设备未处于出厂默认模式,请发出 request system zeroize
命令。
vSRX 虚拟防火墙不支持命令 request system zeroize
。
-
如果 DHCP 客户端收到部分或全部 DHCP 选项,PHC 将终止,基于 DHCP 的 ZTP 会尝试配置设备,直到成功为止。
-
如果 DHCP 客户端未收到 DHCP 选项,PHC 会尝试调配设备,直到成功为止。
但是,如果 PHC 无法连接到重定向服务器,则基于 DHCP 的 ZTP 会尝试配置设备。这两种预配方法都会尝试预配设备,直到一种方法成功。
了解 Phone-Home 客户端进程
启动PHC时将采取以下步骤:
PHC 连接到重定向服务器。
-
设备或虚拟机实例从 PHS 下载并安装软件映像。
如果软件升级失败,该过程将重新开始。
-
设备或 VM 实例重新启动,PHC 在设备重新联机时验证已安装的软件映像。
-
设备或虚拟机实例将下载配置。
如果在配置过程中收到了脚本(预配置脚本和/或配置后脚本),则会发生以下情况:
注意:PHC 支持 Python 和 shell 脚本。
将执行预配置脚本。
已提交从重定向服务器收到的配置。
配置后脚本随即执行。
PHC 向 PHS 发送引导完成消息。
PHC 清理下载的资源。
-
现有 phone-home 配置以及任何支持配置将被设备或 VM 实例上的新配置覆盖。
如果上述任一步骤失败,则 phone-home 进程将从头开始,并向 PHS 发送引导失败错误消息。
了解 phone-home 客户端的配置文件格式
PHC 支持 XML 作为配置文件的文件格式。
例如,配置文件格式如下所示:
<configuration> [ Configuration in XML format ] </configuration>
目前,PHC 接收的配置仅 merge
支持和 override
CLI 命令。
了解预配置和配置后脚本
除了使用 Junos OS CLI 之外,您还可以在 PHS 上包含预配置和配置后脚本,或者代替使用 CLI。以 base64 编码格式嵌入脚本。PHC 从从 PHS 接收的引导信息中提取编码脚本,解码,然后在适当的配置阶段运行解码脚本。
验证 Phone-Home 客户端是否下载了配置和软件映像
要验证 phone-home 进程的进度,您可以在 PHS 上查看文件 notification.xml
。
变更历史表
是否支持某项功能取决于您使用的平台和版本。使用 功能浏览器 查看您使用的平台是否支持某项功能。