标签 horizon 下的文章

  之前写过两篇Horizon Linux虚拟桌面的文章

1,Horizon系列之安装配置CentOS7虚拟桌面

2,Horizon系列之安装配置Ubuntu18虚拟桌面

  第一篇是基于winbind 使用smb加域进行域用户验证,第二篇是通过开源软件PBISO来加域。这两种模式都需要虚拟机加域,如果桌面多,则域的维护工作较重,今天就基于一种轻量级的目录访问协议LDAP来做域用户的验证,它的原理很简单,使用Linux系统内置的系统安全服务守护进程 (System Security Services Daemon, SSSD)通过LDAP和域控通信。通过只读方式,读取域用户,来实现Linux桌面用户的管理和登录,且虚拟机不用加域,只需要虚拟机和域控通过ldap协议通信即可,易维护。如果对安全系数要求较高,还可以建立只读普通域用户,授权对特定的OU为只读模式,但是前期配置步骤稍微有点多,此文主要以如何让Linux7和域控通过ldap协议通信,并且实现Linux下常用的sudo权限。

[scode type="blue"]
软件版本:Centos7.6 horizon 7.9,horizon从7.2开始支持SSSD和LDAP验证
域名:lzuvdi.local
域控制器:ad.lzuvdi.local
[/scode]

虚拟机须禁用ipv6,禁用virbr0,禁用NMtool,并配置默认搜索域和DNS,具体操作看这里Horizon系列之安装配置CentOS7虚拟桌面

一,准备CA证书

安装域证书看这里,Horizon系列之替换各组件自签名SSL证书

1,导出CA证书

打开证书颁发机构,右键选择域证书,点击所有任务,单击备份CA,下一步

60107-9cf9mc7z516.png

勾选私钥和CA证书和证书数据库和证书数据库日志,选择保存位置,下一步

01991-ilkoq8xdbk.png

密码选项留空,设置密码也可以,但是必须要记住,后面要用到。下一步,单击完成备份。

05023-kpm8omd83s.png

2,安装SSSD和LDAP组件

yum install -y sssd nss-pam-ldapd sssd-ad sssd-tools

94349-wxymgiuur1h.png

3,生成所需文件和目录

authconfig --enablesssd --enablesssdauth --enableldap --enableldapauth --disableforcelegacy --enableldaptls --disablekrb5 --ldapserver ldap://ad.lzuvdi.local --ldapbasedn "dc=lzuvdi,dc=local" --enablemkhomedir --update

然后

systemctl restart sssd

4,把第1步备份的CA证书上传到/etc/openldap/cacerts

43741-jwfog4bi52.png

5,转换证书为LDAP可识别的证书格式

openssl pkcs12 -in lzuvdi-AD-CA.p12 -out ad.pem

第一次提示输入备份时设置的密码,我备份CA时密码为空,则这里也留空。第二次提示设置一个PEM证书的密码,输入即可。

12839-e4viebz4ws.png

75778-6nqn0dt5gz7.png

二,配置LDAPS

1,打开ldp.exe

83075-0iphj7o0oxnm.png

2,点击左上角连接,单击连接,端口输入636,勾选SSL,单击确定。

50979-25tejguai8p.png

此时左上角的链接已变为ldaps

3,点击左上角连接,单击绑定,勾选作为当前已登录用户绑定,单击确定。

37841-zcmyce6sbjo.png

4,点击浏览-搜索,在DN一栏输入域控DC和OU信息,进行查询,如我建立的VDI_Users

67708-omviakvwz8p.png

5,正常查询到我建立的65个用户

51135-tlwwawmswk.png

此时,说明LDAPS正常工作

[scode type="blue"]下面关键内容仅对打赏用户开放,之前通过微信打赏的用户,微信联系我获取密码,谢谢![/scode]

  这几天在做horizon桌面,凭着之前的经历,一路下一步,风雨无阻。哼着小曲在view管理界面添加vc后再添加composer,继续添加域,报错如下:

60432-eiup77u6wua.png

按照之前经验,先跳过,添加完vc 后再添加composer,结果还是一样的报错。尝试其他方法无果,包括尝试域用户格式,lzuvdi\administratoradministrator@lzuvdi.com,想到的想不到的都测试过,不行!最后我把域控制器重新安装一遍,之前的域名是lzuvdi.cn,现在改为了lzuvdi.local,还是报错如下,

91487-v8o7dpljo0b.png

这是我之前从来没遇到过的境地,让我陷入了沉思,求助前辈,他说你试试解决证书问题,一顿操作之后,一步到位,成功添加。

02570-lrk27ghc7fk.png

如何更换horizon 组件证书看这里 Horizon系列之替换各组件自签名SSL证书

一,VMware Horizon View 的内部版本号和版本对应关系

二,NVIDIA虚拟GPU软件支持的GPU列表

三,Dell 服务器 ESXi返回/无法初始化nvml:未知错误 NVIDIA GPU

四,Horizon系列之安装配置CentOS7虚拟桌面

五,Horizon系列之安装配置Ubuntu18虚拟桌面

六,Horizon系列之CentOS虚拟桌面安装配置VGPU

七,Horizon系列之Ubuntu虚拟桌面安装配置VGPU

八,VGPU License服务器高可用部署方案详细教程

九,Horizon系列之安装配置Windows Server 2016 RDS桌面

十,NVIDIA VGPU软件功能参数对比

十一,Horizon系列之替换各组件自签名SSL证书

做完horizon桌面以后,在仪表板中的系统运行状态里会有提示,连接服务器的ssl证书无效。

如果需要更换vSphere自带的SSL证书看这里VMware之使用自签名证书替换vSphere各组件自带SSL证书

10712-zn8wqsvpvl9.png

如果安装了安全服务器,也会有提示

58441-olrwiejx28q.png

如果配置了事件数据库,在事件日志中也会有相应的提示

53438-78rvlvr6x64.png

这里可以使用域证书服务来解决这个问题。

一,安装配置CA服务器

安装一台Windows server 2016虚拟机,更改主机名,然后加域,也可以直接在域控中安装证书服务。

59588-761h5wdvlhk.png

1,安装域证书服务

服务器角色中选择Active Directory证书服务,下一步

28611-gm9jyhwau18.png

角色服务中选择证书颁发机构证书颁发机构Web注册,下一步,直至安装完成

89955-g1ptt0fkr3b.png

在服务器管理中打开配置证书服务

05630-rysvaplqz4.png

选择证书颁发机构证书颁发机构Web注册(选择web注册是为了方便后面通过网页申请证书),下一步

53407-9xfkvnvh6rh.png

选择企业CA,下一步,选择根CA

16295-xyqn9rdzl9.png

选择创建新的私钥

06433-gdxsviurb9p.png

密钥长度2048

37664-kl817rutgq.png

其他默认即可,下一步直至安装完成。

08268-xj5dq11hv3p.png

二,配置CA模板

1,在服务器管理器中,打开证书颁发机构,右键单击证书模板,单击管理,打开证书模板控制台

78273-5xrcyfnyw4a.png

右键单击Web 服务器,选择复制模板

11620-jpa3iray69.png

2,单击常规选项卡,在模板显示名称字段中,输入 Horizon 作为新模板的名称。

67816-1714mu9b203.png

3,单击兼容性选项卡,证书颁发机构选择Windows Server 2016,证书接收人选择Windows 7 / Server 2008 R2,如果是其他版本的服务器,根据真实情况选择即可。

84561-6shbo1l2jld.png

3,单击请求处理选项卡。勾选允许导出私钥

54346-3h69xc1pwkl.png

如果ca服务器是单独的虚拟机,则

4,单击安全选项卡,分别选中Authenticated UsersAdministrator,确保勾选写入注册权限

Authenticated Users

84117-9m4cljt2dg.png

Administrator

82762-f3rfgme847.png

5,右键单击证书模板,选择新建,点击要颁发的证书模板

40166-91d8d7cmop.png

6,选中新建的模板Horizon,单击确定。

61423-6sya65mmkt6.png

[scode type="blue"]下面关键内容仅对打赏用户开放,之前通过微信打赏的用户,微信联系我获取密码,谢谢![/scode]

VersionRelease DateBuild Number
Horizon View Manager 7.92019-07-0213938590
Horizon View Composer 7.92019-07-0212438492
Horizon View Manager 7.82019-03-1412599301
Horizon View Composer 7.82019-03-1412438492
Horizon View Manager 7.72018-12-1311054235
Horizon View Composer 7.72018-12-1311038293
Horizon View Manager 7.62018-09-069539447
Horizon View Composer 7.62018-09-069491669
Horizon View Manager 7.5.2 (ESB Release)2019-03-0812417634
Horizon View Composer 7.5.2 (ESB Release)2019-03-0811823484
Horizon View Manager 7.5.12018-07-199122465
Horizon View Composer 7.5.12018-07-198971623
Horizon View Manager 7.52018-05-298583568
Horizon View Composer 7.52018-05-298463271
Horizon View Manager 7.42018-01-047400497
Horizon View Composer 7.42018-01-047312595
Horizon View Manager 7.3.32018-10-0410250208
Horizon View Composer 7.3.32018-10-0410250211
Horizon View Manager 7.3.22017-11-207161118
Horizon View Composer 7.3.22017-11-207161120
Horizon View Manager 7.3.12017-10-036760913
Horizon View Composer 7.3.12017-10-036744335
Horizon View Manager 7.2 ( View 7.x)2017-06-205735293
Horizon View Composer 7.22017-06-205652634
Horizon View Manager 7.12017-03-165170113
Horizon View Composer 7.12017-03-165129466
Horizon View Manager 7.0.32016-12-084709455
Horizon View Composer 7.0.32016-12-084698622
Horizon View Manager 7.0.22016-09-154356666
Horizon View Composer 7.0.22016-09-154350300
Horizon View Manager 7.0.12016-06-163988955
Horizon View Composer 7.0.12016-06-163978853
Horizon View Manager 7.02016-03-223633490
Horizon View Composer 7.02016-03-223613429
Horizon View Manager 6.2.92019-06-1113695252
Horizon View Composer 6.2.92019-06-1112619387
Horizon View Manager 6.2.82019-03-1412619382
Horizon View Composer 6.2.82019-03-1412619387
Horizon View Manager 6.2.32016-07-214126346
Horizon View Composer 6.2.32016-07-214123264
Horizon View Manager 6.2.22016-02-043508079
Horizon View Composer 6.2.22016-02-043505505
Horizon View Manager 6.2.12015-12-083284346
Horizon View Composer 6.2.12015-12-083284360
Horizon View Manager 6.2.02015-09-033005368
Horizon View Composer 6.2.02015-09-033001314
Horizon View Manager 6.1.12015-06-042769403
Horizon View Composer 6.1.12015-06-042768165
Horizon View Manager 6.1.02015-03-122509221
Horizon View Composer 6.1.02015-03-122506641
View Manager 6.0.12014-09-092088845
View Composer 6.0.12014-09-092078421
View Manager 6.0 (View 6.x)2014-06-191884746
View Composer 6.0 (View 6.x)2014-06-191884350
View Manager 5.3 (View 5.x)2014-01-281427931
View Composer 5.32014-01-281427647
View Manager 5.22013-02-05987719
View Composer 5.22013-02-05983460
View Manager 5.1.22012-12-13928164
View Manager 5.1.12012-08-13799444
View Manager 5.12012-05-02704644
View Composer 3.02012-04-20691993
View Manager 5.0.12012-03-02640055
View Manager 5.0 (View 5.x)2011-09-14481677
View Composer 2.7 (View 5.x)2011-09-14481620
View Manager 4.6.1 (View 4.x)2012-03-02640196
View Manager 4.62011-02-24366101
View Composer 2.62011-02-24349155
View Manager 4.52010-09-10293049
View Composer 2.52010-09-10291081
View Manager 4.0.22010-08-30294291
View Manager 4.0.12010-02-10233023
View Manager 4.0 (View 4.x)2009-11-18210939
View Composer 2.0 (View 4.x)2009-11-18210930

Ubuntu的虚拟桌面配置也很简单,根据步骤肯定会成功。以下基于horizon7.8 ubuntu18.04.2。

如果需要配置CentOS的桌面,参考这里 Horizon系列之安装配置CentOS7虚拟桌面

一,配置虚拟机模板

1,在线安装open vmtools

apt-get install open-vm-tools-desktop

34485-cu8eqs1ojit.png

2,安装ssh服务端,ubuntu默认自带ssh客户端,服务端需要自己安装

apt-get install openssh-server

06518-fkebqjfmsaa.png

3,卸载自带的vi编辑器,默认自带的编辑器是个精简版,非常难用,用过的都知道

apt-get remove vim-common

24653-zcew0y972pp.png

4,安装完整版本的vi编辑器

apt-get install vim

73277-4quvdxhh0b.png

5,安装必需的依赖包,

apt-get install python python-dbus python-gobject lightdm

00193-r73w4zt6scs.png

在安装过程中选择 lightdm 作为显示管理器

67400-h28aawxzffc.png

6,安装 PowerBroker Identity Services Open (PBISO) 身份验证工具

打开https://github.com/BeyondTrust/pbis-open/releases,找到以linux.x86_64.deb.sh结尾的文件,下载并安装。

wget https://github.com/BeyondTrust/pbis-open/releases/download/9.0.1/pbis-open-9.0.1.525.linux.x86_64.deb.sh
chmod +x pbis-open-9.0.1.525.linux.x86_64.deb.sh
./pbis-open-9.0.1.525.linux.x86_64.deb.sh

88634-8fd9qe00dhn.png

7,加域

[scode type="blue"]下面关键内容仅对打赏用户开放,之前通过微信打赏的用户,微信联系我获取密码,谢谢![/scode]

[ppblock ex="原创不易,打赏后即可获取文章密码!"]

执行下面的命令加域

domainjoin-cli join lzuvdi.com administrator

35669-h8mfex03fbt.png

查看加域结果

60420-io1skur3f0n.png

8,配置域环境

依次执行下面的命令

/opt/pbis/bin/config UserDomainPrefix lzuvdi 
/opt/pbis/bin/config AssumeDefaultDomain true 
/opt/pbis/bin/config LoginShellTemplate /bin/bash 
/opt/pbis/bin/config HomeDirTemplate %H/%U

[scode type="yellow"]备注:lzuvdi 是域名[/scode]

41428-f4tng7a9qpl.png

9,查找用户

id user01
id user02

91263-an4zqzmmagp.png

10,设置域用户权限,user01属于Domain Admins组,user02只属于Domain Users

编辑visudo加入下面一行,使得Domain Admins组有sudo权限

%domain^admins ALL=(ALL) NOPASSWD:ALL

46956-mzikd6yg7e.png

11,测试sudo权限

user01可以正常使用sudo权限,提示user02不在sudo文件中。

57928-sjlqnjzfh9a.png

12,编辑 /etc/pam.d/common-session 文件

session [success=ok default=ignore] pam_lsass.so

重新安装或更新 Horizon Agent for Linux 后,必须重复此步骤

13,编辑 /usr/share/lightdm/lightdm.conf.d/50-unity-greeter.conf 文件并附加以下行

allow-guest=false
greeter-show-manual-login=true

75153-dcdd6e4vw2o.png

14,上传Linux系统的horizon agent解压并安装,然后重启

./install_viewagent.sh -A yes

59625-qdnr46trgq.png

15,测试域用户登录桌面

85906-mwi8c16ce3k.png

37491-q5wh82zjpbe.png

16,编辑/etc/vmware/viewagent-custom.conf文件

去除SSODesktopType=UseGnomeUbuntu前面的#

66714-959t1ax5a9m.png

17,清理之前登录测试在/home/%D/文件夹下自动创建的用户文件夹,以及horizon agent程序和pbis程序,删除在/var/lib/AccountsService/users/ 下生成的域用户文件

18,创建linux版本的客户机自定义规范,然后克隆ubuntu为模板

二,创建桌面池

选择自动完整桌面池。创建过程选择第18步创建好的客户机规范。

三,测试桌面

1,web登录

99388-5sdh65sjpq5.png

86898-oqxknuuobl.png

2,客户端登录

30056-al3iels12us.png

88246-mvpdve9u6dp.png

[/ppblock]

一个VDI项目中,客户要求使用Linux系统。Windows的桌面,一路点鼠标下一步,没有什么难度,而Linux,搜遍全网,没有一篇正经文档,当然与我搜索的姿势也有关,参考VMware官方文档,如同嚼蜡。做完Linux桌面,其实发现并没有想象中的那么复杂,只不过步骤繁多,需要耐心。

如果需要做Ubuntu的桌面,参考这里 Horizon系列之安装配置Ubuntu18虚拟桌面

配置linux桌面,最重要的则是加域,horzion支持以下几种方式

1,OpenLDAP 服务器直通身份验证
2,针对 Microsoft Active Directory 的系统安全服务守护进程 (System Security Services Daemon, SSSD)LDAP 身份验证
3,加入 Winbind 域
4,PowerBroker Identity Services Open (PBISO) 身份验证

此文基于winbind加域,horizon 7.8,CentOS 7.6。

一,配置虚拟机模板

1,禁用ipv6,编辑文件/etc/sysctl.conf,添加下面的行:

net.ipv6.conf.all.disable_ipv6 =1
net.ipv6.conf.default.disable_ipv6 =1

保存并退出文件。
执行下面的命令来使设置生效。

sysctl -p

82041-ho7l7k4k07.png

2,禁用virbr0,

ifconfig virbr0 down
brctl delbr virbr0
systemctl disable libvirtd

12887-hce6944p2l5.png

3,禁用NMtool

systemctl stop NetworkManager
systemctl disable NetworkManager

54817-9jwos2cnjad.png

4,更改默认搜索域和DNS

在网卡配置文件加入

DNS1=192.168.80.100
DNS2=192.168.80.200
DOMAIN=lzuvdi.com

重启网络服务

28480-0pxxkr62apwb.png

5,配置yum,安装 winbind、samba 和 Kerberos 软件包,并把smb和winbind 加入开机自启

yum install -y samba samba-winbind krb5-workstation samba-winbind-clients authconfig-gtk
systemctl enable smb
systemctl enable winbind

6,图形界面加域,

authconfig-gtk

70178-fwyrgr15798.png

User Account Database:Winbind
Winbind Domain:LZUVDI
Security Model:ads
Winbind ADS Realm:LZUVDI.COM
Winbind Domain Controllers:ad1.lzuvdi.com,ad2.lzuvdi.com
Template Shell:/bin/bash

Advanced Options 勾选Create home directories on the first login

62628-xw2wzu1m6v7.png

Identiity Authentication 中点击 Join Domain

55867-mz0wnatwnpi.png

选择Save,输入域管理员密码加域,然后点击Apply,重启虚拟机系统。

7,查看加域信息

在域控中打开用户管理器,vdi虚拟机已加入域控

61730-sskvkydw0gh.png

虚拟机上查看域信息

net ads info

04329-82cpl6tih0u.png

新建用户

04553-g9ybtflxoxj.png

查找用户

id user01
id user02

08447-wax93hi8bqa.png

两个账号确实存在,虚拟机成功加域,为什么查找不到用户,换个方式

id user01@lzuvdi
id user02@lzuvdi

67439-puv4jukr2p.png

知道为什么吗?

[scode type="blue"]下面关键内容仅对打赏用户开放,之前通过微信打赏的用户,微信联系我获取密码,谢谢![/scode]