Linux虚拟交付代理

手动安装Amazon Linux 2、CentOS、RHEL版本的Linux虚拟交付代理软件

重要的是:

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

步骤1:为VDA安装准备Linux发行版

步骤1a:验证网络配置

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

步骤1b:设置主机名

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

主机名

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

要确保正确报告机器的DNS域名和完全限定域名(FQDN),请更改设置文件将FQDN和主机名作为前两项:

127.0.0.1 hostname-fqdn hostname localhost localhost。localdomain localhost4 localhost4.localdomain4

例如:

127.0.0.1 vda01.example.com vda01 localhost本地主机。localdomain localhost4 localhost4.localdomain4

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

注意:

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

提示:

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

步骤1d:查看主机名

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

主机名< !——NeedCopy >

该命令只返回机器的主机名,而不返回它的完全限定域名(FQDN)。

检查FQDN设置是否正确:

主机名- f < !——NeedCopy >

这个命令返回机器的FQDN。

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

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

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

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

步骤1f:配置时钟同步

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

RHEL 8/RHEL 7默认环境使用Chrony守护进程(chronyd)进行时钟同步。

配置Chrony服务

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

Server peer2-fqdn-or-ip-address iburst 

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

删除列出的所有其他服务器条目,包括环回IP地址、本地主机和公共服务器* .pool.ntp.org条目。

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

Sudo /sbin/service chronyd restart 

步骤1g:安装OpenJDK

Linux VDA需要OpenJDK 11的存在。

  • 如果使用CentOS或RHEL,在安装Linux VDA时,OpenJDK 11会自动作为依赖项安装。
  • 如果您使用的是Amazon Linux 2,执行以下命令启用并安装OpenJDK 11:

    安装java-openjdk11 

确认正确版本:

Sudo yum info java-11-openjdk 

预打包的OpenJDK可能是一个较早的版本。更新到OpenJDK 11:

Sudo yum -y update java-11-openjdk 

步骤1h:安装PostgreSQL

Linux VDA要求RHEL 8上的PostgreSQL 10.5及以上版本或RHEL 7上的PostgreSQL 9.2及以上版本。

安装以下软件包:

Sudo yum -y install postgresql-server——NeedCopy >

为了初始化数据库并确保服务在机器启动时启动,需要执行以下安装后步骤。该操作将创建数据库文件/var/lib/pgsql/data.该命令在PostgreSQL 10和9之间有所不同:

Sudo postgresql-setup initdb 

步骤1i:启动PostgreSQL

在机器启动时启动服务,并立即启动服务:

Sudo systemctl enable postgresql Sudo systemctl start postgresql 

检查PostgreSQL的版本:

psql——版本< !——NeedCopy >

(仅适用于RHEL 7)检查数据目录是否使用psql命令行实用程序:

Sudo -u postgres PSQL -c 'show data_directory' 

步骤2:准备虚拟化环境

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

修复Citrix Hypervisor时间同步问题

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

如果您运行的是安装了Citrix VM 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集成服务的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

安装或更新所需的软件包:

对于RHEL 8:

Sudo yum -y install samba-winbind samba-winbind-clients krb5-workstation oddjob-mkhomedir realmd authselect 

对于Amazon Linux 2、CentOS 7和RHEL 7:

Sudo yum -y install samba-winbind samba-winbind-clients krb5-workstation authconfig oddjob-mkhomedir 

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

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

Sudo /sbin/chkconfig winbind on 

配置Winbind身份验证

使用Winbind为机器配置Kerberos身份验证:

  1. 运行如下命令。

    对于RHEL 8:

    Sudo authselect select winbind with-mkhomedir——force 

    对于Amazon Linux 2和RHEL 7:

    sudo authconfig——disablecache——disablessd——disablesssdauth——enablewinbind——enablewinbindauth——disablewinbindoffline——smbsecurity=ads——smbworkgroup=domain——smbrealm=REALM——krb5realm=REALM——krb5kdc=fqdn-of-domain-controller——winbindtemplateshell=/bin/bash——enablemkhomedir——updateall 

    在哪里领域Kerberos领域名称是大写的和为域的NetBIOS名称。

    如果需要通过dns查找KDC服务器和域名,则需要在前面的命令中增加以下两个选项:

    ——enablekrb5kdcdns enablekrb5realmdns

    方法返回的任何错误都忽略authconfig命令的winbind服务无法启动。错误可能发生在authconfig试图启动winbind服务,而机器尚未连接到域。

  2. 开放/etc/samba/smb.conf并在[Global]节下添加以下条目,但在authconfig工具:

    Kerberos方法= secrets和keytab
    Winbind刷新票证= true
    Winbind离线登录= no

  3. (仅限RHEL 8)打开/etc/krb5.conf并在[libdefaults](领域),[domain_realm]部分:

    [libdefaults]部分:

    default_ccache_name =文件:/ tmp / krb5cc_ % {uid}
    default_realm =领域dns_lookup_kdc = true

    (领域)部分:

    领域= {
    kdc = fqdn-of-domain-controller

    [domain_realm]部分:

    域=域
    .realm =领域

Linux VDA需要系统keytab文件/etc/krb5.keytabto authenticate and register with the Delivery Controller. The previous kerberos method setting forces Winbind to create the system keytab file when the machine is first joined to the domain.

加入Windows域

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

对于RHEL 8:

sudo realm join -U user——client-software=winbind realm 

对于Amazon Linux 2和RHEL 7:

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

领域是大写的Kerberos领域名称,和用户是具有向域添加计算机权限的域用户。

为Winbind配置PAM

默认情况下,Winbind PAM模块的配置(pam_winbind)不支持Kerberos票据缓存和创建主目录。开放/etc/security/pam_winbind.conf并在[Global]部分下添加或更改以下条目:

krb5_auth = yes
krb5_ccache_type =文件
mkhomedir = yes

确保每个设置中的前导分号都被删除。这些更改需要重新启动Winbind守护进程:

sbin/service winbind restart 

提示:

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

开放/etc/krb5.conf并将下面的[libdefaults]部分中的KEYRING设置为FILE类型:

default_ccache_name =文件:/ tmp / krb5cc_ % {uid}

验证域成员

交付控制器要求所有VDA机器(Windows和Linux VDA)在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 

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

中< !——NeedCopy >

退出会议。

退出< !——NeedCopy >

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

追求认证服务

在域控制器上配置Quest

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

允许域用户登录到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 VDA)中都有一个计算机对象活动目录.验证与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 >

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

Centrify组合

加入Windows域

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

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

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

验证域成员

交付控制器要求所有VDA机器(Windows和Linux VDA)中都有一个计算机对象活动目录.验证加入centrify的Linux机器是否在域中:

Su - adinfo 

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

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

Adinfo——sysinfo all Adinfo -diag 

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

adinfo——测试< !——NeedCopy >

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

SSSD

如果您正在使用SSSD,请遵循本节中的说明。本节介绍如何将Linux VDA计算机连接到Windows域,并提供配置Kerberos身份验证的指导。

在RHEL和CentOS上设置SSSD的操作步骤如下:

  1. 加入域并创建主机keytab
  2. 设置SSSD
  3. 使SSSD
  4. 验证Kerberos配置
  5. 验证用户身份验证

加入域并创建主机keytab

SSSD不提供加入域和管理系统keytab文件的Active Directory客户端功能。您可以使用adclirealmd,或Samba代替。

本节介绍SambaAmazon Linux 2和RHEL 7的方法adcli接近RHEL 8。为realmd,请参考RHEL或CentOS的文档。在配置SSSD之前必须遵循这些步骤。

  • Samba (Amazon Linux 2和RHEL 7):

    安装或更新所需的软件包:

    Sudo yum -y install krb5-workstation authconfig oddjob-mkhomedir samba-common-tools 

    在配置了正确文件的Linux客户端上:

    • /etc/krb5.conf
    • /etc/samba/smb.conf:

    为Samba和Kerberos身份验证配置机器:

    sudo authconfig——smbsecurity=ads——smbworkgroup=domain——smbrealm=REALM——krb5realm=REALM——krb5kdc=fqdn-of-domain-controller——update 

    在哪里领域Kerberos领域名称是大写的和是Active Directory域NetBIOS的简称。

    注意:

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

    如果需要通过dns查找KDC服务器和域名,可在命令后增加以下两个选项:

    ——enablekrb5kdcdns enablekrb5realmdns

    开放/etc/samba/smb.conf并将以下条目添加到(全球)类生成的节之后authconfig工具:

    Kerberos方法= secrets和keytab
    Winbind离线登录= no

    加入Windows域。确保您的域控制器可访问,并且您有一个Active Directory用户帐户,具有将计算机添加到域的权限:

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

    领域Kerberos领域名称是大写的和用户是具有向域添加计算机权限的域用户。

  • Adcli (RHEL 8):

    安装或更新所需的软件包:

    Sudo yum -y install samba-common samba-common-tools krb5-workstation authconfig oddjob-mkhomedir realmd oddjob authselect 

    为Samba和Kerberos身份验证配置机器:

    Sudo authselect select SSSD with-mkhomedir——force 

    开放/etc/krb5.conf并在[realms]和[domain_realm]部分下添加条目。

    在[realms]部分下:

    领域= {
    kdc = fqdn-of-domain-controller

    在[domain_realm]部分:

    域=域.realm =领域

    加入Windows域。确保您的域控制器可访问,并且您有一个Active Directory用户帐户,具有将计算机添加到域的权限:

    sudo realm join realm -U user 

    领域Kerberos领域名称是大写的和用户是具有向域添加计算机权限的域用户。

设置SSSD

设置SSSD包括以下步骤:

  • 安装sssd-ad在Linux VDA上运行安装SSSD命令。
  • 对各种文件(例如,sssd.conf)进行配置更改。
  • 启动sssd服务。

一个例子sssd.confRHEL 7的配置(可以根据需要添加额外的选项):

RHEL 7的SSSD配置示例

取代ad.example.comserver.ad.example.com对应的值。有关更多细节,请参见ssd-ad(5) - Linux手册页

(仅限RHEL 8)打开/etc/sssd/sssd.conf并在[domain/ad.example.com]部分添加以下条目:

ad_gpo_access_control =宽容
full_name_format = % 2 $ s \ % 1 $ s
fallback_homedir = /home/ % d / % u
# Kerberos设置
krb5_ccachedir = / tmp
krb5_ccname_template =文件:% d / krb5cc_ % U

设置sssd.conf文件的归属和权限:

乔恩根:根/etc/sssd/sssd.conf
chmod 0600 /etc/sssd/sssd.conf
restorecon /etc/sssd/sssd.conf

使SSSD

对于RHEL 8:

运行命令启用SSSD功能。

Sudo systemctl restart SSSD Sudo systemctl enable SSSD。Service sudo chkconfig SSSD on 

对于Amazon Linux 2、CentOS 7和RHEL 7:

使用authconfig使SSSD。安装oddjob-mkhomedir确保创建的主目录与SELinux兼容:

Authconfig——enablesssd——enablesssdauth——enablemhomedir——update sudo service SSSD start sudo chkconfig SSSD on 

验证Kerberos配置

验证系统keytab文件已创建并包含有效的密钥:

Sudo klist -ke 

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

sudo kinit -k MACHINE\$@REALM 

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

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

sudo中< !——NeedCopy >

验证用户身份验证

使用getent命令来验证是否支持登录格式以及NSS是否正常工作:

sudo getent passwd DOMAIN\\username 

短版本域名。如果需要另一种登录格式,请使用getent命令。

支持的登录格式为:

  • 向下的登录名称:域\用户名
  • 隐喻:username@domain.com
  • NetBIOS后缀格式:username@DOMAIN

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

sudo ssh localhost -l DOMAIN\\username id -u 

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

ls / tmp / krb5cc_ {uid} < !——NeedCopy >

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

中< !——NeedCopy >

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

PBIS

下载所需的PBIS包

对于CentOS 7和RHEL 7,例如:

wget https://github.com/BeyondTrust/pbis-open/releases/download/8.8.0/pbis-open-8.8.0.506.linux.x86_64.rpm.sh < !——NeedCopy >

对于Amazon Linux 2和RHEL 8,例如:

wget https://github.com/BeyondTrust/pbis-open/releases/download/9.1.0/pbis-open-9.1.0.551.linux.x86_64.rpm.sh < !——NeedCopy >

使PBIS安装脚本可执行

对于CentOS 7和RHEL 7,例如:

Chmod +x pbis-open-8.8.0.506.linux.x86_64.rpm.sh 

对于Amazon Linux 2和RHEL 8,例如:

Chmod +x pbis-open-9.1.0.551.linux.x86_64.rpm.sh 

运行PBIS安装脚本

对于CentOS 7和RHEL 7,例如:

sh pbis-open-8.8.0.506.linux.x86_64.rpm.sh < !——NeedCopy >

对于Amazon Linux 2和RHEL 8,例如:

sh pbis-open-9.1.0.551.linux.x86_64.rpm.sh < !——NeedCopy >

加入Windows域

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

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

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

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

验证域成员

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

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

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

验证用户身份验证

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

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

您可以执行新的安装,或者从前两个版本和LTSR版本升级现有安装。

重新安装

  1. (可选)卸载旧版本

    如果您安装的是较早的版本,而不是前两个版本和LTSR版本,请在安装新版本之前卸载它。

    1. 停止Linux VDA服务:

      Sudo /sbin/service CTXHDX stop 

      注意:

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

    2. 卸载包:

      sudo rpm -e XenDesktopVDA 

    注意:

    要运行命令,需要完整的路径;或者,您可以添加/ opt / Citrix / VDA / sbin而且/ opt / Citrix / VDA / bin到系统路径。

  2. 下载Linux VDA包

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

  3. 安装Linux VDA

    • 安装Linux VDA软件百胜

      对于Amazon Linux 2:

      sudo yum install -y XenDesktopVDA-.amzn2.x86_64。rpm < !——NeedCopy >

      对于RHEL 8:

      sudo yum install -y XenDesktopVDA-.el8_x.x86_64。rpm < !——NeedCopy >

      CentOS 7和RHEL 7:

      sudo yum install -y XenDesktopVDA-.el7_x.x86_64。rpm < !——NeedCopy >
    • 通过RPM包管理器安装Linux VDA软件。在此之前,您必须解析以下依赖项:

      对于Amazon Linux 2:

      sudo rpm -i XenDesktopVDA-.amzn2.x86_64. ziprpm < !——NeedCopy >

      对于RHEL 8:

      sudo rpm -i XenDesktopVDA-.el8_x.x86_64. ziprpm < !——NeedCopy >

      CentOS 7和RHEL 7:

      sudo rpm -i XenDesktopVDA-.el7_x.x86_64. ziprpm < !——NeedCopy >

      rhel8的RPM依赖列表:

      qt5-qtbase > = 5.5 ~伊布·> = 1.5 nss-tools > = 3.44.0 gperftools-libs > = 2.4 cyrus-sasl-gssapi > = 2.1 python2 > = 2.7 ~ postgresql-jdbc > = 42.2.3 postgresql服务器> = 10.6 java-11-openjdk > = 11 icoutils > = 0.32 firewalld > = 0.8.0 policycoreutils-python-utils > = 2.9 python3-policycoreutils > = 2.9 dbus > = 1.12.8 dbus-common > = 1.12.8 dbus-daemon > = 1.12.8 dbus-tools > = 1.12.8 dbus-x11 > = 1.12.8 xorg-x11-server-utils > = 7.7 xorg-x11-xinit > = 1.3.4 libXpm > = 3.5.12 libXrandr > = 1.5.1 libXtst > = 1.2.3Motif >= 2.3.4 PAM >= 1.3.1 util-linux >= 2.32.1 util-linux-user >= 2.32.1 xorg-x11-utils >= 7.5 bash >= 4.4 findutils >= 4.6 gawk >= 4.2 sed >= 4.5 cups >= 2.2 fomatic -filters >= 4.0.9 cups-filters >= 1.20.0 ghostscript >= 9.25 libxml2 >= 2.9 libmspack >= 0.7 

      Amazon Linux 2、CentOS 7和RHEL 7的RPM依赖列表:

      qt5-qtbase > = 5.5 ~ libmspack > = 0.5的伊布·> = 1.5 cyrus-sasl-gssapi > = 2.1 gperftools-libs > = 2.4 nss-tools > = 3.44.0 postgresql服务器> = 9.2 postgresql-jdbc > = 9.2 java-11-openjdk > = 11 ImageMagick > = 6.7.8.9 firewalld > = 0.3.9 policycoreutils-python > = 2.0.83 dbus > = 1.6.12 dbus-x11 > = 1.6.12 xorg-x11-server-utils > = 7.7 xorg-x11-xinit > = 1.3.2 xorg-x11-server-Xorg > = 1.20.4 libXpm > = 3.5.10 libXrandr > = 1.4.1 libXtst > > = 2.3.4 pam > = = 1.2.2图案1.1.8 util-linux > = 2.23.2 bash > = 4.2findutils >= 4.5 gawk >= 4.0 sed >= 4.2 cups >= 1.6.0 folic -filters >= 4.0.9 openldap >= 2.4 cyrus-sasl >= 2.1 cyrus-sasl-gssapi >= 2.1 libxml2 >= 2.9 python-requests >= 2.6.0 gperftools-libs >= 2.4 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 pmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(PayloadIsXz) <= 5.2-1 

    注意:

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

    在RHEL 7上安装Linux VDA后。x,运行Sudo yum install -y python-websockify x11vnc命令。目的是安装python-websockify而且x11vnc手动使用会话跟踪特性。有关更多信息,请参见影子会话

升级现有的安装

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

注意:

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

  • 升级您的软件使用百胜

    对于Amazon Linux 2:

    sudo yum install -y XenDesktopVDA-.amzn2.x86_64。rpm < !——NeedCopy >

    对于RHEL 8:

    sudo yum install -y XenDesktopVDA-.el8_x.x86_64。rpm < !——NeedCopy >

    CentOS 7和RHEL 7:

    sudo yum install -y XenDesktopVDA-.el7_x.x86_64。rpm < !——NeedCopy >
  • 使用RPM包管理器升级您的软件:

    对于Amazon Linux 2:

    sudo rpm - u XenDesktopVDA-.amzn2.x86_64. ziprpm < !——NeedCopy >

    对于RHEL 8:

    sudo rpm - u XenDesktopVDA-.el8_x.x86_64. ziprpm < !——NeedCopy >

    CentOS 7和RHEL 7:

    sudo rpm - u XenDesktopVDA-.el7_x.x86_64. ziprpm < !——NeedCopy >

注意:

如果您使用的是RHEL 7,在执行上述升级命令后,请确保完成以下步骤:

  1. 运行/opt/Citrix/VDA/bin/ctxreg create -k "HKLM\Software\Citrix\VirtualDesktopAgent" -t "REG_SZ" -v "DotNetRuntimePath" -d "/opt/rh/rh-dotnet31/root/usr/bin/"——force . sh设置正确的。net运行时路径。
  2. 重新启动ctxvda服务。

重要的是:

升级软件后重新启动Linux VDA机器。

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

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

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

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

  1. 确保客户虚拟机处于关闭状态。
  2. 该任务指导软件调测工程师在xenenter界面为虚拟机分配图形处理器。
  3. 启动虚拟机。
  4. 为NVIDIA GRID驱动程序准备虚拟机:

    Yum install“kernel-devel-$(uname -r)”systemctl set-default multi-user。目标< !——NeedCopy >
  5. 的步骤红帽企业Linux文档安装NVIDIA GRID驱动程序。

注意:

在安装GPU驱动程序的过程中,为每个问题选择默认选项(' no ')。

重要的是:

开启GPU直通后,无法通过XenCenter访问Linux虚拟机。使用SSH连接。

NVIDIA smi代码片段

为卡设置正确的配置:

等/ X11 / ctx-nvidia.sh

要利用大分辨率和多显示器功能,您需要一个有效的NVIDIA许可证。请参考《GRID license license Guide.pdf - DU-07757-001 September 2015》中的产品文档申请license。

步骤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服务器通过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.Xclients下的文件$ HOME / <用户名>目录。如果您正在使用Amazon Linux 2,请创建一个.Xclients文件。如果您正在使用其他发行版,请创建一个.xsession文件。
    2.编辑.xsession.Xclients文件以指定基于发行版的桌面环境。> >-适用于亚马逊Linux 2、CentOS和RHEL上的MATE桌面MSESSION= " $(type -p mate-session) "
    > if [-n " $MSESSION "];然后
    > exec mate-session
    > fi
    > >-用于CentOS和RHEL上的GNOME桌面> > GSESSION= " $(type -p gome -session) "
    > if [-n " $GSESSION "];然后
    > export GNOME_SHELL_SESSION_MODE =经典
    > exec gnome-session -session =gnome-classic . > exec gnome-session -session =gnome-classic . >
    > fi
    >-用于Amazon Linux 2上的GNOME桌面> > GSESSION= " $(type -p gome -session) "
    > 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服务使更改生效。

步骤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 /sbin/service ctxvda start 

停止Linux VDA:

停止Linux下的VDA服务。

Sudo /sbin/service CTXHDX stop 

注意:

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

重新启动Linux VDA:

重新启动Linux VDA服务。

Sudo /sbin/service ctxvda stop Sudo /sbin/service CTXHDX restart Sudo /sbin/service ctxvda start 

查看Linux VDA的状态:

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

Sudo /sbin/service CTXHDX status 

步骤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机器的机器目录混合在一起。

重要的是:

Linux VDA Version 1.4及更高版本支持发布应用程序。但是,Linux VDA不支持将桌面和应用程序交付到同一台机器上。

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