Dentro de mi trabajo actual me pidieron instalar una GUI y xrdp a uno de los servers RHEL que se tienen, pero como en muchos ambientes corporativos la maquina no contaba con salida a internet (solo tenian un repo local con ciertos paquetes disponibles), asi que me tope con este pequeño desafio y se los quiero compartir. (no se ofendan por favor gurús de la seguridad empresarial)
Resumen:
A partir de una imagen docker Rocky Linux 8.10 (opensource y compatible con RHEL) en una maquina con acceso a internet vamos a descargar xrdp y todas sus dependencias, para luego copiarlos a nuestro servidor RHEL que no cuenta con salida a internet para proceder con la instalacion. Para esta practica emplearé una VM con RHEL 8.10 con licencia “Access for developers”.
En mi caso optar por una imagen docker fue mas rapido ya que lo tenia instalado y solo me quedaba bajar la imagen de rocky linux, aunque tambien es valido si tienen una maquina virtual.
Escenario:
- Maquina 1, con imagen docker Rocky Linux (maquina con internet)
- Maquina 2 (RHEL) (maquina sin internet)
- Server with GUI fue instalado en Maquina 2, para contar con el entorno de escritorio.
1. Descargar Xrdp y dependencias
En la maquina con acceso a internet arrancamos la imagen docker rockylinux:8 y ejecutamos bash
docker run -it rockylinux:8 /bin/bash
Actualizamos paquetes e instalamos wget:
dnf update -y
dnf install -y wget zip
Instalamos EPEL ya que xrdp se encuentra en este repositorio.
dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
dnf install -y --downloadonly --downloaddir=/tmp/xrdp-packages xrdp
zip -r /tmp/xrdp-packages.zip /tmp/xrdp-packages
El archivo .zip ahora contiene los rpm de xrdp y sus dependencias. Debemos pasar esto de alguna manera al server RHEL sin acceso a internet.
2. Copiar zip que contiene xrdp y dependencias a server RHEL
Para este proposito hay varias maneras y va depender de las posibilidades en su infraestructura.
En mi caso y para este tutorial copiaremos el archivo al server RHEL mediante SFTP.
docker cp ID_CONTAINER:/tmp/xrdp-packages.zip PATH_DONDE_GUARDAR_EN_MAQUINA1
3. Instalar Xrdp de manera offline en server RHEL
Nos conectamos al server RHEL e instalamos dependencias (si hace falta).
sudo dnf install -y zip
Pasamos a descomprimir el xrdp-packages.zip copiado, instalar y habilitar el servicio.
unzip xrdp-packages.zip
sudo dnf install -y tmp/xrdp-packages/*.rpm
sudo systemctl enable xrdp --now
## Reglas para el firewall
sudo firewall-cmd --permanent --add-port=3389/tcp
sudo firewall-cmd --reload
Con estos pasos concluimos la instalacion de xrdp y ya podremos desde algun cliente xrdp conectarnos a nuestra maquina RHEL.
Espero les haya sido de utilidad y cualquier duda no duden en dejar comentarios.