图1 Horizon相关服务器在网络中的位置从Horizon 6.2版本开始,VMware推出了Unified Access Gateway 设备,可以将安全服务器替换为Unified Access Gateway 设备。
Horizon安全服务器是一个Windows应用程序(与Horizon连接服务器是同一个安装程序,只是安装的时候选择的功能组件不同),需要运行在64位Windows Server操作系统中,例如Windows Server 2012、Windows Server 2016。Unified Access Gateway 设备与vCenter Server Appliance,是一个预先配置好应用程序的VMwarePhoton Linux操作系统的虚拟机,不需要Windows Server支持。运行在Windows Server操作系统上的安全服务器,一般每月需要更新Windows操作系统补丁,更新之后需要重新启动。Unified Access Gateway 设备部署之后,除非升级版本,一般不需要打补丁或重新启动。
如果需要为Internet用户提供虚拟桌面接入服务,Horizon安全服务器与Unified Access Gateway 设备二者选一,不需要同时部署。
图2 多台连接服务器拓扑(1)用户指定连接服务器。不同部门或不同用户使用不同的连接服务器。例如网络中有3台连接服务器,IP地址依次是172.16.16.25、172.16.16.27、172.16.16.28。部门1的用户可以使用172.16.16.25;部门2的用户可以使用172.16.16.27;部门3的用户可以使用172.16.16.28。假设172.16.16.25的连接服务器有问题不能使用后,部门1的用户也可以使用172.16.16.27或172.16.16.28的连接服务器。(2)通过DNS解析实现负载均衡。Horizon Client计算机使用企业内部的DNS服务器。在DNS服务器上创建一个A记录(例如vcs.chunhai.wang)指向三台连接服务器的IP地址172.16.16.25、172.16.16.27、172.16.16.28。Horizon客户端计算机通过域名vcs.chunhai.wang使用虚拟桌面。客户端从DNS服务器查询vcs.chunhai.wang时会依次返回这三个地址。这种方法配置简单,但如果某台连接服务器出问题,例如172.16.16.27出问题,DNS服务器仍然会为vcs.chunhai.wang的域名解析返回172.16.16.27的地址,但用户此时可能无法使用172.16.16.27的连接服务器。(3)硬件负载均衡。可以为3台连接服务器配置硬件负载均衡设备,Horizon Client访问硬件负载均衡设备,由负载均衡设备提供转发或重定向服务。硬件负载均衡设备可以检查后端连接服务器的状况,如果某台连接服务器出现故障,负载均衡不会将用户的请示转到故障的连接服务器。(4)软件负载均衡。例如可以使用WindowsServer NLB。将3台连接服务器使用Windows
NLB,配置NLB的地址为172.16.16.30。Horizon Client通过访问172.16.16.30使用虚拟桌面,Windows NLB会将Horizon Client的请示重定向到合适的连接服务器。如果网络中某台连接服务器出现故障,Windows NLB会停用这台连接服务器的转发。
图4-1 连接服务器图4-1中一共4台连接服务器,这正是图2示例中的4台连接服务器。连接服务器显示名称为VCS、VCS02、VCS03、VCS04的4台服务器的IP地址依次是172.16.16.22、172.16.16.25、172.16.16.27、172.16.16.28。在“安全服务器”选项卡中显示了当前安装的安全服务器的列表、Horizon版本以及与安全服务器配对的连接服务器的名称,如图4-2所示。
图4-2 安全服务器在当前示例中有2台安全服务器,显示名称分别是VIEW、VIEW02,对应的IP地址分别是172.16.16.24、172.16.16.26,与这2台安全服务器配对的连接服务器是名称为VCS的连接服务器(对应的IP地址是172.16.16.22),这就是图1示例网络拓扑环境相关服务器的截图。在当中的示例中,在“连接服务器”选项卡中,在“连接服务器”列表中依次单击每台连接服务器,单击“编辑”按钮,查看每台连接服务器的配置,如图4-3~图4-6所示。
图4-3 VCS配置
图4-4 VCS02配置
图4-5 VCS03配置
图4-6 VCS04配置【说明】(1)VCS连接服务器用于与两台安全服务器配对,两台安全服务器分别为电信线路、联通线路。在VCS的连接服务器上配置使用安全加密链路连接计算机、使用PCoIP安全网关与计算机建立PCoIP连接、使用Blast安全网关对计算机进行所有Blast连接。(2)VCS02、VCS03、VCS04用于局域网内登录使用虚拟桌面。一般情况下只选择“使用安全加密链路连接计算机”,启用该设置后,Horizon Client 会通过此安全加密链路 (通过 HTTPS 传送 RDP 及其他数据)连接到桌面。不为局域网用户选中“使用PCoIP安全网关与计算机建立PCoIP连接”、“使用Blast安全网关对计算机进行所有Blast连接”选项。
(3)对于局域网用户,如果HorizonClient使用内部的DNS服务器,在连接服务器“使用安全加密链路连接计算机”选项中,可以用每台连接服务器的DNS名称代替IP地址,例如对于VCS02的连接服务器,可以使用https://vcs02.heuet.com代替https://172.16.16.25:443。如果选中“使用PCoIP安全网关与计算机建立PCoIP连接”、“使用Blast安全网关对计算机进行所有Blast连接”选项,“PCoIP外部URL”必须使用Horizon连接服务器的IP地址,不能用域名代替;而“Blast外部URL”可以使用域名,例如https://vcs02.heuet.com:8443,也可以使用IP地址。
(4)在当前示例中,VCS连接服务器“使用安全加密链路连接计算机”的外部URL的端口从默认的443为1443。因为对应的安全服务器的端口也是从默认的443修改为1443。要修改安全服务器与连接服务器的服务端口,需要在安全服务器与连接服务器的“C:\Program Files\VMware\VMware View\Server\sslgateway\conf”夹中,创建名为locked.properties的配置文件,配置文件内添加如下一行以修改服务端口。serverPort=1443然后重新启动连接服务器或安全服务器,并在防火墙中添加TCP的1443端口允许外网用户连接。在“安全服务器”选项卡中的“安全服务器”列表中,依次选中每台安全服务器,单击“编辑”按钮,查看每台安全服务器的配置,如图4-7、图4-8所示。
图4-7 VIEW配置
图4-8 VIEW2配置【说明】(1)名称为VIEW的安全服务器用于电信线路,在“外部URL”、“PCoIP外部URL”、“Blast外部URL”中使用防火墙电信线路的出口IP地址222.x2.x3.22。(2)名称为VIEW02的安全服务器用于联通线路,在“外部URL”、“PCoIP外部URL”、“Blast外部URL”中使用防火墙联通线路的出口IP地址221.y2.y3.253。(3)当前网络中防火墙是E2800,防火墙中将电信的IP地址222.x2.x3.22映射给172.16.16.24(名称为VIEW)的安全服务器,将联通的IP地址221.y2.y3.253映射给172.16.16.26的安全服务器,防火墙配置如图4-9所示。
图4-9 出口防火墙配置(4)安全服务器中,“外部URL”、“PCoIP外部URL”、“Blast外部URL”这三项可以是IP地址,也可以用域名代替。配置的域名需要解析成安全服务器出口映射的公网IP地址。
图5-1 添加到Active Directory(2)修改c:\windows\system32\drivers\etc\hosts配置文件,将其他连接服务器的NetBIOS名称、DNS名称解析到对应的IP地址,如图5-2所示。
图5-2 编辑hosts文件(3)然后在每台服务器上添加“网络负载平衡”,如图5-3所示。
图5-3 添加网络负载平衡(4)在第一台计算机vcs02上创建群集,设置群集的IP地址为172.16.16.30,群集操作模式为“多播”,完整Internet名称留空,如图5-4所示。
图5-4 群集配置此处记录下多播的MAC地址,本示例中为03bf-ac10-101e。稍后需要在核心交换机中将群集的IP地址172.16.16.30与MAC地址03bf-ac10-101e进行静态绑定。(5)将VCS03、VCS04添加到群集,添加之后如图5-5所示。
图5-5 配置群集完成在当前的环境中,3台连接服务器是VMwareESXi中的虚拟机。当前环境一共有4台服务器,每台服务器使用2块万兆网卡连接到2台(使用堆叠方式连接的)万兆交换机,这4台服务器连接到交换机的第14、16、18、20端口,端口配置为Trunk,允许所有VLAN通过。IP地址172.16.16.0/24属于VLAN1016。交换机的配置如下(以14端口配置为例,16、18、20端口配置与此类似)。
interface Vlanif1016ip address 172.16.16.254 255.255.255.0 arp static 172.16.16.30 03bf-ac10-101e interface GigabitEthernet0/0/14 portlink-type trunk
porttrunk allow-pass vlan 2 to 4094
mac-address multiport 03bf-ac10-101e 1016
图6-1 UAG实验环境在本示例中,Unified Access Gateway的IP地址为172.20.1.55,连接服务器的IP地址为172.20.1.51。在本示例中,防火墙(H3C F100-A-G2)映射TCP与UDP协议的443、4172、8443到UAG服务器172.20.1.55如图6-2所示。
图6-2 防火墙配置截图使用vSphere Client部署UnifiedAccess Gateway设备,选择单网络部署,在部署向导中指定设备的IP地址为172.20.1.55。部署完成后在浏览器中登录https://172.20.1.55:9443登录Unified Access Gateway,在“常规设置”中单击“Edge服务设置”,单击“Horizon设置”,在“Horizon设置”对话框中启用Horizon,然后进行配置。在本示例中,配置信息如下。
连接服务器URL:https://vcs01.heuet.com:443连接服务器URL指纹 sha1=c506 4e 28 10 de a7 45 98 39 e2 3f 14 61 c8 a9 c7 04 9f be
连接服务器IP模式:IPv4启用PCoIP、禁用PCoIP旧版证书PCoIP外部URL:110.x2.x3.115:4172Blast外部RUL:https://vdi.heuet.com设置之后单击“保存”按钮,如图6-3所示。
图6-3 Horizon设置登录Horizon控制台,在“设置→服务器→连接服务器”中,选择名为vs01的连接服务器,选择“编辑”,在“编辑连接服务器设置”对话框中,取消PCoIP安全网关与Blast安全网关的选择,如图6-4所示。
图6-4 不使用PCoIP安全网关和Blast安全网关Unified Access Gateway与安全服务器配置的不同之处有以下几点。(1)不能使用TCP的443端口时的配置区别。如果运营商屏蔽了TCP的443端口,可以使用443以外的端口,例如使用1443。在这种情况下,只需要在防火墙配置中,将防火墙外网IP地址的TCP的1443映射给UnifiedAccess Gateway设备IP地址的443端口,Unified Access Gateway设备与Horizon连接服务器仍然使用TCP的443端口。这是Unified
Access Gateway与安全服务器配置不一样的地方。
如果使用443以外的端口,例如使用1443,需要在防火墙上将1443映射给安全服务器同端口(1443),同时安全服务器与连接服务器需要修改配置文件使用1443。(2)PCoIP外部URL的配置区别。在Unified Access Gateway设备中的Horizon设置中,Blast外部URL可以使用域名或IP地址,但PCoIP外部URL只能使用IP地址,不能使用域名。Horizon安全服务器配置中,PCoIP外部URL地址可以使用域名。所以,如果用户出口使用动态的IP地址,在使用域名绑定动态的IP地址时,在Horizon安全服务器中,PCoIP外部URL可以使用域名来解析动态的IP地址,此时Horizon客户端可以使用PCoIP协议使用内网的虚拟桌面。但如果使用Unified Access Gateway设备代替安全服务器,Horizon客户端只能使用Blast协议使用内网的虚拟桌面。图6-5是某用户Unified Access Gateway的“Horizon设置”中,只启用Blast协议的配置截图。
图6-5 不启用PCoIP(3)PCoIP与Blast网关的配置位置不同。如果使用Unified Access Gateway设备,PCoIP与Blast安全网关上移到UnifiedAccess Gateway设备,在对应的Horizon连接服务器中不要指定PCoIP与Blast配置。
使用Horizon安全服务器,是将HorizonClient对PCoIP与Blast的服务转发到与安全服务器配对的连接服务器,所以需要在连接服务器上指定PCoIP与Blast配置。
相关图书或视频 VMware虚拟化与云计算应用案例详解(第3版)https://item.jd.com/12939315.html VMware Horizon虚拟桌面应用指南https://item.jd.com/13038424.html VMware Horizon 8 桌面虚拟化入门https://edu.51cto.com/course/28118.html 使用NVIDIA RTX8000配置GPU的虚拟桌面https://edu.51cto.com/sd/952a9我正在尝试使用ruby和Savon来使用网络服务。测试服务为http://www.webservicex.net/WS/WSDetails.aspx?WSID=9&CATID=2require'rubygems'require'savon'client=Savon::Client.new"http://www.webservicex.net/stockquote.asmx?WSDL"client.get_quotedo|soap|soap.body={:symbol=>"AAPL"}end返回SOAP异常。检查soap信封,在我看来soap请求没有正确的命名空间。任何人都可以建议我
我想安装一个带有一些身份验证的私有(private)Rubygem服务器。我希望能够使用公共(public)Ubuntu服务器托管内部gem。我读到了http://docs.rubygems.org/read/chapter/18.但是那个没有身份验证-如我所见。然后我读到了https://github.com/cwninja/geminabox.但是当我使用基本身份验证(他们在他们的Wiki中有)时,它会提示从我的服务器获取源。所以。如何制作带有身份验证的私有(private)Rubygem服务器?这是不可能的吗?谢谢。编辑:Geminabox问题。我尝试“捆绑”以安装新的gem..
我正在使用Sequel构建一个愿望list系统。我有一个wishlists和itemstable和一个items_wishlists连接表(该名称是续集选择的名称)。items_wishlists表还有一个用于facebookid的额外列(因此我可以存储opengraph操作),这是一个NOTNULL列。我还有Wishlist和Item具有续集many_to_many关联的模型已建立。Wishlist类也有:selectmany_to_many关联的选项设置为select:[:items.*,:items_wishlists__facebook_action_id].有没有一种方法可以
我正在编写一个小脚本来定位aws存储桶中的特定文件,并创建一个临时验证的url以发送给同事。(理想情况下,这将创建类似于在控制台上右键单击存储桶中的文件并复制链接地址的结果)。我研究过回形针,它似乎不符合这个标准,但我可能只是不知道它的全部功能。我尝试了以下方法:defauthenticated_url(file_name,bucket)AWS::S3::S3Object.url_for(file_name,bucket,:secure=>true,:expires=>20*60)end产生这种类型的结果:...-1.amazonaws.com/file_path/file.zip.A
我有一个在Linux服务器上运行的ruby脚本。它不使用rails或任何东西。它基本上是一个命令行ruby脚本,可以像这样传递参数:./ruby_script.rbarg1arg2如何将参数抽象到配置文件(例如yaml文件或其他文件)中?您能否举例说明如何做到这一点?提前谢谢你。 最佳答案 首先,您可以运行一个写入YAML配置文件的独立脚本:require"yaml"File.write("path_to_yaml_file",[arg1,arg2].to_yaml)然后,在您的应用中阅读它:require"yaml"arg
最近,当我启动我的Rails服务器时,我收到了一长串警告。虽然它不影响我的应用程序,但我想知道如何解决这些警告。我的估计是imagemagick以某种方式被调用了两次?当我在警告前后检查我的git日志时。我想知道如何解决这个问题。-bcrypt-ruby(3.1.2)-better_errors(1.0.1)+bcrypt(3.1.7)+bcrypt-ruby(3.1.5)-bcrypt(>=3.1.3)+better_errors(1.1.0)bcrypt和imagemagick有关系吗?/Users/rbchris/.rbenv/versions/2.0.0-p247/lib/ru
在Rails4.0.2中,我使用s3_direct_upload和aws-sdkgems直接为s3存储桶上传文件。在开发环境中它工作正常,但在生产环境中它会抛出如下错误,ActionView::Template::Error(noimplicitconversionofnilintoString)在View中,create_cv_url,:id=>"s3_uploader",:key=>"cv_uploads/{unique_id}/${filename}",:key_starts_with=>"cv_uploads/",:callback_param=>"cv[direct_uplo
我使用的是Firefox版本36.0.1和Selenium-Webdrivergem版本2.45.0。我能够创建Firefox实例,但无法使用脚本继续进行进一步的操作无法在60秒内获得稳定的Firefox连接(127.0.0.1:7055)错误。有人能帮帮我吗? 最佳答案 我遇到了同样的问题。降级到firefoxv33后一切正常。您可以找到旧版本here 关于ruby-无法在60秒内获得稳定的Firefox连接(127.0.0.1:7055),我们在StackOverflow上找到一个类
我已经在Sinatra上创建了应用程序,它代表了一个简单的API。我想在生产和开发上进行部署。我想在部署时选择,是开发还是生产,一些方法的逻辑应该改变,这取决于部署类型。是否有任何想法,如何完成以及解决此问题的一些示例。例子:我有代码get'/api/test'doreturn"Itisdev"end但是在部署到生产环境之后我想在运行/api/test之后看到ItisPROD如何实现? 最佳答案 根据SinatraDocumentation:EnvironmentscanbesetthroughtheRACK_ENVenvironm
我想在Ruby中创建一个用于开发目的的极其简单的Web服务器(不,不想使用现成的解决方案)。代码如下:#!/usr/bin/rubyrequire'socket'server=TCPServer.new('127.0.0.1',8080)whileconnection=server.acceptheaders=[]length=0whileline=connection.getsheaders想法是从命令行运行这个脚本,提供另一个脚本,它将在其标准输入上获取请求,并在其标准输出上返回完整的响应。到目前为止一切顺利,但事实证明这真的很脆弱,因为它在第二个请求上中断并出现错误:/usr/b