Sei sulla pagina 1di 31

UDS ENTERPRISE VIRTUAL APPS & VDI

➢ Requerimientos de sistema

UDS Enterprise es un broker de conexiones multiplataforma para virtualización de escritorios y aplicaciones


Windows y Linux. Gestiona el acceso de usuarios a escritorios virtuales, aplicaciones virtuales y cualquier servicio
dado de alta en el sistema.

UDS Enterprise se compone de 5 elementos que interactúan entre sí:


 Servidor UDS (Broker): Se instala como máquina virtual (MV) y se facilita en formato virtual
appliance.
 Tunelizador UDS: Se instala como MV y se facilita en formato virtual appliance.
 Base de datos UDS: Se instala como MV y se facilita en formato virtual appliance (No aplica en
UDS Enterprise Free Edition & Versión de Evaluación).
 Actor UDS: Se instala como un servicio en la MV que se usará como plantilla para el despliegue de
los grupos de escritorios.
 Plugin UDS: Se instala en el equipo cliente para poder conectar con los servicios de escritorio (con
todos los protocolos de conexión excepto HTML5).

A continuación se definen las características y requerimientos técnicos de cada uno de ellos:

Servidor UDS (Broker)


Es el software que media entre clientes y proveedores de servicio. Es la pieza fundamental de UDS
Enterprise, realiza las funciones de Broker de conexión a los servicios de escritorio permitiendo la administración y
gestión de las plataformas definidas como servicios implementados.

Virtual Appliance con las siguientes características:

 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.

Virtual Appliance con las siguientes características:

 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.

Virtual Appliance con las siguientes características:

 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.

Los sistemas operativos soportados son:


 Windows 10
 Windows 8.1
 Windows 8
 Windows 7
 Windows 2008
 Windows 2012
 Windows 2016
 Linux (Debian, Ubuntu, CentOS, Fedora, OpenSuse, etc…)

Requerimientos:

 .Net Framework 3.5 SP1 (máquinas Windows)


 Python 2.7 (máquinas Linux)
 UDS Master Key
 IP UDS Server

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.

Los sistemas operativos soportados son:


 Windows 10
 Windows 8.1
 Windows 8
 Windows 7
 Windows 2008
 Windows 2012
 Windows 2016
 Linux (Debian, Ubuntu, CentOS, Fedora, OpenSuse, etc…)
 MAC OSX (10.5 o superior)
Requerimientos de infraestructura
Los requerimientos de infraestructura necesarios para que UDS Enterprise pueda ser desplegado
son:
 Plataforma de virtualización. Será la encargada de alojar los escritorios virtuales generados
y de ejecutar los servidores que conforman UDS.
o Usuario y Password del gestor de la plataforma de virtualización con permisos de
administrador.
 Servidor DNS. Este servicio es necesario tanto para el buen funcionamiento de la
plataforma virtual como para la plataforma UDS a desplegar.
 Servidor DHCP. Es necesario un servidor DHCP que permita asignar direcciones IP a los
grupos de escritorios virtuales creados automáticamente por UDS.

Requerimientos de Plataforma Virtual Hyper-V


UDS podrá ser desplegado sobre plataformas Microsoft Hyper-V versión 3. La plataforma Microsoft
Hyper-V sobre la que se desplegará UDS debe cumplir los siguientes requerimientos:
 Se necesita al menos un servidor Microsoft Hyper-V con una licencia válida para
alojar los servidores UDS y generar los escritorios virtuales.
 Es necesario que los servidores Microsoft Hyper-V no formen parte de un cluster
Microsoft.
 Para que UDS pueda funcionar correctamente contra un servidor Microsoft Hyper-V
es necesario que éste no forme parte de un cluster Microsoft. Las próximas versiones de UDS
soportarán varios servidores Microsoft Hyper-V en cluster.
 Es necesario tener definido al menos un Virtual Switch al que se van a conectar los
servidores virtuales de la plataforma UDS.
 Es necesario tener definido al menos un Virtual Switch al que se van a conectar los
diferentes escritorios virtuales gestionados por UDS.
 Es necesario disponer de las credenciales de un usuario con permisos de
administración sobre la plataforma Microsoft Hyper-V sobre la que se van a desplegar los escritorios
virtuales.
 Son necesarios al menos 23 GB de espacio libre en disco para alojar los servidores
virtuales que conforman UDS.
 Son necesarios al menos 3 GB de RAM libres para alojar los servidores virtuales
que conforman UDS.
 Para el correcto funcionamiento de Microsoft Hyper-V con UDS es necesario
habilitar WSMan en cada host Hyper-V usado con UDS.
 Para habilitarlo mediante HTTPS, será necesario disponer de un certificado válido.
Para habilitarlo mediante HTTP, ejecutamos:
 winrm quickconfig
 winrm set winrm/config/service '@{AllowUnencrypted="true"}'
 winrm set winrm/config/service/auth '@{Basic="true"}'
Requerimientos de red
Para la configuración de red de UDS es necesario tener disponibles y definidos los siguientes
elementos:
 Reservar al menos 3 direcciones IP dentro del mismo rango:
 1 IP Para el broker UDS.
 1 IP Para la base de datos MySQL.
 1 IP Para el Tunelizador (en el caso de que este sea necesario).

 También será necesario tener disponibles:


 Las máscaras de red.
 Dirección IP del servidor DNS.
 Dirección IP del Gateway.
 Nombre de Dominio (si lo hubiera).
 Dirección IP del servidor Hyper-V.

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

Broker VMs: 2 vCPU, 1 GB de RAM, 5 GB de disco y 1 vNIC


Tunneler VMs: 2 vCPU, 4 GB de RAM, 10 GB de disco y 1 vNIC
MySQL VMs: 2 vCPU, 2 GB de RAM, 30 GB de disco y 1 vNIC
Requisitos para el despliegue en HA:
En este ejemplo de configuración de UDS Enterprise en HA, se han utilizado los siguientes recursos:

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).

Servidor UDS Broker:


 2 Virtual Appliance UDS_Server (proporcionado por VirtualCable), los requisitos
mínimos, por cada appliance son:
1 GB de vRAM
5 GB de disco
1 vNIC en c/u.
 Datos IP: 2 direcciones IP (Una para cada servidor), máscara de red, Gateway y DNS.
 Número de serie válido para versión Enterprise.
 Datos de conexión con la BBDD MySQL: dirección IP, instancia, usuario y password.
Servidor UDS Tunneler:
 2 Virtual Appliance UDS_Tunneler (proporcionado por VirtualCable), los requisitos mínimos, por cada
appliance son:
1 GB de vRAM
10 GB de disco
1 vNIC en c/u.
 Datos IP: 2 dirección IP (Una para cada servidor), máscara de red, Gateway y DNS.
 Dirección IP del balanceador (en este ejemplo usaremos HAProxy.)

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.

Configuración de los servidores MySQL Clúster (Master y Slave)

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

-Instalación Nodo principal Mysql:

Instalamos un primer appliance Mysql:

** 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):

# This file describes the network interfaces available on your system


# and how to activate them. For more information, see interfaces(5).

# The loopback network interface


auto lo
iface lo inet loopback

# The primary network interface


allow-hotplug eth0
iface eth0 inet static
address 192.168.141.50
netmask 255.255.255.0
gateway 192.168.141.2
dns-nameservers 192.168.141.5

Control+X y Y para guardar.

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.

Habilitamos el servicio MariaDB con el siguiente comando:


systemctl enable mariadb

Levantamos el servicio MariaDB con el siguiente comando:


systemctl start mariadb

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.

Introducimos uds y Enter

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.

-Instalación Nodo secundario Mysql:


Seguiremos los mismos pasos que para el principal, cambiando la IP por 192.168.141.49

CONFIGURACIÓN DEL CLUSTER MYSQL

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:

systemctl restart mariadb

Crear usuario en los servidores mariadb:


Debemos crear un usuario, el mismo en ambos nodos, el cual vamos a utilizar, para realizar la replicación,
para ello ejecutaremos el siguiente comando:
mysql -p
El proceso de creación nos solicitará, que introduzcamos la password del usuario root (uds en este ejemplo)

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;

Configuración del nodo Master de la BBDD


Necesitaremos resetear el nodo Master, para saber la posición del registro binario que MySQL ha generado
automáticamente, para ello utilizaremos el comando:
reset master;

Con el siguiente comando veremos en qué posición se encuentran los logs:


show master status;

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;

Configuración del nodo Slave de la BBDD


El siguiente paso en la configuración, será la sincronización entre ambos servidores, para ello tendremos que indicar
en el servidor uds-mysql01 indicar el nombre del otro (uds-mysql02) y viceversa. Para poder hacer esta configuración,
lo primero que tenemos que hacer es parar el slave, para ello utilizaremos el comando:
stop slave;
Tras parar el servicio, tendremos que indicar, mediante el siguiente comando, los datos, IP del master, usuario y
contraseña para la conexión, fichero donde se encuentra el log, y en qué posición se encuentra, esta posición es la
que sacamos en el apartado anterior:

change master to master_host='192.168.141.50', master_user='reply', master_password='{Temporal123!}',


master_log_file='mysql-bin.000001', master_log_pos=313;

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:

Después nos pedirá el número de serie proporcionado por Virtualcable:


Introducimos los datos de configuración de red del appliance:

Introducimos los datos de configuración de acceso a la BBDD MySQL (Master):

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:

Y finaliza la instalación con los datos indicados:


Tras realizar la configuración, deberemos aceptar y reiniciar el servidor:

Deberemos repetir todos estos pasos, con el segundo servidor UDS Server (uds-broker02) modificando únicamente
su dirección IP.

SERVIDORES HAPROXY PARA BALANCEO

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.

Seleccionamos el idioma de instalación.


Seleccionamos el país:

Seleccionamos el idioma del teclado:

Introducimos el nombre de la máquina:


Y el dominio:

Ahora nos pedirá la contraseña del superusuario (root):

Y confirmar la contraseña:

Creamos un usuario con permisos de administrador:


Y como antes, introducir y confirmar el password del usuario:

Seleccionamos la zona horaria:

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:

Seleccionamos que se instale Grub boot loader:

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):

# This file describes the network interfaces available on your system


# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface


auto lo
iface lo inet loopback

# The primary network interface


allow-hotplug ens32
iface ens32 inet static
address 192.168.141.70
netmask 255.255.255.0
gateway 192.168.141.2
dns-nameservers 192.168.141.5

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.

Instalar y configurar el software HAProxy


En este punto procedemos a realizar la instalación del Software HAProxy en “ambos servidores” (uds-
haproxy01 (Master) y uds-haproxy02 (Slave)), configurados cada uno con su nombre y su IP
A través de este ejemplo se muestra el procedimiento que debemos realizar en ambos servidores. Para no
repetir los pasos haremos la configuración en el Master, que tendremos que repetir en el Slave.

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

Y respondemos a las preguntas que nos aparecen:

- 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.

- Instalar paquete HAProxy


Para realizar la instalación ejecutaremos el siguiente comando:
apt-get install haproxy
Tras realizar la instalación del HAProxy, editaremos el fichero de configuración haproxy.cfg, para configurar el servicio,
con el siguiente comando:
nano /etc/haproxy/haproxy.cfg

Eliminaremos el contenido del fichero, añadiendo el siguiente texto:


global
log /dev/log local0
log /dev/log local1 notice
chroot /var/lib/haproxy
stats socket /run/haproxy/admin.sock mode 660 level admin
stats timeout 30s
maxconn 2000
user haproxy
group haproxy
daemon

# Default SSL material locations


ca-base /etc/ssl/certs
crt-base /etc/ssl/private

# Default ciphers to use on SSL-enabled listening sockets.


# For more information, see ciphers(1SSL). This list is from:
# https://hynek.me/articles/hardening-your-webservers-ssl-ciphers/
ssl-default-bind-ciphers
ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RS
A+A$
ssl-default-bind-options no-sslv3
defaults
log global
mode http
option httplog
option dontlognull
option forwardfor
retries 3
option redispatch

stats enable
stats uri /haproxyStats
stats realm Strictly\ Private
stats auth admin:temporal
stats auth user:temporal

timeout connect 5000


timeout client 50000
timeout server 50000
errorfile 400 /etc/haproxy/errors/400.http
errorfile 403 /etc/haproxy/errors/403.http
errorfile 408 /etc/haproxy/errors/408.http
errorfile 500 /etc/haproxy/errors/500.http
errorfile 502 /etc/haproxy/errors/502.http
errorfile 503 /etc/haproxy/errors/503.http
errorfile 504 /etc/haproxy/errors/504.http

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

frontend tunnel-in-guacamole # HTML5


bind *:10443
mode tcp
option tcplog
default_backend tunnel-backend-guacamole

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

Tendremos que añadir al final del fichero la siguiente línea:


net.ipv4.ip_nonlocal_bind=1

Para comprobar que la modificación se ha realizado correctamente, ejecutaremos el siguiente comando:


sysctl -p

Configuración a realizar únicamente en el HAProxy Master:


En este punto se detallan las tareas a realizar en el servidor HAProxy Master.
Creamos el fichero keepalived.conf, utilizando el comando
nano /etc/keepalived/keepalived.conf
Añadimos las siguientes líneas en el fichero:
global_defs {
# Keepalived process identifier
lvs_id haproxy_DH
}
# Script used to check if HAProxy is running
vrrp_script check_haproxy {
script "killall -0 haproxy"
interval 2
weight 2
}
# Virtual interface
# The priority specifies the order in which the assigned
interface to take over in a failover
vrrp_instance VI_01 {
state MASTER
interface ens32
virtual_router_id 51
priority 101
# The virtual ip address shared between the two
loadbalancers
virtual_ipaddress {
192.168.141.105
}
track_script {
check_haproxy
}}

Configuración a realizar únicamente en el HAProxy Slave:


A continuación se detallan las tareas a realizar en el HAProxy Slave
Crearemos el fichero keepalived.conf, mediante el comando:
nano /etc/keepalived/keepalived.conf
Añadiremos el siguiente texto al fichero:
global_defs {
# Keepalived process identifier
lvs_id haproxy_DH_passive
}
# Script used to check if HAProxy is running
vrrp_script check_haproxy {
script "killall -0 haproxy"
interval 2
weight 2
}
# Virtual interface
# The priority specifies the order in which the assigned
interface to take over in a failover
vrrp_instance VI_01 {
state SLAVE
interface ens32
virtual_router_id 51
priority 100
# The virtual ip address shared between the two
loadbalancers
virtual_ipaddress {
192.168.1.164
}
track_script {
check_haproxy
}
}

Acceso web UDS Enterprise 192.168.141.105


Una vez terminada la configuración de todos los elementos, podremos realizar el acceso a la ventana de login de
UDS Enterprise, mediante la dirección IP virtual compartida entre los dos load balancers (192.168.141.105):

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:

En la pestaña Security, encontraremos el parámetro “Behind a proxy”


Configuración de UDS Tunneler
En este ejemplo realizaremos la instalación de dos Virtual Appliance UDS Tunneler, proporcionados por VirtualCable
con la siguiente configuración:
 Nombre de las máquinas: uds-tunneler01 y uds-tunneler02
 Dirección IP: 192.168.141.52 (uds-tunneler01) y 192.168.141.62 (uds-tunneler02)
 Recursos: 2 vCPU, 1 GB de RAM, 10 GB de disco y 1 vNIC (cada Virtual Appliance UDS Tunneler)
 Dirección IP de la máquina HAProxy (Master).

Al arrancar el Virtual Appliance por primera vez, se iniciará el proceso de configuración, donde tendremos que Indicar
el idioma del teclado:

Introducimos los datos de configuración de red para el Virtual Appliance:


Introducimos la dirección IP con la que comunicarse con el UDS Server, en un entorno configurado en alta
disponibilidad, como es este ejemplo, será la dirección del balanceo de los servidores HAProxy:

Introducimos la password para el superusuario (root):


Comprobamos que todos los datos introducidos son correctos y finalizamos la configuración del Virtual Appliance:
Tras realizar la configuración, deberemos reiniciar el Virtual Appliance UDS Tunneler, para que las modificaciones
realizadas se apliquen:

Todas las configuraciones realizadas, deberemos repetirlas con el segundo servidor UDS Tunneler (uds-tunneler02)
modificando únicamente su dirección IP.

Nombres de máquina y Direcciones IP utilizadas

Potrebbero piacerti anche