Linux虚拟交付代理

为Debian手动安装Linux虚拟交付代理

重要的是:

对于新安装,我们建议您使用简单的安装用于快速安装。与本文中详细介绍的手动安装相比,轻松安装节省时间和人力,更不容易出错。

步骤1:为VDA安装准备Debian

步骤1a:验证网络配置

确保网络连接和配置正确。例如,需要在Linux VDA上配置DNS服务器。

步骤1b:设置主机名

要确保正确报告机器的主机名,请更改/etc/hostname文件中只包含计算机的主机名。

主机名

步骤1c:为主机名配置环回地址

确保机器的DNS域名和FQDN (Fully Qualified domain name)正确上报。方法是改变下面的行设置文件将FQDN和主机名作为前两项:

127.0.0.1 hostname-fqdn hostname localhost

例如:

127.0.0.1 vda01.example.com vda01本地主机

删除任何其他引用hostname-fqdn主机名从文件中的其他条目。

注意:

Linux VDA目前不支持NetBIOS名称截断。因此,主机名不能超过15个字符。

提示:

只能使用a-z、a-z、0-9和连字符(-)。避免使用下划线、空格和其他符号。主机名不能以数字开头,也不能以连字符结尾。此规则也适用于交付控制器主机名。

步骤1d:查看主机名

检查主机名是否设置正确:

主机名< !——NeedCopy >

这个命令只返回机器的主机名,而不返回它的FQDN。

检查FQDN设置是否正确:

主机名- f < !——NeedCopy >

这个命令返回机器的FQDN。

步骤1e:禁用组播DNS

默认设置有组播DNS (中数)启用,这可能导致不一致的名称解析结果。

禁用中数、编辑/etc/nsswitch.conf并更改包含:

mdns_minimal [NOTFOUND=return] dns . properties

:

dns主机:文件

步骤1f:检查名称解析和服务可达性

验证您可以解析FQDN并ping域控制器和交付控制器:

Nslookup domain-controller-fqdn ping domain-controller-fqdn Nslookup delivery-controller-fqdn ping delivery-controller-fqdn 

如果不能解析FQDN或ping这些机器中的任何一台,请在继续之前检查步骤。

步骤1g:配置时钟同步(chrony)

保持vda、交付控制器和域控制器之间的精确时钟同步是至关重要的。将Linux VDA作为虚拟机托管可能会导致时钟倾斜问题。因此,建议使用远程时间服务同步时间。

安装chrony:

Apt-get install chrony 

作为根用户,编辑/etc/chrony/chrony.conf并为每个远程时间服务器添加一个服务器条目:

服务器peer1-fqdn-or-ip-address iburst
服务器peer2-fqdn-or-ip-address iburst

在典型的部署中,从本地域控制器同步时间,而不是直接从公共NTP池服务器同步时间。为域中的每个Active Directory域控制器添加一个服务器条目。

删除任何其他服务器包括环回IP地址、本地主机和公共服务器* .pool.ntp.org条目。

保存更改并重新启动Chrony守护进程:

Sudo systemctl restart chrony 

步骤1h:安装软件包

Sudo apt-get install -y libsasl2-2 Sudo apt-get install -y libgtk2.0-0 

步骤1i:添加oldstable存储库

要为Debian发行版安装必要的依赖项,请添加Deb http://deb.debian.org/debian/ oldstable main线的/etc/apt/sources.list文件。

步骤2:准备虚拟化环境

在受支持的管理程序上将Linux VDA作为虚拟机运行时,需要进行一些更改。根据所使用的管理程序平台,进行以下更改。如果在裸金属硬件上运行Linux机器,则不需要进行任何更改。

修复Citrix Hypervisor时间同步问题

当启用Citrix Hypervisor时间同步特性时,在每个半虚拟化Linux虚拟机中,您都会遇到NTP和Citrix Hypervisor的问题,它们都试图管理系统时钟。为了避免时钟与其他服务器不同步,请确保每个Linux客户端的系统时钟与NTP同步。此时需要关闭主机时间同步功能。HVM模式下不需要修改。

在某些Linux发行版上,如果您正在运行安装了Citrix VN Tools的半虚拟化Linux内核,则可以从Linux虚拟机内部检查Citrix Hypervisor时间同步功能是否存在并启用:

Su - cat /proc/sys/xen/independent_wallclock 

该命令返回0或1:

  • 0 -时间同步功能已启用,必须关闭。
  • 1—时间同步功能关闭,任务结束。

如果/proc/sys/xen/independent_wallclock文件不存在,则不需要执行以下步骤。

如果启用,则在文件中写入1来关闭时间同步功能:

Sudo echo 1 > /proc/sys/xen/independent_wallclock 

要使此更改永久并在重新启动后持久,请编辑/etc/sysctl.conf文件然后加上一行:

xen。independent_wallclock = 1

要验证这些更改,请重新启动系统:

Su - cat /proc/sys/xen/independent_wallclock 

该命令返回值为1。

修复Microsoft Hyper-V的时间同步问题

安装了Hyper-V Linux Integration Services的Linux虚拟机可以通过Hyper-V时间同步特性,获取主机操作系统的时间。为了确保系统时钟保持准确,请在启用NTP服务的同时启用该功能。

从管理操作系统:

  1. 打开Hyper-V Manager控制台。
  2. 对于Linux虚拟机,请选择集成服务
  3. 确保时间同步被选中。

注意:

与VMware和Citrix Hypervisor不同,VMware和Citrix Hypervisor会关闭主机时间同步功能,避免与NTP冲突。Hyper-V时间同步可以与NTP时间同步并存,作为NTP时间同步的补充。

修复ESX和ESXi时间同步问题

当启用VMware时间同步特性时,在每个半虚拟化Linux虚拟机中,都会遇到NTP和hypervisor的问题,两者都试图同步系统时钟。为了避免时钟与其他服务器不同步,请确保每个Linux客户端的系统时钟与NTP同步。此时需要关闭主机时间同步功能。

如果你运行的是安装了VMware Tools的半虚拟化Linux内核:

  1. 打开vSphere Client。
  2. 修改Linux虚拟机的设置。
  3. 虚拟机性能对话框,打开选项选项卡。
  4. 选择VMware工具
  5. 先进的盒子,清楚同步客户与主机的时间

步骤3:将Linux虚拟机加入Windows域

Linux VDA支持以下几种将Linux机器加入AD域的方法:

根据您选择的方法遵循指示。

注意:

当Linux VDA中的本地帐户和AD中的帐户使用相同的用户名时,会话启动可能会失败。

Samba Winbind

安装或更新所需的包

Sudo apt-get install winbind samba libns -winbind libpam-winbind krb5-config krb5-locale krb5-user 

使Winbind守护进程在机器启动时启动

Winbind守护进程必须配置为在机器启动时启动:

Sudo systemctl enable winbind 

注意:

确保winbind脚本位于/etc/init.d

配置Kerberos

开放/etc/krb5.conf作为root用户,并进行以下设置:

注意:

基于您的AD基础结构配置Kerberos。以下设置适用于单域、单森林模型。

[libdefaults]

default_realm =领域

dns_lookup_kdc = false

(领域)

领域= {

admin_server =domain-controller-fqdn

kdc =domain-controller-fqdn

[domain_realm]

domain-dns-name领域

.domain-dns-name领域

domain-dns-name参数为DNS域名,例如example.com.的领域是大写的Kerberos领域名称,例如EXAMPLE.COM

配置Winbind身份验证

开放/etc/samba/smb.conf,并进行以下设置:

(全球)

工作组=工作组

安全=广告

领域=领域

加密密码= yes

Idmap配置*:range = 16777216-33554431

仅Winbind受信任域= no

Kerberos方法= secrets和keytab

Winbind刷新票证= yes

模板shell = /bin/bash

工作组第一个场地在吗领域,领域是大写的Kerberos领域名称。

配置nsswitch

开放/etc/nsswitch.conf,附加winbind到以下行:

密码:systemd winbind
组:systemd winbind

加入Windows域

您的域控制器必须可访问,并且您必须具有Active Directory用户帐户,具有将计算机添加到域的权限:

sudo网络广告加入REALM -U用户

在哪里领域是大写的Kerberos领域名称,和用户是具有将计算机添加到域的权限的域用户。

重启Winbind

Sudo systemctl restart winbind 

为Winbind配置PAM

运行以下命令,并确保Winbind NT/Active Directory认证而且登录时创建主目录选择选项:

sudo pam-auth-update < !——NeedCopy >

提示:

winbind只有当机器连接到某个域时,Daemon才会继续运行。

验证域成员

交付控制器要求所有VDA机器,无论是Windows还是Linux,在Active Directory中都有一个计算机对象。

运行网络广告命令来验证机器是否加入域:

Sudo net ads testjoin 

运行以下命令验证额外的域和计算机对象信息:

Sudo网络广告信息

验证Kerberos配置

要验证Kerberos是否正确配置,以便与Linux VDA一起使用,请验证系统keytab文件已创建并包含有效的密钥:

Sudo klist -ke 

此命令显示可用于主体名称和密码套件的各种组合的密钥列表。运行Kerberoskinit命令使用以下密钥对计算机进行域控制器身份验证:

sudo kinit -k MACHINE\$@REALM 

机器名和领域名必须用大写字母指定。美元符号($)必须用反斜杠(\)转义,以防止shell替换。在某些环境中,DNS域名与Kerberos域名不同。确保使用了领域名称。如果命令执行成功,则无输出。

验证机器帐户的TGT票据已经缓存,使用:

sudo中< !——NeedCopy >

使用以下方法检查机器的帐户详细信息:

Sudo网络广告状态

验证用户身份验证

使用wbinfo验证域用户是否可以使用域进行身份验证的工具:

wbinfo——krb5auth =域名\ \用户名密码< % !——NeedCopy >

这里指定的域是AD域名,而不是Kerberos域名。对于bash shell,反斜杠(\)字符必须用另一个反斜杠转义。该命令返回一条消息,指示成功或失败。

要验证Winbind PAM模块是否正确配置,请使用以前没有使用过的域用户帐户登录到Linux VDA。

SSH localhost -l domain\\username id -u 

注意:

要成功执行SSH命令,SSH协议必须已开启并正常运行。

控件返回的uid是否创建了相应的Kerberos凭据缓存文件id - u命令:

ls / tmp / krb5cc_uid < !——NeedCopy >

验证用户的Kerberos凭据缓存中的票据是有效的且没有过期:

中< !——NeedCopy >

退出会议。

退出< !——NeedCopy >

可以通过直接登录到Gnome或KDE控制台来执行类似的测试。继续步骤6:安装Linux VDA加入域验证后。

提示:

如果用户身份验证成功,但在使用域帐户登录时无法显示桌面,请重新启动计算机,然后再试一次。

追求身份验证服务

在域控制器上配置Quest

假设您已经在Active Directory域控制器上安装和配置了Quest软件,并且被授予了在Active Directory中创建计算机对象的管理权限。

允许域用户登录到Linux VDA计算机

启用域用户在Linux VDA机器上建立HDX会话。

  1. 在“Active Directory用户和计算机”管理控制台中,为该用户帐户打开Active Directory用户属性。
  2. 选择Unix帐户选项卡。
  3. 检查Unix-enabled
  4. 设置主要GID编号修改为实际域用户组的组ID。

注意:

这些说明与设置使用控制台、RDP、SSH或任何其他远程协议登录的域用户是等价的。

在Linux VDA上配置Quest

解决SELinux策略实施的问题

默认的RHEL环境完全实施了SELinux。这种强制会干扰Quest使用的Unix域套接字IPC机制,并阻止域用户登录。

解决这个问题的方便方法是禁用SELinux。作为根用户,编辑/etc/selinux/config和改变SELinux设置:

禁用SELINUX =

此更改需要重新启动机器:

重新启动< !——NeedCopy >

重要的是:

小心使用此设置。在禁用之后重新启用SELinux策略实施可能会导致完全锁定,即使对于根用户和其他本地用户也是如此。

配置脉管守护进程

必须启用并断开Kerberos票据的自动更新。必须禁用身份验证(脱机登录):

Sudo /opt/quest/bin/vastool configure vas vasd auto-ticket-renew-interval 32400 Sudo /opt/quest/bin/vastool configure vas vas_auth allow-disconnect -auth false 

此命令将更新间隔设置为9小时(32400秒),比默认的10小时票证生存期少1小时。在票证生存期较短的系统上,将此参数设置为较低的值。

配置PAM和NSS

当需要通过HDX和其他服务(如su、ssh、RDP)登录域用户时,手动配置PAM和NSS:

Sudo /opt/quest/bin/vastool configure PAM Sudo /opt/quest/bin/vastool configure NSS 

加入Windows域

使用Quest将Linux机器连接到Active Directory域vastool命令:

Sudo /opt/quest/bin/vastool -u user join domain-name 

该用户是具有将计算机加入Active Directory域的权限的任何域用户。域名为域的DNS名称,例如example.com。

验证域成员

交付控制器要求所有VDA机器,无论是Windows还是Linux,在Active Directory中都有一个计算机对象。验证与quest连接的Linux机器是否在域中:

Sudo /opt/quest/bin/vastool info domain 

如果计算机连接到一个域,该命令返回域名。如果机器没有加入任何域,则出现以下错误:

错误:找不到域。
错误:VAS_ERR_CONFIG: at ctx.c:414 in _ctx_init_default_realm
Default_realm未在vas.conf中配置。计算机可能没有加入域

验证用户身份验证

要验证Quest可以通过PAM验证域用户,请使用以前没有使用过的域用户帐户登录到Linux VDA。

SSH localhost -l domain\\username id -u 

控件返回的UID是否创建了相应的Kerberos凭据缓存文件id - u命令:

ls / tmp / krb5cc_uid < !——NeedCopy >

验证Kerberos凭据缓存中的票据是有效的且没有过期:

/ opt /任务/ bin / vastool中< !——NeedCopy >

退出会议。

退出< !——NeedCopy >

继续步骤6:安装Linux VDA加入域验证后。

Centrify组合

加入Windows域

安装了Centrify DirectControl Agent后,使用Centrify将Linux计算机连接到Active Directory域毗邻命令:

su - adjoin -w - v -u user domain-name 

用户参数表示具有将计算机加入Active Directory域的权限的任何Active Directory域用户。的域名参数是Linux机器要加入的域名。

验证域成员

交付控制器要求所有VDA机器,无论是Windows还是Linux,在Active Directory中都有一个计算机对象。验证加入centrify的Linux机器是否在域中:

Su - adinfo 

验证加入到域值有效,且CentrifyDC模式返回连接.如果模式一直停留在启动状态,则Centrify客户机遇到了服务器连接或身份验证问题。

更全面的系统和诊断信息可使用:

Adinfo——sysinfo all Adinfo——diag 

测试到各种Active Directory和Kerberos服务的连接性。

adinfo——测试< !——NeedCopy >

继续步骤6:安装Linux VDA加入域验证后。

SSSD

配置Kerberos

运行以下命令安装Kerberos:

Sudo apt-get install krb5-user 

要配置Kerberos,打开/etc/krb5.conf以root用户设置参数:

注意:

基于您的AD基础结构配置Kerberos。以下设置适用于单域、单森林模型。

[libdefaults]

default_realm =领域

dns_lookup_kdc = false

(领域)

领域= {

admin_server =domain-controller-fqdn

kdc =domain-controller-fqdn

[domain_realm]

domain-dns-name领域

.domain-dns-name领域

domain-dns-name参数为DNS域名,例如example.com。的领域是大写的Kerberos领域名称,例如EXAMPLE.COM。

加入域

SSSD必须配置为使用Active Directory作为标识提供程序,使用Kerberos进行身份验证。SSSD不提供AD客户端加入域和管理系统keytab文件的功能。您可以使用adclirealmd,或Samba代替。

注意:

本节仅提供相关信息adcli而且Samba

  • 如果使用adcli加入域,请完成以下步骤:
  1. 安装adcli

    Sudo apt-get install adcli 
  2. 使用以下命令加入域adcli

    删除旧的系统keytab文件并使用以下方法加入域:

    Su - rm -rf /etc/krb5. txtkeytabadclijoin domain-dns-name -U user -H hostname-fqdn 

    用户是具有向域添加计算机的权限的域用户。的hostname-fqdn是机器的FQDN格式的主机名。

    - h选项是必要的adcli生成Linux VDA要求的格式为“host/hostname-fqdn@REALM”的SPN。

  3. keytab验证系统。

    运行sudo中刃命令,以确保已创建系统keytab文件。

    验证每个键的时间戳与机器加入域的时间相匹配。

  • 如果你使用Samba要加入域,请完成以下步骤:
  1. 安装包。

    Sudo apt-get install samba krb5-user 
  2. 配置Samba

    开放/etc/samba/smb.conf,并进行以下设置:

    (全球)

    工作组=工作组

    安全=广告

    领域=领域

    客户端签名= yes

    客户端使用spnego = yes

    Kerberos方法= secrets和keytab

    工作组第一个场地在吗领域,领域是大写的Kerberos领域名称。

  3. 使用以下命令加入域Samba

    您的域控制器必须可访问,并且您必须有一个Windows帐户,具有将计算机添加到域的权限。

    sudo网络广告加入REALM -U用户

    在哪里领域是大写的Kerberos领域名称,和用户是具有将计算机添加到域的权限的域用户。

设置SSSD

安装或更新所需软件包:

如果尚未安装,请安装所需的SSSD和配置包:

Sudo apt-get install SSSD 

如果软件包已经安装,建议进行更新:

Sudo apt-get install——only-upgrade SSSD 

注意:

默认情况下,Ubuntu中的安装过程会自动配置nsswitch.conf和PAM登录模块。

配置SSSD

在启动SSSD守护进程之前,需要更改SSSD配置。对于某些版本的SSSD,/etc/sssd/sssd.conf配置文件默认不安装,需要手动创建。作为根用户,创建或打开/etc/sssd/sssd.conf并进行以下设置:

(sssd)

服务= nss, PAM

config_file_version = 2

域=domain-dns-name

[域/domain-dns-name

id_provider =广告

access_provider =广告

auth_provider = krb5

krb5_realm =领域

#设置krb5_renewable_lifetime如果TGT更新时间大于14天

krb5_renewable_lifetime = 14 d

#设置krb5_renew_interval为较低值,如果TGT ticket lifetime小于2小时

krb5_renew_interval = 1 h

krb5_ccachedir = / tmp

krb5_ccname_template =文件:% d / krb5cc_ % U

# ldap_id_mapping设置也是默认值

ldap_id_mapping = true

override_homedir = /home/ % d / % u

default_shell = /bin/bash

ad_gpo_map_remote_interactive = + ctxhdx

注意:

Ldap_id_mapping设置为真正的因此SSSD本身负责将Windows sid映射到Unix uid。否则,Active Directory必须能够提供POSIX扩展。PAM服务ctxhdx添加到ad_gpo_map_remote_interactive中。

domain-dns-name参数为DNS域名,例如example.com。的领域是大写的Kerberos领域名称,例如EXAMPLE.COM。NetBIOS域名无需配置。

有关配置设置的信息,请参见sssd.conf和的手册页sssd-ad

SSSD守护进程要求配置文件必须只有所有者读权限:

Sudo chmod 0600 /etc/sssd/sssd.conf 

开始SSSD守护进程

现在运行以下命令启动SSSD守护进程,并使该守护进程在计算机启动时启动:

Sudo systemctl start SSSD Sudo systemctl enable SSSD 

PAM配置

运行以下命令,并确保瑞士认证而且登录时创建主目录选择选项:

sudo pam-auth-update < !——NeedCopy >

验证域成员

交付控制器要求所有VDA机器(Windows和Linux VDA)在Active Directory中都有一个计算机对象。

  • 如果你使用adcli验证域成员身份,使用Sudo adcli info domain-dns-name命令,显示域信息。

  • 如果你使用Samba验证域成员身份,使用Sudo网络广告testjoin命令来验证计算机是否连接到域和Sudo网络广告信息命令来验证额外的域和计算机对象信息。

验证Kerberos配置

要验证Kerberos是否被正确配置为与Linux VDA一起使用,请验证已经创建了系统keytab文件并包含有效的密钥:

Sudo klist -ke 

此命令显示可用于主体名称和密码套件的各种组合的密钥列表。运行Kerberoskinit命令使用以下密钥对计算机进行域控制器身份验证:

sudo kinit -k MACHINE\$@REALM 

机器名和领域名必须用大写字母指定。美元符号($)必须用反斜杠(\)转义,以防止shell替换。在某些环境中,DNS域名与Kerberos域名不同。确保使用了领域名称。如果命令执行成功,则无输出。

验证机器帐户的TGT已被缓存,使用:

sudo中< !——NeedCopy >

验证用户身份验证

SSSD不提供直接使用守护进程测试身份验证的命令行工具,只能通过PAM来完成。

要验证SSSD PAM模块是否正确配置,请使用未使用过的域用户帐号登录Linux VDA。

SSH localhost -l domain\\username id -u klist exit 

方法返回的Kerberos票据命令对于该用户是正确的,并且没有过期。

作为根用户,验证为前面返回的uid创建了相应的票据缓存文件id - u命令:

ls / tmp / krb5cc_uid < !——NeedCopy >

可以通过登录到KDE或Gnome Display Manager执行类似的测试。继续步骤6:安装Linux VDA加入域验证后。

PBIS

下载所需的PBIS包

例如:

sudo wget https://github.com/BeyondTrust/pbis-open/releases/download/8.8.0/pbis-open-8.8.0.506.linux.x86_64.deb.sh 

使PBIS安装脚本可执行

例如:

Sudo chmod +x pbis-open-8.8.0.506.linux.x86_64.deb.sh 

运行PBIS安装脚本

例如:

Sudo sh pbis-open-8.8.0.506.linux.x86_64.deb.sh 

加入Windows域

您的域控制器必须可访问,并且您必须具有Active Directory用户帐户,具有将计算机添加到域的权限:

Sudo /opt/pbis/bin/domainjoin-cli join domain-name user 

用户是具有向Active Directory域添加计算机权限的域用户。的域名为域名的DNS名称,例如example.com。

注意:要将Bash设置为默认shell,请运行sudo / opt / pbis / bin /配置LoginShellTemplate / bin / bash命令。

验证域成员

交付控制器要求所有VDA机器(Windows和Linux VDA)在Active Directory中都有一个计算机对象。验证pbis加入的Linux机器是否在域中:

/ opt / pbis / bin / domainjoin-cli查询< !——NeedCopy >

如果机器加入了某个域,该命令返回当前加入的AD域和OU的信息。否则,只显示主机名。

验证用户身份验证

要验证PBIS能够通过PAM对域用户进行身份验证,请使用未使用过的域用户帐号登录Linux VDA。

Sudo SSH localhost -l domain\\user id -u 

控件返回的UID是否创建了相应的Kerberos凭据缓存文件id - u命令:

ls / tmp / krb5cc_uid < !——NeedCopy >

退出会议。

退出< !——NeedCopy >

继续步骤6:安装Linux VDA加入域验证后。

步骤4:安装。net Core Runtime 3.1作为先决条件

在安装Linux VDA之前,请根据下面的说明安装。net Core Runtime 3.1https://docs.microsoft.com/en-us/dotnet/core/install/linux-package-managers

安装.NET Core Runtime 3.1后,运行这dotnet命令查找运行时路径。

根据输出信息,设置. net Core运行时二进制路径。例如,回显信息为“/aa/bb/dotnet”,则使用“/aa/bb”作为。net的二进制路径。

步骤5:下载Linux VDA包

进入Citrix虚拟应用程序和桌面下载页面。展开相应版本的Citrix虚拟应用程序和桌面,然后单击组件下载与您的Linux发行版相匹配的Linux VDA包。

步骤6:安装Linux VDA

步骤6a:安装Linux VDA

使用Debian包管理器安装Linux VDA软件:

Sudo DPKG -i xendesktopvda_.debian10_amd64.deb 

Debian 10.7的Debian依赖列表:

Libqt5widgets5 >= 5.5~ ibbus >= 1.5 postgresql >= 11 libpostgresql-jdbc-java >= 42.2 openjdk-11-jdk >= 11 imagemagick >= 8:6.9.10 ufw >= 0.36 desktop-base >= 10.0.2 libxrandr2 >= 2:1.5.1 libxtst6 >= 2:1.2.3 libxm4 >= 2.3.8 util-linux >= 2.33 gtk3-nocsd >= 3 bash >= 5.0 findutils >= 2.33 gtk3-nocsd >= 4.6.0 sed >= 4.7 cups >= 2.2 ghostscript >= 9.27~ libmspack0 >= 0.10 libgool -perftools4 >= 2.7~ libpython2.7 >= 2.7~ libsasl2-module -gssapi-mit >= 2.1。~ < !——NeedCopy >

注意:

有关此版本的Linux VDA支持的Linux发行版和Xorg版本的矩阵,请参见系统需求

步骤6b:升级Linux VDA(可选)

您可以从前两个版本和LTSR版本升级现有安装。

sudo dpkg -i / 

注意:

升级现有安装会覆盖/etc/xdl.目录下的配置文件在进行升级前,请务必备份文件。

步骤7:安装NVIDIA GRID驱动程序

启用HDX 3D Pro需要在管理程序和VDA机器上安装NVIDIA GRID驱动程序。

在特定的虚拟化环境中安装和配置NVIDIA GRID Virtual GPU Manager(主机驱动程序),请参考以下指导:

要安装和配置NVIDIA GRID客户虚拟机驱动程序,请执行以下通用步骤:

  1. 确保客户虚拟机处于关闭状态。
  2. 在虚拟化环境控制面板为虚拟机分配图形处理器。
  3. 启动虚拟机。
  4. 在虚拟机上安装客户虚拟机驱动。

步骤8:配置Linux VDA

安装完成后,需要运行脚本ctxsetup.sh对Linux VDA进行配置。在进行任何更改之前,脚本都要验证环境并确保安装了所有依赖项。如果需要,您可以在任何时候重新运行脚本以更改设置。

您可以带提示手动运行脚本,也可以带预配置的响应自动运行脚本。在继续之前,查看关于脚本的帮助:

sudo /opt/Citrix/VDA/sbin/ctxsetup.sh——help 

提示配置

运行带有提示问题的手动配置:

sudo / opt / Citrix / VDA / sbin / ctxsetup.sh < !——NeedCopy >

自动配置

对于自动安装,安装脚本所需的选项可以通过环境变量提供。如果所有必需的变量都存在,脚本不会提示用户输入任何信息,从而允许使用脚本化的安装过程。

支持的环境变量包括:

  • CTX_XDL_SUPPORT_DDC_AS_CNAME = Y | N—Linux VDA支持使用DNS CNAME记录指定交付控制器名称。默认设置为N。
  • CTX_XDL_DDC_LIST = ' list-ddc-fqdns '- Linux VDA需要一个用空格分隔的交付控制器完全限定域名(FQDNs)列表,用于向交付控制器注册。必须至少指定一个FQDN或CNAME别名。
  • CTX_XDL_VDA_PORT =端口号—Linux VDA与交付控制器之间通过TCP/IP端口通信,默认为80端口。
  • CTX_XDL_REGISTER_SERVICE = Y | N—Linux虚拟桌面服务在机器启动后启动。默认设置为Y。
  • CTX_XDL_ADD_FIREWALL_RULES = Y | N—Linux虚拟桌面业务要求传入的网络连接必须通过系统防火墙。您可以在系统防火墙中自动打开Linux虚拟桌面所需的端口(默认为80和1494端口)。默认设置为Y。
  • Ctx_xdl_ad_integration =1 | 2 | 3 | 4 |5—Linux VDA需要Kerberos配置设置来与交付控制器进行身份验证。Kerberos配置由系统上安装和配置的Active Directory集成工具确定。指定要使用的受支持的Active Directory集成方法:
    • 1 - Samba Winbind
    • 2 -任务认证服务
    • 3 -集中DirectControl
    • 4 - SSSD
    • 5 - PBIS
  • CTX_XDL_HDX_3D_PRO = Y | N—Linux虚拟桌面支持HDX 3D Pro,这是一套图形加速技术,旨在优化富图形应用程序的虚拟化。HDX 3D Pro需要安装兼容的NVIDIA GRID显卡。选择“HDX 3D Pro”时,VDI桌面(单会话)模式为“-”,即“CTX_XDL_VDI_MODE=Y”。
  • CTX_XDL_VDI_MODE = Y | N—配置计算机为VDI (dedicated desktop delivery model)或托管共享桌面交付模型。对于HDX 3D Pro环境,请将该变量设置为y。默认设置为N。
  • CTX_XDL_SITE_NAME = dns名称—Linux VDA通过DNS服务器发现LDAP服务器。当需要将DNS查询结果限制为本端站点时,需要指定DNS站点名称。此变量设置为<一>默认情况下。
  • CTX_XDL_LDAP_LIST = ' list-ldap-servers '—Linux VDA通过DNS查询LDAP服务器。如果DNS不能提供LDAP服务记录,可以提供一个以空格分隔的LDAP FQDNs列表,其中包含LDAP端口。例如,ad1.mycompany.com: 389。此变量设置为<一>默认情况下。
  • CTX_XDL_SEARCH_BASE = search-base-set—Linux VDA通过设置为Active Directory域根目录的搜索库查询LDAP(例如:DC=mycompany,DC=com)。但是,为了提高搜索性能,可以指定搜索基数(例如,OU=VDI,DC=mycompany,DC=com)。此变量设置为<一>默认情况下。
  • CTX_XDL_FAS_LIST = ' list-fas-servers '—FAS (federal Authentication Service)服务器通过AD组策略配置。Linux VDA不支持AD组策略,但是您可以提供一个分号分隔的FAS服务器列表。顺序必须与“AD组策略”中的配置保持一致。如果删除了任何服务器地址,则用<一>文本字符串,不修改服务器地址的顺序。
  • CTX_XDL_DOTNET_ RUNTIME_PATH = path-to-install-dotnet-runtime-安装。net Core Runtime 3.1以支持新的代理服务的路径(ctxvda).默认路径为“/usr/bin”。
  • CTX_XDL_DESKTOP _ENVIRONMENT = gnome /伴侣—指定会话中使用的GNOME或MATE桌面环境。如果不指定该变量,则使用当前安装在VDA上的桌面。但如果当前安装的桌面为MATE,则必须将该变量值设置为伴侣

    注意:

    您也可以通过以下步骤更改目标会话用户的桌面环境:

    1. 创建一个.xsession下的文件$ HOME / <用户名>目录。
    2. 编辑.xsession文件以指定基于发行版的桌面环境。

      用于CentOS, Ubuntu和Debian上的MATE桌面

      - p mate-session MSESSION = " $(类型)”
      if [-n " $MSESSION "];然后
      exec mate-session
      fi

      用于CentOS上的GNOME桌面

      - p gnome-session GSESSION = " $(类型)”
      if [-n " $GSESSION "];然后

      export GNOME_SHELL_SESSION_MODE=classic exec GNOME -session——session= GNOME -classic fi **适用于Ubuntu和Debian的GNOME桌面**

      - p gnome-session GSESSION = " $(类型)”
      if [-n " $GSESSION "];然后

      exec gnome-session fi
    3. 将700文件权限共享给目标会话用户。
  • CTX_XDL_START_SERVICE = Y | N—Linux VDA配置完成后,是否启动Linux VDA服务。默认设置为Y。
  • CTX_XDL_TELEMETRY_SOCKET_PORT—用于监听Citrix Scout的socket端口。默认端口号为7503。
  • CTX_XDL_TELEMETRY_PORT—与Citrix Scout通信的端口。默认端口号为7502。

设置环境变量并运行configure脚本:

export CTX_XDL_SUPPORT_DDC_AS_CNAME=Y|N export CTX_XDL_DDC_LIST= ' list-ddc-fqdns ' export CTX_XDL_VDA_PORT=port-number export CTX_XDL_REGISTER_SERVICE=Y|N export CTX_XDL_ADD_FIREWALL_RULES=Y|N export CTX_XDL_AD_INTEGRATION=1|2|3|4|5 export CTX_XDL_HDX_3D_PRO=Y|N export CTX_XDL_VDI_MODE=Y|N export CTX_XDL_SITE_NAME=dns-site-name | '' export CTX_XDL_LDAP_LIST= ' list-ldap-servers ' | '' export CTX_XDL_SEARCH_BASE=search-base-set | '' export CTX_XDL_FAS_LIST= ' list- fast -servers ' |' export CTX_XDL_DOTNET_RUNTIME_PATH=path-to-install-dotnet-runtime export CTX_XDL_DESKTOP_ENVIRONMENT= gnome | mate | '' export CTX_XDL_TELEMETRY_SOCKET_PORT=port-number export CTX_XDL_TELEMETRY_PORT=port-number export CTX_XDL_START_SERVICE=Y|N sudo -E /opt/Citrix/VDA/sbin/ctxsetup.sh 

执行sudo命令时,请输入- e选项将现有的环境变量传递给它创建的新shell。我们建议您根据前面的命令创建shell脚本文件#!/bin/bash作为第一行。

或者,你可以使用一个命令指定所有的参数:

sudo CTX_XDL_SUPPORT_DDC_AS_CNAME = Y | N \ CTX_XDL_DDC_LIST = ' list-ddc-fqdns \ CTX_XDL_VDA_PORT =端口号\ CTX_XDL_REGISTER_SERVICE = Y | N \ N \ CTX_XDL_AD_INTEGRATION CTX_XDL_ADD_FIREWALL_RULES = Y | = 1 | 2 | 3 | 4 | 5 \ N \ CTX_XDL_VDI_MODE CTX_XDL_HDX_3D_PRO = Y | = Y | N \ CTX_XDL_SITE_NAME = dns名称\ CTX_XDL_LDAP_LIST = ' list-ldap-servers \ CTX_XDL_SEARCH_BASE = search-base-set \ CTX_XDL_FAS_LIST = ' list-fas-servers \ CTX_XDL_DOTNET_RUNTIME_PATH = path-to-install-dotnet-runtime \ CTX_XDL_DESKTOP_ENVIRONMENT = gnome |伴侣\ CTX_XDL_TELEMETRY_SOCKET_PORT=port-number \ CTX_XDL_TELEMETRY_PORT=port-number \ CTX_XDL_START_SERVICE=Y|N \ /opt/Citrix/VDA/sbin/ctxsetup.sh 

删除配置更改

控件所做的配置更改在某些场景中可能必须删除ctxsetup.sh脚本,无需卸载Linux VDA包。

在继续之前,查看关于此脚本的帮助:

sudo /opt/Citrix/VDA/sbin/ctxcleanup.sh——help 

删除配置更改。

sudo / opt / Citrix / VDA / sbin / ctxcleanup.sh < !——NeedCopy >

重要的是:

该脚本从数据库中删除所有配置数据,并使Linux VDA不可操作。

配置日志

ctxsetup.sh而且ctxcleanup.sh脚本在控制台上显示错误,并将附加信息写入配置日志文件/ tmp / xdl.configure.log

重新启动Linux VDA服务使更改生效。

卸载Linux VDA软件

查询是否安装了Linux VDA,以及查看安装包的版本。

DPKG -l xendesktopvda 

要查看更详细的资料:

Apt-cache show xendesktopvda 

卸载Linux VDA软件。

DPKG -r xendesktopvda 

注意:

卸载Linux VDA软件会删除相关的PostgreSQL和其他配置数据。但是在安装Linux VDA之前设置的PostgreSQL包和其他依赖包不会被删除。

提示:

本节的信息不包括删除依赖包,包括PostgreSQL。

步骤9:运行XDPing

运行sudo / opt / Citrix / VDA / bin / xdp检查Linux VDA环境中的常见配置问题。有关更多信息,请参见xdp

步骤10:运行Linux VDA

方法配置了Linux VDA之后ctxsetup.sh脚本中,使用以下命令来控制Linux VDA。

启动Linux VDA:

使用实例启动Linux VDA服务。

Sudo systemctl start CTXHDX Sudo systemctl start ctxvda 

停止Linux VDA:

停止Linux下的VDA服务。

Sudo systemctl stop ctxvda Sudo systemctl stop CTXHDX 

注意:

在你停止ctxvda而且ctxhdx服务,运行服务ctxmonitorservice停止命令,停止监视器服务守护进程。否则,监视器服务守护进程将重新启动您停止的服务。

重新启动Linux VDA:

重新启动Linux VDA服务。

Sudo systemctl stop ctxvda Sudo systemctl restart CTXHDX Sudo systemctl restart ctxvda 

查看Linux VDA状态:

查询Linux VDA服务的运行状态。

Sudo systemctl status ctxvda Sudo systemctl status CTXHDX 

步骤11:在Citrix Virtual Apps或Citrix Virtual desktop中创建计算机目录

创建机器目录和添加Linux VDA机器的过程类似于传统的Windows VDA方法。有关如何完成这些任务的更详细描述,请参见创建机器目录而且管理机目录

对于创建包含Linux VDA机器的机器目录,有一些限制将此过程与为Windows VDA机器创建机器目录区别开来:

  • 对于操作系统,请选择:
    • Multi-session操作系统托管共享桌面交付模型的选项。
    • 单一会话操作系统VDI专用桌面交付模型的选项。
  • 不要在同一个机器目录中混合使用Linux和Windows VDA机器。

注意:

Citrix Studio的早期版本不支持“Linux操作系统”的概念。然而,选择Windows服务器操作系统服务器操作系统选项意味着等效的托管共享桌面交付模型。选择Windows桌面操作系统桌面操作系统选项意味着每台机器的单个用户交付模型。

提示:

如果将计算机删除并重新加入Active Directory域,则必须将该计算机再次删除并添加到计算机编目中。

步骤12:在“Citrix Virtual Apps”或“Citrix Virtual desktop”中创建下发组

创建交付组和添加包含Linux VDA机器的机器目录的过程几乎与Windows VDA机器相同。有关如何完成这些任务的更详细描述,请参见创建交付组

对于创建包含Linux VDA机器目录的交付组,适用以下限制:

  • 确保您所选择的AD用户和组已正确配置为登录到Linux VDA计算机。
  • 不允许未经身份验证(匿名)的用户登录。
  • 不要将交付组与包含Windows机器的机器目录混合在一起。

有关如何创建机器目录和交付组的信息,请参见Citrix虚拟应用程序和桌面7 2112