Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
➢ Requerimientos de sistema
Disco virtual: 5 GB
Memoria: 1 GB
CPU: 2 vCPU
Red: 1 vNIC
Requerimientos:
1 Dirección IP
IP DNS
Máscara de red
IP Gateway
Nombre de dominio
IP de la base de datos
Puerto y nombre de la instancia de la BBDD
Usuario y password de BBDD
Código de activación
Tunelizador UDS
Software encargado de realizar conexiones seguras a servicios de escritorio a través de la WAN y
proveer acceso HTML5 a los servicios. El tunelizador UDS permite conectarse desde cualquier dispositivo/navegador/
cliente a los servicios de escritorio mediante un túnel SSH sin tener instalado previamente ningún tipo de software.
Además, permite el acceso RDP a servicios de escritorio a través de HTML5.
Disco: 10 GB
Memoria: 1 GB
CPU: 2 vCPU
Red: 1 vNIC
Requerimientos:
1 Dirección IP
IP DNS
Máscara de red
IP Gateway
Nombre de dominio
IP UDS Server
Base de Datos UDS*
Es el componente que se encarga de almacenar todos los datos del sistema UDS, como proveedores
de servicios, autenticadores, conectividad, etc… y toda la información que hará posible la generación de estadísticas.
Actualmente, sólo está soportado el gestor de bases de datos MySQL a partir de la versión 5.5. Es necesario disponer
de una base de datos MySQL en el momento de la instalación debidamente configurada con una instancia válida y un
usuario.
¡IMPORTANTE! En caso de no disponer de dicho gestor de base de datos, VirtualCable puede facilitar este
componente como virtual appliance. Este componente no está incluido en el soporte de UDS Enterprise.
Disco: 8 GB
Memoria: 1 GB
CPU: 1 vCPU
Red: 1 vNIC
Requerimientos:
1 Dirección IP
IP DNS
Máscara de red
IP Gateway
Nombre de dominio
Nombre de instancia de BBDD
Usuario con permisos sobre la instancia
Actor UDS
Es el software que realiza las funciones de comunicación e interfaz para la transmisión de datos
(estado de escritorio virtual, nombre de máquina…) y comandos entre el Broker y los servicios de escritorio
gestionados por UDS Enterprise. Se instala como un servicio en la máquina virtual que se va a usar como plantilla
(gold image) para generar grupos de servicios de escritorio basados en Linked Clones.
Requerimientos:
Plugin UDS
Es el software que realiza la llamada al protocolo de conexión para ejecutar servicios de escritorio. Se
instala en el equipo cliente para poder conectar con los servicios de escritorio.
Conexiones de red
Es necesario tener habilitados los siguientes puertos de comunicación entre los diferentes elementos
que conforman la plataforma UDS Enterprise:
Configurar UDS Enterprise en alta disponibilidad
Los componentes de UDS Enterprise (UDS Server, UDS Tunneler y MySQL) se pueden configurar en alta
disponibilidad (HA), para que en caso de caída de alguno de estos elementos, ya sea debido a un fallo del hipervisor
que los aloja o por el fallo del propio Virtual Appliance, un usuario o administrador, no pierda acceso al sistema. UDS
Enterprise se puede configurar en alta disponibilidad (HA) utilizando cualquier balanceador de carga, que soporte los
modos TCP y HTTP/HTTPS.
DIAGRAMA
HypervUDS01 HypervUDS02
Replicación MySQL
UDS-Tunneler01 UDS-Broker01 UDS-MySQL01 UDS-MySQL02 UDS-Broker02 UDS-Tunneler02
Balanceador
BBDD MySQL:
2 Virtual Appliance UDS_MySQL (proporcionado por VirtualCable), los requisitos mínimos, por cada
appliance son:
1 GB de vRAM
8 GB de disco
1 vNIC en c/u
Datos IP: 2 direcciones IP, una para cada servidor (Master - Slave), máscara de red, Gateway y DNS.
Datos BBDD: Instancia, usuario y contraseña (por defecto, instancia: uds, usuario: uds, password: uds).
HAProxy:
S.O. y recursos: Servidor Linux Debian 9.4.0 x64 con:
1 GB de RAM
15 GB de disco
1 NIC.
Datos IP: 3 direcciones IP (dos direcciones IP, una para cada servidor (Master - Slave) y una IP virtual
compartida entre los dos servidores que servirá para el balanceo), máscara de red, Gateway y DNS.
Acceso a internet.
Certificado: Es necesario disponer (o generar) un certificado válido para las conexiones SSL en formato
PEM, en este ejemplo se muestra cómo crear un certificado temporal.
Comenzamos realizando la configuración del Virtual Appliance (proporcionado por VirtualCable) MySQL en
modo clúster con la siguiente configuración:
Master (Nodo principal):
Nombre de máquina: uds-mysql01
Dirección IP: 192.168.141.50
Recursos: 1 vCPU, 1 GB de RAM, 8 GB de disco y 1 vNIC
Slave (Nodo secundario):
Nombre de máquina: uds-mysql02
Dirección IP: 192.168.141.49
Recursos: 1 vCPU, 1 GB de RAM, 8 GB de disco y 1 vNIC
** Si queremos acceder a la máquina por SSH, tenemos que hacer unos pequeños ajustes:
- Modificaremos el fichero /etc/ssh/sshd_config (nano /etc/ssh/sshd_config), buscaremos donde pone
PermitRootLogin No y cambiaremos el No por Yes y pulsamos Control+X y Yes para guardar.
Una vez en consola, lanzaremos el comando service sshd restart y ya podemos entrar por Putty.
Accedemos a la máquina:
Usuario root, pass uds
Modificamos /etc/network/interfaces (con la orden nano /etc/network/interfaces):
Entramos con el navegador a su IP (https://IP-DEL-HOST:9090, user root, pass uds) y pulsamos en nombre de host y
lo modificamos también:
Reiniciar la máquina.
Lanzamos el script, para proteger nuestra BBDD, secure MySQL con el siguiente comando:
mysql_secure_installation
El proceso de instalación nos solicita, que introduzcamos la contraseña actual, para el usuario root, ya que para
realizar el proceso necesitamos permisos de administrador.
Nos preguntará si queremos cambiar el password del usuario root, en este caso pulsaremos n y Enter.
Nos preguntará si queremos eliminar los usuarios anónimos existentes, en este caso pulsamos y y Enter.
Nos preguntará si queremos deshabilitar el inicio de sesión de root de forma remota, en este caso pulsamos y y Enter.
Nos preguntará si queremos eliminar la base de datos de prueba y acceder a ella, en este caso pulsamos y y Enter.
Nos preguntará si queremos recargar las tablas de privilegios ahora, en este caso pulsamos y y Enter.
Tras completar el proceso, tendremos ¡Todo listo!, nuestra BBDD MariaDB ahora es segura.
Una vez que ya tenemos configuradas las dos máquinas que van a formar el cluster, editaremos el fichero
my.cnf en las dos (nano /etc/mysql/my.cnf) añadiendo las siguientes líneas, debajo de la etiqueta de sección [mysqld]:
server-id=1
log-bin=mysql-bin
binlog_format=row
Y pulsamos CTRL+X y Y+Enter para guardar.
** Tenemos que tener cuidado a la hora de configurar el parámetro server-id, ya que debemos colocar el
número 1 en el Master y el número 2 en el Slave.
Reiniciaremos la BBDD en ambos nodos, para que los cambios realizados se apliquen en la configuración de la
BBDD, con el siguiente comando:
Una vez validado con el súper usuario, ejecutaremos la siguiente sentencia SQL, para la creación del usuario, en este
ejemplo vamos a crear el usuario reply (sustituiremos Temporal123! por la pass que queramos ponerle):
create user 'reply'@'%' identified by '{Temporal123!}';
Tras crear el usuario, deberemos replicarlo, para ello utilizaremos la siguiente sentencia:
grant replication slave on *.* to 'reply'@'%' identified by '{Temporal123!}';
Tendremos que conceder privilegios de descarga, para que pueda actualizarse la BBDD, para ello utilizaremos el
siguiente comando:
flush privileges;
Guardaremos el número de la posición (313 en este caso), ya que necesitaremos utilizarlo posteriormente, cuando
tengamos que configurar master_log_pos=
El último paso que tendremos que realizar es salir de la consola de configuración con el comando:
exit;
Por último tendremos que iniciar el servicio de replicación de MySQL y verificar que esta todo configurado
correctamente, para realizar la verificación, hay que comprobar los campos “Master_Host”, este campo tiene que
tener la dirección IP del otro mysql y los campos “Slave_IO_ Running” y “Slave_SQL_Running” que deben de estar en
“Yes”. Para hacer la comprobación primero arrancamos el servicio con el comando:
start slave;
Una vez que tenemos el servicio arrancado, ejecutamos el siguiente comando para que nos muestre la configuración:
show slave status \G;
Probando la replicación:
Tras verificar que las configuraciones que hemos realizado están correctas, comenzaremos a realizar las pruebas de
funcionamiento, para ello realizaremos la siguiente prueba, para verificar que todo funcione perfectamente:
1. Crearemos una nueva base de datos en el master y comprobaremos si se crea en el esclavo. Para ello
conectaremos en el servidor Master con el usuario root, mediante el comando:
mysql -u root -p
Nos solicitará la contraseña del usuario, se la indicamos y podremos realizar la creación de una BBDD de pruebas
con la siguiente sentencia:
create database testdb;
2. Conectaremos en el servidor Slave, para comprobar que la BBDD que hemos creado en el servidor master, se
encuentra creada, para ello conectaremos con el usuario root, mediante el comando:
mysql -u root -p
Nos solicitará la contraseña del usuario, se la indicamos y podremos realizar el listado de las BBDD creadas, con la
siguiente sentencia:
show databases;
Mediante este procedimiento podremos comprobar que la configuración realizada es correcta y está funcionando
correctamente.
Configuración de UDS Server y UDS Tunneler
Configuración de UDS Server:
Una vez configurado el clúster MySQL, en este ejemplo, procedemos a instalar y configurar los dos Virtual
Appliance UDS Server (broker) proporcionados por VirtualCable con la siguiente configuración:
Nombre de las máquinas: uds-broker01 y uds-broker02
Dirección IP: 192.168.141.51 (uds-broker01) y 192.168.141.61 (uds-broker02)
Recursos: 2 vCPU, 1 GB de RAM, 5 GB de disco y 1 vNIC por appliance.
Al arrancar el Virtual Appliance por primera vez iniciará el proceso de configuración donde tendremos que
Indicar el idioma del teclado:
Completamos los datos de acceso del usuario administrador de la plataforma UDS y la password del usuario root del
Virtual Appliance UDS Server:
Comprobamos que los datos introducidos son correctos y finalizamos la configuración del Virtual Appliance:
Deberemos repetir todos estos pasos, con el segundo servidor UDS Server (uds-broker02) modificando únicamente
su dirección IP.
En este ejemplo como no tenemos un balanceador utilizaremos dos servidores HAProxy en HA como
balanceador para los broker y los tunneler.
Partiremos de una instalación mínima de red de Debian 9.9. Arrancamos la máquina virtual, desde la imagen
o desde el cd, se nos abrirá el instalador, seleccionaremos Install, para comenzar con la instalación. Tenemos que
hacer 2 máquinas iguales, solo cambia el nombre en la instalación.
Y confirmar la contraseña:
Realizamos el particionado del disco, indicando que utilizaremos todo el disco, y el disco que vamos a utilizar:
Indicamos que no tenemos descargada la versión completa, para que nos permita realizar la descarga de la última
versión disponible:
Seleccionamos desde donde queremos realizar la descarga:
El proceso de instalación, nos preguntará si queremos participar con información acerca del uso que realizamos,
mediante estadísticas, etc, en este ejemplo indicamos que no:
Seleccionamos los componentes SSH Server y Utilidades estándar del sistema, para que sean instalados:
Al terminar la instalación en ambas máquinas, estarán listas, para realizar la instalación del Software HAProxy, y su
posterior configuración, ya que como se ha detallado antes una se configurará como Master y el otro como Slave.
** Si queremos acceder a las máquinas por SSH, tenemos que hacer unos pequeños ajustes:
- Modificaremos el fichero /etc/ssh/sshd_config (nano /etc/ssh/sshd_config), buscaremos donde pone
#PermitRootLogin prohibit-password y quitaremos la # y cambiaremos el prohibit-password por Yes y
pulsamos Control+X y Si para guardar.
Una vez en consola, lanzaremos el comando service sshd restart y ya podemos entrar por Putty.
También tenemos que cambiar la IP en ambas máquinas, ya que por defecto viene en DHCP y tenemos que poner a
cada una la que le tengamos reservada.
Accedemos a la máquina:
Modificamos /etc/network/interfaces (con la orden nano /etc/network/interfaces):
source /etc/network/interfaces.d/*
En la segunda máquina sería lo mismo, sustituyendo la IP 70 por la 71 que sería la suya y reiniciaríamos las
máquinas.
Actualizar
El primer servidor que vamos a configurar lo utilizaremos como Master, para ello
accedemos vía SSH a la máquina.
- Actualizamos los repositorios.
El primer paso que tendremos que realizar, es la actualización de los repositorios con el comando:
apt-get update
Instalar HAProxy
- Crear certificado temporal:
Antes de instalar el HAProxy, deberemos disponer de un certificado válido, en caso de no disponer de uno, se
muestra cómo crear un certificado temporal.
Dicho certificado lo debemos crear para ambos servidores (Master y Slave).
Para generar el certificado deberemos ejecutar el siguiente comando:
openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /root/ssl.key -out /root/ssl.crt
- Crear el .pem
Crearemos el fichero .pem con el siguiente comando
cat /root/ssl.crt /root/ssl.key > /etc/ssl/private/haproxy.pem
Una vez terminado este proceso, ya tendremos creados los certificados. Ahora ya podremos realizar la instalación del
software HAProxy, que actuará como balanceador de carga entre los servidores de UDS Enterprise.
stats enable
stats uri /haproxyStats
stats realm Strictly\ Private
stats auth admin:temporal
stats auth user:temporal
frontend http-in
bind *:80
mode http
reqadd X-Forwarded-Proto:\ http
default_backend uds-backend
frontend https-in
bind *:443 ssl crt /etc/ssl/private/haproxy.pem
mode http
reqadd X-Forwarded-Proto:\ https
default_backend uds-backend
frontend tunnel-in
bind *:1443
mode tcp
option tcplog
default_backend tunnel-backend-ssl
backend uds-backend
# redirect scheme https if !{ ssl_fc }
# redirect http to https
# balance source
option httpclose
server uds1 192.168.141.51:80 check
server uds2 192.168.141.61:80 check
backend tunnel-backend-ssl
mode tcp
option tcplog
balance source
server udsts1 192.168.141.52:443 check
server udsts2 192.168.141.62:443 check
backend tunnel-backend-guacamole
mode tcp
option tcplog
balance source
server udstg1 192.168.141.52:10443 check
server udstg2 192.168.141.62:10443 check
Tras realizar la configuración del fichero, deberemos reiniciar el servicio HAProxy, para que los cambios se apliquen,
el reinicio lo realizaremos con el comando:
service haproxy restart
Una vez que hemos terminado la instalación de HAProxy, instalaremos Keepalive, para que verifique si las
conexiones siguen funcionando correctamente.
- Instalar Keepalive
Keepalive es una aplicación, que se encarga de hacer el seguimiento de las conexiones de red entre cliente y
servidor hasta que uno de los dos interrumpe la conexión. Para mayor información puede visitar el siguiente link.
Para realizar la instalación de Keepalive, ejecutaremos el siguiente comando:
apt-get install keepalived
Tras realizar la instalación, editaremos el fichero sysctl.conf, ejecutando el comando:
nano /etc/sysctl.conf
El acceso de los usuarios será automáticamente balanceado a través de los dos servidores UDS y en caso de caída
de uno de ellos todas las peticiones serán redirigidas al servidor activo, evitando que se deje de prestar el servicio.
Cuando un usuario acceda a un escritorio o aplicación virtual a través del componente UDS Tunneler, las conexiones
serán repartidas entre los dos servidores y en caso de caída del servidor activo por el que esté conectado un usuario,
la conexión se cortará, pero al realizar de nuevo el acceso al servicio, será conectado a través de otro servidor
túnel activo.
Parámetros avanzados de UDS Enterprise www.udsenterprise.com
Cuando configuramos el acceso a UDS Enterprise, a través de un balanceador de carga, el sistema detectará la
dirección IP del cliente de conexión como la dirección IP del balanceador:
Esto nos puede generar problemas, a la hora de utilizar un autenticador IP o en la detección de red en
configuraciones de transportes con filtros de red. Para solucionar este inconveniente, deberemos indicar al sistema
que los servidores UDS se encuentran detrás de un proxy habilitando la opción “Behind a proxy”, para ello en el menú
lateral desplegaremos Tools y entraremos en la sección Configuración:
Al arrancar el Virtual Appliance por primera vez, se iniciará el proceso de configuración, donde tendremos que Indicar
el idioma del teclado:
Todas las configuraciones realizadas, deberemos repetirlas con el segundo servidor UDS Tunneler (uds-tunneler02)
modificando únicamente su dirección IP.