VMware NSX Manager SSL证书更新
安装 NSX 后,管理器节点和集群具有自签名证书。证书有效期为825天,到期后需要进行证书重新更新。
如图所示,本环境中此次将有三个类型的证书即将到期需要替换:
1.NSX 联合身份验证 PI(LocalManager)证书- 在 NSX 全局管理器和本地管理器之间使用;用于本地管理器,该特定本地管理器的 PI 证书。
2.NSX Manager 群集/VIP(mp-cluster) 证书 – 与群集虚拟 IP 一起使用,每个群集一个证书;用于与全局管理器或本地管理器集群的 VIP 之间的 UI/API 通信。
3.NSX 管理器节点Tomcat证书 – 此证书用于单个管理节点IP, 用于与单个全局管理器以及添加到全局管理器的每个位置的本地管理器节点之间的 UI/API 通信。(本环境中共有三个管理节点:nsxm01/nsxm02/ nsxm03,因此需要更新5个证书)。
下面将介绍使用NSX自签名方式来申请和替换即将到期的证书。
一、记录要更新证书的名称和DN字符串
从浏览器中,使用管理员特权登录到 NSX Manager,网址为 https://<naxmgr>。
选择系统 > 证书。
单击 证书。
记录要更新证书的名称和DN字符串,用于生成 CSR文件。
点击证书名称记录证书名称与DN 字符串
名称:LocalManager
DN 字符串:CN=local-manager,O=VMware,L=PaloAlto,ST=California,C=US
名称:mp-cluster certificate for node nsxm01
DN 字符串:CN=nsxm01,OU=NSX,O=VMware Inc.,L=Palo Alto,ST=CA,C=US
名称:tomcat certificate for node nsxm01(三个Manager 只是证书名称不一致)
DN 字符串CN=nsxm01,OU=NSX,O=VMware Inc.,L=Palo Alto,ST=CA,C=US
二、生成自签名证书
选择系统 > 证书。
单击 CSR 选项卡。
单击生成 CSR。
填写 CSR 文件详细信息。(建议与当前证书信息保持一致)。
LocalManager CSR 文件生成
mp-cluster CSR 文件生成
NSX Manager CRS证书生成(如果有三个Manager需要生成三个CSR文件名称为tomcat certificate for node “NSX Manager 主机名”)
所有CSR生成文件如下图:
选择一个 CSR。
选择操作 > CSR 的自签名证书。
输入自签名证书的有效天数。
默认值为 825 天。即使您对以前生成的自签名证书更改此值,每次生成新证书时也会显示默认值。
重复上述步骤,为另外4个添加CSR自签名证书,添加完成后如下图所示
三、替换证书
使用管理员特权登录到 NSX Manager,选择选择”系统> 证书“,定位到需要替换的证书ID所在的单元格,双击可查看完整ID。(上图中标记1-5的证书文件需要记录证书ID)
通过使用root用户SSH登录到其中一个NSX Manager 中
1. 替换NSX 联合身份验证 PI(LocalManager)证书
curl -k -u 'admin:Password' -H "Content-Type: application/json" -X POST https://<nax-mgr>/api/v1/trust-management/certificates?action=set_pi_certificate_for_federation -d '{"cert_id":"<certificate-id>","service_type":"LOCAL_MANAGER"}'
2. 替换NSX Manager 群集/VIP(mp-cluster) 证书
curl -k -u 'admin:password' -X POST "https://<nax-mgr>/api/v1/cluster/api-certificate?action=set_cluster_certificate&certificate_id=<certificate-id>"
3.替换NSX 管理器节点Tomcat证书(三个NSX Manager 都需要进行替换)
curl -k -u 'admin:password' -X POST "https://<naxmgr>/api/v1/node/services/http?action=apply_certificate&certificate_id=<certificate-id>"
4.验证证书
curl -k -u 'admin:password' -X GET "https://<naxmgr>/api/v1/trust-management/certificates/<certificate-id>?action=validate"
命令执行如下(密码,NSX Manager ip,证书ID 需要换成自己环境的):
# 1. 替换NSX 联合身份验证 PI(LocalManager)证书
curl -k -u 'admin:VMware1!VMware1!' -H "Content-Type: application/json" -X POST https://192.168.210.111/api/v1/trust-management/certificates?action=set_pi_certificate_for_federation -d '{"cert_id":"a7e5cb66-11b7-48c2-a3bc-91f3fb599cf1","service_type":"LOCAL_MANAGER"}'
# 2. 替换NSX Manager 群集/VIP(mp-cluster) 证书
curl -k -u 'admin:VMware1!VMware1!' -X POST "https://192.168.210.111/api/v1/cluster/api-certificate?action=set_cluster_certificate&certificate_id=885af96a-2405-491b-9004-ab27966b7633"
# 3.替换NSX 管理器节点Tomcat证书(替换不同的NSX Manager证书,需更改Manager IP)
curl -k -u 'admin:VMware1!VMware1!' -X POST "https://192.168.210.111/api/v1/node/services/http?action=apply_certificate&certificate_id=c88af6d1-1752-4dea-be8b-33dddc3a2904"
curl -k -u 'admin:VMware1!VMware1!' -X POST "https://192.168.210.112/api/v1/node/services/http?action=apply_certificate&certificate_id=44b39f81-ffa4-436d-96b4-b3ff67a5d954"
curl -k -u 'admin:VMware1!VMware1!' -X POST "https://192.168.210.113/api/v1/node/services/http?action=apply_certificate&certificate_id=34496adf-f8fe-4f02-9177-11901f142f57"
# 4.验证证书
curl -k -u 'admin:VMware1!VMware1!' -X GET "https://192.168.210.111/api/v1/trust-management/certificates/a7e5cb66-11b7-48c2-a3bc-91f3fb599cf1?action=validate"
curl -k -u 'admin:VMware1!VMware1!' -X GET "https://192.168.210.111/api/v1/trust-management/certificates/885af96a-2405-491b-9004-ab27966b7633?action=validate"
curl -k -u 'admin:VMware1!VMware1!' -X GET "https://192.168.210.111/api/v1/trust-management/certificates/c88af6d1-1752-4dea-be8b-33dddc3a2904?action=validate"
curl -k -u 'admin:VMware1!VMware1!' -X GET "https://192.168.210.111/api/v1/trust-management/certificates/44b39f81-ffa4-436d-96b4-b3ff67a5d954?action=validate"
curl -k -u 'admin:VMware1!VMware1!' -X GET "https://192.168.210.111/api/v1/trust-management/certificates/34496adf-f8fe-4f02-9177-11901f142f57?action=validate"
执行结果如下图:
检查证书更新状态(三个NSX Manager 以及VIP登录查看证书)
删除已替换过的SSL证书(若在使用中的SSL证书无法删除)
此时NSX Manager SSL证书更新完成