热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

VMwareView虚拟桌面“黑屏”解决方案

我们在使用VMware的时候经常会遇到ViewClient登陆屏幕变黑,然后会话终止,那么如何解决呢,下面我们就来探讨下

在部署VMware Horizon View虚拟桌面的时候,初学者最容易碰到的一个问题是"黑屏":连接到发布的虚拟桌面后,会显示为黑屏,等待一会之后自动断开连接。对于View桌面的黑屏,主要原因就是View安全服务器、View连接服务器及防火墙映射的端口不对造成的。为了详细的说明这个问题,我们以几个案例为例进行介绍,读者可以参考本文提到的拓扑、计算机名称、域名、IP地址,对比你的网络,例如,对于第1个案例的记录如表1-1所示。在后面的操作中,用你的IP地址、域名、代替文中的IP地址、域名即可。

表1-1 示例IP地址或域名与你的信息

在图1的案例中,heuet.com是在Internet申请的合法域名,其中名为view的A记录,指向防火墙外网的IP地址222.223.233.162。在View连接服务器所在的企业局域网内,也使用域名heuet.com,内部DNS地址为172.30.6.1。View连接服务器加入到heuet.com的域,是域中的成员服务器,而Composer与View安全服务器,则不需要加入到域。View连接服务器、安全服务器、Composer服务器都是一个网卡。

【说明】许多初学者在规划网络的时候,将"View安全服务器"配置为两个网卡,一个网卡是局域网的IP地址,另一个网卡配置广域网的IP地址,连接Internet。在这种规划中,将View安全服务器当成NAT设备,这样的规划是不正确的。View安全服务器需要由出口的防火墙进行转发,而不是处于网络的边缘。


图1 单台View连接服务器、单外网IP的拓扑图

在图1中,处于Internet的用户,如果想访问View桌面,则需要有两种方式:

以HTML以Web方式访问:https://view.heuet.com。

使用Horizon View Client,则登录地址为view.heuet.com。

Internet的用户,需要将view.heuet.com的域名解析成222.223.233.162,如果你的DNS解析不能生效,将编辑本机hosts文件(默认保存在c:\windows\system32\drivers\etc\hosts),添加以下一行:

222.223.233.162 View.heuet.com

对于局域网内的用户,只要DNS设置为172.30.6.1,则可以使用vcs.heuet.com访问View桌面,此时只需要"View连接服务器",不需要View安全服务器。在局域网内,vcs.heuet.com会解析到172.30.6.2。

了解了拓扑关系,我们分别介绍View连接服务器、防火墙(或路由器)的配置。

1.1 在View Administrator界面配置

在安装好View安全服务器之后,登录View Administrator管理界面,检查并配置View连接服务器、View安全服务器,主要步骤如下。

(1)登录View Administrator,在"View配置→服务器"清单中,在"连接服务器"选项卡中,单击"编辑"按钮,如图2所示。


图2 编辑连接服务器

(2)在"编辑View连接服务器设置"对话框,在"标记"文本框中为View连接服务器设置一个标记,如vcs,View连接服务器为局域网用户提供服务的配置截图如图3所示,设置之后单击"确定"按钮。

【注意】在输入IP地址及端口时,以及用到的冒号(:)都应该是英文半角字符,不能使用中文或全角字符。

选中"使用安全加密链路连接计算机",在"外部URL"中输入当前View连接服务器的DNS名称,在此为https://vcs.heuet.com:443,在此必须要使用域名。

选中"PCoIP安全网关",在"PCoIP外部URL"中输入连接服务器的IP地址,在本示例为172.30.6.2:4172。

选中"使用Blast安全网关对计算机进行HTML Access",在"Blast外部URL"中以View连接服务器域名方式输入,本示例为

https://vcs.heuet.com:8443。

图3 编辑连接服务器设置

(3)返回到View Administrator,在"安全服务器"中单击"编辑"按钮,如图4所示。

图4 编辑安全服务器

(4)在"编辑安全服务器-VIEW"对话框中,

在"HTTP(S)安全加密链路"选项中,以域名的方式,输入发布到Internet的域名及端口,在此输入https://view.heuet.com:443;

在"PCoIP安全网关"选项中,以IP地址的方式,输入外部URL,在本示例中为222.223.233.162:4172。

在"Blast安全网关"选项中,以域名的方式输入,在本示例中为https://view.heuet.com:8443。

设置之后,单击"确定"按钮,如图5所示。


图5  编辑View安全服务器

1.2  修改路由器发布View安全服务器到Internet

最后防火墙或路由器,将TCP的443、8443端口、TCP与UDP的4172端口映射到View安全服务器的IP地址,本例为172.16.17.51,我们以TP-LINK路由器为例进行介绍。

(1)登录路由器的管理界面,在"转发规则→虚拟服务器"中,单击"添加新条目",如图6所示。

图6 添加新条目

(2)在"服务器端口号"文本中输入第一个映射的端口443,IP地址为View安全服务器的地址172.16.17.51,协议选择TCP,然后单击"保存"按钮,如图7所示。

图7 添加443端口的映射

也有的TP-LINK路由器,在做端口转发的时候,可以设置"外部端口"、"内部端口"及端口范围,例如TL-ER5120,如果这种路由器,外部端口(外网IP映射的端口,本示例中为222.223.233.162)写443-443(表示只使用443这个端口),内部端口(映射到的内部IP地址,本示例中为172.16.17.51)写443-443,如图8所示。


图8 外部端口、内部端口

此功能可以将外部端口映射到内部不同的端口。例如你可以将外网222.223.233.162的1234映射到内网172.16.17.51的2345。如果进行此类映射,则访问222.223.233.162:1234将访问172.16.17.51的2345端口。

(3)之后再添加4172、8443到172.16.17.51的映射,其中在添加端口4172的映射时需要选择ALL(包括TCP与UDP协议),添加之后如图9所示。

图9 添加映射

经过这样设置,Horizon View Client,在使用域名view.heuet.com访问View桌面时,只要view.heuet.com域名能正确解析、网络连接正常,就可以访问到路由器后面的View桌面。这些内容不再介绍。


推荐阅读
  • 本文详细介绍了在PHP中如何获取和处理HTTP头部信息,包括通过cURL获取请求头信息、使用header函数发送响应头以及获取客户端HTTP头部的方法。同时,还探讨了PHP中$_SERVER变量的使用,以获取客户端和服务器的相关信息。 ... [详细]
  • 本文详细介绍了PHP中的几种超全局变量,包括$GLOBAL、$_SERVER、$_POST、$_GET等,并探讨了AJAX的工作原理及其优缺点。通过具体示例,帮助读者更好地理解和应用这些技术。 ... [详细]
  • 本文详细介绍了Socket在Linux内核中的实现机制,包括基本的Socket结构、协议操作集以及不同协议下的具体实现。通过这些内容,读者可以更好地理解Socket的工作原理。 ... [详细]
  • 2023年1月28日网络安全热点
    涵盖最新的网络安全动态,包括OpenSSH和WordPress的安全更新、VirtualBox提权漏洞、以及谷歌推出的新证书验证机制等内容。 ... [详细]
  • 本文详细介绍了如何在PHP中使用Memcached进行数据缓存,包括服务器连接、数据操作、高级功能等。 ... [详细]
  • MKVToolNix 37.0.0 正式发布:增强的 MKV 格式处理工具
    MKVToolNix 37.0.0 版本现已推出,这是一款专为处理 Matroska (MKV) 格式的强大工具。它能够将各种视频、音频及字幕格式整合进 MKV 文件中。本次更新带来了新的功能和多项 Bug 修复。 ... [详细]
  • Git版本控制基础解析
    本文探讨了Git作为版本控制工具的基本概念及其重要性,不仅限于代码管理,还包括文件的历史记录与版本切换功能。通过对比Git与SVN,进一步阐述了分布式版本控制系统的独特优势。 ... [详细]
  • LoadRunner中的IP欺骗配置与实践
    为了确保服务器能够有效地区分不同的用户请求,避免多人使用同一IP地址造成的访问限制,可以通过配置IP欺骗来解决这一问题。本文将详细介绍IP欺骗的工作原理及其在LoadRunner中的具体配置步骤。 ... [详细]
  • 本文探讨了在使用 MyBatis 进行批量数据处理时遇到的参数绑定异常问题,并提供了详细的解决方案。 ... [详细]
  • 使用 ModelAttribute 实现页面数据自动填充
    本文介绍了如何利用 Spring MVC 中的 ModelAttribute 注解,在页面跳转后自动填充表单数据。主要探讨了两种实现方法及其背后的原理。 ... [详细]
  • 本文详细介绍了如何在Windows和Linux系统上配置Openfire服务器,包括安装步骤、数据库配置及端口映射等关键环节。 ... [详细]
  • 利用Docker部署JupyterHub以支持Python协同开发
    本文介绍了如何通过Docker容器化技术安装和配置JupyterHub,以实现多用户的Python开发环境,特别适合团队协作场景。 ... [详细]
  • 页面预渲染适用于主要包含静态内容的页面。对于依赖大量API调用的动态页面,建议采用SSR(服务器端渲染),如Nuxt等框架。更多优化策略可参见:https://github.com/HaoChuan9421/vue-cli3-optimization ... [详细]
  • Windows环境下Oracle数据库迁移实践
    本文详细记录了一次在Windows操作系统下将Oracle数据库的控制文件、数据文件及在线日志文件迁移至外部存储的过程,旨在为后续的集群环境部署做好准备。 ... [详细]
  • 如何高效学习鸿蒙操作系统:开发者指南
    本文探讨了开发者如何更有效地学习鸿蒙操作系统,提供了来自行业专家的建议,包括系统化学习方法、职业规划建议以及具体的开发技巧。 ... [详细]
author-avatar
吉樺雄_910
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有