获取验证码
平时做vDefend SSP5.2的POC、实验室环境,全部靠网页点鼠标配置SSP Installer、上传介质、注册vCenter、部署SSP实例,重复操作多,效率很低。William Lam放出了社区PowerShell模块 Broadcom.Community.VDefendSSP,把从连接Installer、上传安装包、注册vCenter、前置检查、部署SSP实例,再到后续纳管NSX‑Manager整条链路全部脚本化。我自己实际跑通整套流程,本篇整理一份实战向攻略,讲清楚前置条件、分步操作、两种部署模式,以及实操踩过的坑。
有VMware全系列产品官方资源和定制版资源需求的可以移步:
Broadcom社区PowerShell模块可以端到端自动化SSP5.2 Installer配置与SSP实例部署;优先使用PRECHECK_ONLY模式做前置校验,确认全部检查通过再切START全自动部署;模块还支持自动化纳管NSX Manager;该模块属于社区贡献,非Broadcom官方正式产品,生产环境谨慎评估,优先参考官方UI部署流程。
本地工作站:PowerShell 7.x及以上版本,Windows/macOS/Linux均可;旧版PowerShell 5.1不兼容。
SSP‑Installer虚拟机已经完成部署并且网络可达。
本地存放SSP5.2 tar介质包:Security‑Services‑Platform‑for‑vDefend‑5.2.0.0.0.25669670.tar。
提前下载vCenter根CA证书(浏览器访问vCenter‑UI下载certs.zip,取出windows目录下crt证书文件)。
网络要求:工作站可以访问SSP‑Installer的HTTPS接口;Installer可以连通vCenter;DNS全部FQDN解析正常。
权限:vCenter账号需要足够权限部署虚拟机、创建资源;后面纳管NSX还需要NSX管理员账号与NSX Manager的PEM证书。
安装社区PowerShell模块
Install‑Module Broadcom.Community.VDefendSSP
如果是内网离线环境,需要先在联网机器下载模块,拷贝到本地导入。
建立到SSP Installer的会话
Connect‑SspInstaller ‑SspiHost ssp‑plat01.vcf.lab $vcCred = Get‑Credential ‑UserName '[email protected]'
执行之后弹窗输入SSP‑Installer账号密码,再输入vCenter管理员凭据。
把本地tar包上传到SSP‑Installer,BundleType固定PLATFORM。
New‑SspInstallerPackage ‑BundleType PLATFORM ‑FilePath /Volumes/Storage/Software/Security‑Services‑Platform‑for‑vDefend‑5.2.0.0.0.25669670.tar
配套查询、删除包的命令:
Get‑SspInstallerPackage Remove‑SspInstallerPackage ‑PackageId "这里填包的UUID"
上传完成,一定要记录返回的BundleId,后面部署实例必须使用这个UUID。
需要传入vCenter FQDN、凭据、vCenter根CA的crt证书文件路径。
New‑SspInstallerVcenterServer ‑VCenterServer vc01.vcf.lab ` ‑VCenterCredential $vcCred ` ‑CertificateFile /Volume/Storage/Software/vcenter/certs/win/8d867daa.0.crt
查看已经注册的vCenter列表,记录vCenterId(UUID),部署实例会用到。
Get‑SspInstallerVcenterServer
这里是整套脚本的核心,所有基础设施参数全部预先赋值。重点关注 $sspDeploymentOperation,它有两个取值:
PRECHECK_ONLY:仅执行前置预检查,不会真正部署虚拟机。推荐POC/首次部署优先使用这个。执行完可以打开SSP‑Installer网页UI查看全部检查项结果,确认全部Pass。
START:预检查通过之后,自动直接开始完整部署SSP实例,全程无交互,实现端到端自动化。只有你确认环境100%没问题再切这个值。
$sspvCenterID = "404360cc‑b489‑45a0‑99c1‑e57afdbb9db4" #来自Get‑SspInstallerVcenterServer $sspBundleId = "1630906a‑d5c0‑4041‑affc‑e9c2cfaf4fa8" #来自Get‑SspInstallerPackage $sspDeploymentOperation = "PRECHECK_ONLY" $sspDeploymentType = "ATP" $sspDeploymentSize = "MEDIUM" $sspDeploymentWorkerNodeCount = 2 $sspDeploymentResourceReservation = $false $sspDeploymentName = "vcf‑ssp" $sspDeploymentInstanceFqdn = "ssp‑inst01.vcf.lab" $sspDeploymentMessagingFqdn = "ssp‑msg01.vcf.lab" $sspDeploymentAdminPassword = "VMware1!VMware1!" $sspDeploymentAuditPassword = "VMware1!VMware1!" $sspDeploymentvCenterServer = "vc01.vcf.lab" $sspDeploymentDatacenter = "VCF‑Datacenter" $sspDeploymentCluster = "VCF‑Mgmt‑Cluster" $sspDeploymentDatastore = "nfs" $sspDeploymentStoragePolicy = "nfs‑workload‑storage‑policy" $sspDeploymentPortgroup = "DVPG_FOR_VM_MANAGEMENT" $sspDeploymentNetworkCidr = "172.30.0.0/24" $sspDeploymentGateway = "172.30.0.1" $sspDeploymentNodePool = "172.30.0.220‑172.30.0.227" $sspDeploymentServicePool = "172.30.0.201‑172.30.0.205" $sspDeploymentDnsDomain = "vcf.lab" $sspDeploymentDnsServer = "192.168.30.29" $sspDeploymentNtpServer = "96.19.94.82"
执行部署函数,提交任务,接口返回TaskId。
New‑SspInstallerDeployment ‑vCenterId $sspvCenterID ` ‑Operation $sspDeploymentOperation ` ‑DatacenterName $sspDeploymentDatacenter ` ‑ClusterName $sspDeploymentCluster ` ‑DatastoreName $sspDeploymentDatastore ` ‑StoragePolicyName $sspDeploymentStoragePolicy ` ‑EnableResourceReservation $sspDeploymentResourceReservation ` ‑VCenterServer $sspDeploymentvCenterServer ` ‑VCenterCredential $vcCred ` ‑Dns $sspDeploymentDnsServer ` ‑Ntp $sspDeploymentNtpServer ` ‑PortgroupName $sspDeploymentPortgroup ` ‑PlatformSubnet $sspDeploymentNetworkCidr ` ‑PlatformDefaultGateway $sspDeploymentGateway ` ‑NodePool $sspDeploymentNodePool ` ‑ServicePool $sspDeploymentServicePool ` ‑InstanceFqdn $sspDeploymentInstanceFqdn ` ‑MessagingFqdn $sspDeploymentMessagingFqdn ` ‑SspBundleId $sspBundleId ` ‑InstanceName $sspDeploymentName ` ‑SspType $sspDeploymentType ` ‑FormFactor $sspDeploymentSize ` ‑WorkerCount $sspDeploymentWorkerNodeCount ` ‑SearchDomain $sspDeploymentDnsDomain ` ‑AdminPassword $sspDeploymentAdminPassword ` ‑AuditPassword $sspDeploymentAuditPassword
PRECHECK_ONLY模式提交任务之后,登录SSP‑Installer网页UI,查看预检查报告,全部项目绿色通过。确认无误,再把变量改为 $sspDeploymentOperation = "START",再次运行命令,全自动拉起整套SSP实例。
SSP实例部署完成之后,可以继续用模块连接SSP实例,把NSX‑Manager纳管进来。需要提前导出NSX Manager的PEM格式TLS证书到本地。
Connect‑SspInstance ‑SspInstanceHost ssp‑inst01.vcf.lab $nsxCred = Get‑Credential ‑UserName 'admin' New‑SspInstanceNsx ‑NsxManager nsx01.vcf.lab ` ‑NsxCredential $nsxCred ` ‑CertificateFile /Volume/Storage/Software/nsx01.vcf.lab.pem
提交之后等待一分钟左右,登录SSP实例UI就可以看到NSX纳管完成,即可开始使用安全评估、流量分析功能。
⚠️ 模块属于社区贡献,非Broadcom官方正式支持组件。生产环境强烈建议优先走Web‑UI部署;自动化脚本适合实验室、POC演示、重复搭建测试环境。
⚠️PowerShell版本必须7.x,Windows自带PowerShell5.1无法加载该模块。
⚠️FQDN解析是重灾区:SSP‑Installer、SSP‑Instance、Messaging、vCenter、NSX全部FQDN必须DNS可解析,不要直接填IP地址。
⚠️证书文件:vCenter、NSX Manager必须提供正确的根证书crt/pem;证书不对会直接注册失败,没有特别友好报错。
⚠️IP地址池NodePool、ServicePool不要重叠,池内IP不能被其他设备占用,预检查会校验。
⚠️强烈建议先跑PRECHECK_ONLY,肉眼确认UI上所有检查项全部Pass,再切START全自动部署,不要上来直接START,出错排查成本很高。
⚠️密码参数写在脚本里面属于明文风险;生产环境建议用安全的凭据保管方式,不要硬编码密码在脚本文件。
⚠️离线隔离环境:Installer能够连通vCenter,但本地工作站不能访问外网,需要手动下载PowerShell模块导入。
Q:可以直接用START模式,跳过PRECHECK_ONLY吗? A:不建议第一次部署直接START。预检查会校验存储、网络、证书、IP池、DNS、NTP一大堆条件;一旦有一项失败,部署直接中断。POC环境先用PRECHECK_ONLY看UI报告。
Q:这个模块可以用于生产环境自动化交付吗? A:社区模块,没有官方支持。生产优先官方UI部署;可以拿来做测试环境CI/POC。
Q:上传包、注册vCenter失败,大部分是什么原因? A:多半是证书不对,或者FQDN解析失败,或者工作站到SSP‑Installer网络/443端口不通。
Q:纳管NSX Manager失败? A:确认NSX的PEM证书导出正确;确认SSP实例网络可以访问NSX Manager的443端口。
Q:脚本提交任务成功,但UI预检查有红色告警,怎么办? A:修改环境参数,重新执行PRECHECK_ONLY,直到全部检查项绿色。
vDefend SSP5.2社区PowerShell模块 Broadcom.Community.VDefendSSP,把SSP‑Installer配置、介质上传、vCenter注册、SSP实例部署、NSX纳管全部脚本化,对反复搭建POC、测试环境非常高效。实操最佳实践:PowerShell7环境,优先使用PRECHECK_ONLY做全套前置校验,网页UI确认检查全部通过,再切换START模式实现真正全自动部署。注意模块是社区贡献,生产环境优先官方Web‑UI流程;FQDN、证书、IP地址池、DNS/NTP是这套自动化最容易踩坑的地方。部署完SSP实例,还可以继续脚本完成NSX‑Manager纳管,完成整套vDefend测试环境交付。