本文由NNIT提供。 NNIT是一家专注于全球生命科学领域的IT服务提供商,并为公有和私有行业提供全面的IT咨询、开发、实施和运维服务。在VirtualWorkplace咨询、建设与运维方面,NNIT与Citrix一直保持着良好的合作,在医药法律法规框架下,打造合规的IT体系,助力客户更好地完成数字化建设。 |
近几天,也许有人已经注意到:Citrix对于Citrix ADC、CitrixGateway和SD-WAN WANOP等产品推出了新的安全更新,详情参见:https://support.citrix.com/article/CTX276688
受影响的产品需要升级到以下版本解决vulnerability问题:
Citrix ADC and Citrix Gateway 13.0-58.30 and laterreleases
Citrix ADC and NetScaler Gateway 12.1-57.18 andlater 12.1 releases
Citrix ADC and NetScaler Gateway 12.0-63.21and later12.0 releases
Citrix ADC and NetScaler Gateway 11.1-64.14and later11.1 releases
NetScaler ADC and NetScaler Gateway 10.5-70.18 andlater 10.5 releases
Citrix SD-WAN WANOP 11.1.1a and later releases
Citrix SD-WAN WANOP 11.0.3d and later 11.0 releases
Citrix SD-WAN WANOP 10.2.7 and later 10.2 releases
Citrix Gateway Plug-in for Linux1.0.0.137 and later versions
根据官方的建议,最好的方式就是升级现有产品的firmware。关于firmware升级,Citrix官方和互联网上有很多介绍的文章,这里仅分享下我们本次做法,仅供参考,希望对大家有所启发或帮助。
提示:请在升级前认真阅读官方的注意事项。
命令行升级NetScaler (with HA setup) firmware – step by step
HA配置下的NetScaler设备或实例定义如下,
- Node 1:升级firmware之前,承载primary角色的NetScaler设备或实例
- Node 2:升级firmware之前,承载secondary角色的NetScaler设备或实例
一般来说,当在NetScaler设备或实例上使用命令行(CLI)操作时,可以使用如下命令保持会话长连接不被中断(默认5分钟断开连接)
ping -i 240 localhost (可以使用CTRL-C结束PING命令)。
1 准备工作
1.1 工具准备
- Putty:Putty是用来连接NetScaler并运行命令进行升级操作的工具。
- WinSCP:WinSCP是用来上传firmware文件和下载备份文件的工具。
- Netscaler Management GUI:NS图形界面用来进行升级前后状态确认。
1.2 firmware准备
- 新版本firmware:用来本次升级。
- 老版本firmware:即当前NetScaler上运行的版本,该firmware以备回滚操作。
1.3 其他准备
- 查看MPX软硬件兼容性矩阵表
- 如果自定义过Gateway登录页面,升级前一定要把UI theme切换到default
- 依据流程申请变更(change),对升级操作申请close window和制定具体的时间安排和升级计划,特别需要制定升级失败或问题处理预案。
- 记录设备序列号并确保拥有Citrix TS技术支持服务
2 NetScaler升级前操作步骤
2.1 禁用NetScaler HA功能
使用Putty分别连接两台NetScaler,
-
在node 1上, 执行如下命令:Set HA node -hasync disabled -haprop disabled
在node 2上, 执行如下命令:Set HA node -hasync disabled -haprop disabled
2.2 上传firmware build文件并解压该文件
使用Putty分别连接两台NetScaler,并执行如下命令和操作:
-
输入如下命令进入BSD shell:shell运行如下命令查看磁盘空间大小:
df -h确保有足够的磁盘空间存放firmwarebuild文件和解压后的文件(查看/var/挂载点可用空间即可)。如果空间不足,可以先清理/nsinstall目录下的老旧的升级文件。
-
使用如下shell命令创建新的文件夹存放新的build文件:
i. cd /var/nsinstall
ii. mkdir
iii. cd
-
使用WinSCP上传build文件到新创建的文件夹
使用shell命令解压build文件:tar –xvzf
完成解压后输入Exit退出BSD shell返回到CLI命令模式。
2.3 备份NetScaler
-
在CLI模式下,执行如下命令列出NetScaler上所有partitions:
i. sh partition
-
在每个partition上(包括默认partition),执行如下命令:
i. sw par
ii. save ns config
-
使用WinSCP连接每台NetScaler手动备份/nsconfig文件夹及其子文件夹到本地PC;手动备份自定义相关的文件(如果有)。
使用如下命令创建NetScaler系统备份:
i. sw par default
ii. create system backup CTX276688 -level full -comment
注意:如果没有设置partition,请忽略partition操作。
2.4 记录所有partitions的相关服务状态
-
在primary node, 对当前的以下服务状态截图,
i. 所有的vservers (CS and LB)
ii. 所有的services和service groups
iii. 所有的Netscaler Gateway
注意:对于部分服务较多不能一屏显示的情况,请多次截图保证记录所有服务状态。
接下来就可以进行firmware升级操作了。
3 NetScaler 升级操作步骤
整体来说,先升级node 2,然后测试node 2。如果测试成功,再升级node 1并测试node 1。
3.1 Node 2 升级
进入BSD shell并执行如下命令:
cd /var/nsinstall/
installns
firmware安装成功后,按照提示重启node 2
node 2重启完成后,使用Putty重新连接node 2。
使用GUI界面确认node 1和node 2 HA状态均为up,且synchronization状态均为Disabled (或者Auto Disabled) 。
只有当检查结果为以上状态时,在CLI命令行中执行如下命令:
force failover (出现一条HA mismatch信息, 输入Y确认执行)
3.2 Node 2 测试
1. 确认node 2当前是Primary node。
2. 与升级前的截图对比,确认node2上的每个vserver, service, service group和Netscaler Gateway服务的当前状态与升级前一致。
3. 如果所有都正确,在node2上执行如下命令:
Set HA node -hasyncdisabled -haprop disabled
如果NetScaler上涉及LB等服务过多,无法在短时间内容一一验证功能,可以保持当前状态3-5天,邮件通知客户进行相关的生产功能验证;同时可以结合现有的监控工具监控相关服务状态和检索NetScaler日志中包含影响程度高的关键字(这部分需要自定义并提前部署),确保相关责任人在第一时间发现问题并解决问题。确定没有问题后,继续升级node1。
3.3 Node 1 升级
进入BSD shell并执行如下命令:
cd /var/nsinstall/
installns
firmware安装成功后,按照提示重启node 1
4. node 1重启完成后,使用Putty重新连接node 1。
使用GUI界面确认node 1和node 2 HA状态均为up,node2上的synchronization状态是Disabled的。
只有当检查结果为以上状态时,在CLI命令行中执行如下命令:
force failover (出现一条HA mismatch信息, 输入Y确认执行)
3.4 Node 1 测试
1. 确认node 1当前是Primary node。
2. 与升级前的截图对比,确认node1上的每个vserver, service, service group和Netscaler Gateway服务的当前状态与升级前一致。
3. 如果所有都正确,在node 1和node 2上执行如下命令:
Set HA node -hasync enabled-haprop enabled
OK,升级工作全部完成。
成功升级后,确认synchronization在node 1和node2上均为enabled状态, 且node 1和node2显示正常的primary和secondary。
参考链接
Upgrade and downgrade Citrix NetScaler
ADC Upgrade Frequently Asked Questions
How to Collect Diagnostic Bundle Files from aCitrix ADC Appliance
更多精彩文章
Citrix SD-WAN 的SNAT 与 DNAT技术解析 |
迁移到 Citrix Hypervisor 8.2 LTSR的10大理由 |
Citrix Tech Talk小讲堂-MCS基本原理讲解 |
BCP案例分享:14000用户远程办公需求 |
Netscaler SAML认证两则案例解析 |