"Después del juego es antes del juego"
Sepp Herberger

viernes, 16 de junio de 2017

Proxmox (III): Configuración del controlador de dominio virtualizado Zentyal.

En la anterior entrada instalamos Zentyal como controlador de dominio para nuestros Windows dentro de una máquina virtual en nuestro servidor con Proxmox. Ahora procederemos a configurarlo para que los clientes Windows puedan unirse al dominio creado, usar sus usuarios para autenticar y ser controlados por éste como si fuera un Windows Server normal y corriente.

Quedamos en este punto, con Zentyal arrancado dentro de la Consola de Proxmox:


Listo para entrar con las credenciales dadas en la instalación y empezar con la configuración inicial. Vamos allá.

1. Configuración inicial.

En la primera entrada a Zentyal tenemos un proceso de configuración inicial:


Nos pregunta los paquetes a instalar, lo dejamos como está y le damos "a Instalar".


Nos muestra la lista de paquetes que se instalarán y activarán, le damos a "Continuar" tal cual sale, con los 5 paquetes iniciales (DNS Server, Network, NTP Servce, Firewall y Domain Controller):


Empieza un breve proceso de instalación de software. Para ello se necesita que Zentyal tenga conexión a Internet. En nuesto caso la tiene porque la máquina virtual tiene red y ha recibido una IP por DHCP del servidor del centro.


Ahora nos pide configurar de forma mas precisa la red del sistema. Configuramos eth0 como interface interna, ya que nuestro servidor va a estar en una única red, que es la del centro, y no va realizar enrutamiento entre dicha red y el exterior (no es nuestro caso ya que eso lo hacemos en otro servidor del centro):


Ahora nos pide la configuración de eth0. Aunque hicimos de alta en nuestro servidor DHCP del centro en la entrada anterior del blog y debería recibir la IP, máscara, gateway y DNS correctos desde dicho servidor, yo por manía personal prefiero configurar de forma estática la red en todos los servidores, de manera que no dependan de nadie para saber sus parámetros.


Nos socilita el tipo de Controlador de Dominio que queremos: elegimos "Standalone", el servidor aislado que no es secundario de ningún otro. En el nombre de dominio ponemos "instituto.extremadura.es". Podría poner cualquier otro, pero es el que escogió Esteban y me gusta. Es importante elegir bien el nombre ya que luego haremos referencia a él con cierta frecuencia.


Se realizan más instalaciones de paquetes....


We did it!:


Y aquí tenemos el Panel de Control de Zentyal:


2. Configuración fina y repaso de las opciones.

A partir de aquí ya no es necesario acceder desde la consola de la máquina virtual en proxmox. Podemos entrar en la configuración de Zentyal desde un navegador en cualquier máquina de la red, usando la URL:
https://ip-o-nombre-zentyal:8443
También podremos acceder por ssh a dicha máquina si fuera necesario para alguna configuración o test desde consola.

Este es el DashBoard o panel de control de Zentyal, que nos muestra una visión rápida del estado del sistema. A la izquierda está el menú de opciones, y a la derecha el informe general, de red y los módulos en funcionamiento:


Vamos viendo las opciones mas interesantes una a una. En "Estado de los módulos" vemos los módulos instalados. Yo he desactivado "Firewall" y "Registros" porque no me interesan en esta instalación.


En "Sistema/General" vemos el usuario administrador, el nombre del dominio y máquina y el puerto para acceder via web.


En "Sistema/Fecha-Hora" configuramos la zona horaria y los servidores de hora de donde sincronizamos.


En "Sistema/Backup" podemos hacer copias de seguridad de la configuración y restaurarlas:


En "Sistema/Red" podemos definir la IP, Puerta de Enlace, Dominio y varias cosas más:




En "Sistema/Registros" nos permitirá acceder a los logs de los distintos servicios. Como tenemos desactivado dicho módulo no se muestra nada.


En "Sistema/Gestión de SW" podemos actualizar el sistema e instalar/quitar módulos adicionales (como un servidor DHCP o de correo, por ejemplo):



En "Sistema/Usuarios y equipos" vemos al fin el Directorio Activo. En el árbol vemos los Equipos unidos al dominio (ahí irán apareciendo los Windows que unamos), los Grupos y Usuarios que vayamos añadiendo desde aquí (serán los usuarios del ldap que trae Zentyal y podrán hacer login en los Windows unidos al dominio) y el Controlador de Dominio Primario que tenemos definido.


En "Plantilla de Usuario" sólo podemos definir la cuota de disco que podrá usar cada usuario si ponemos carpetas de red.


En "Configuración LDAP" viene información de ldap y la posibilidad de habilitar PAM para los usuarios de ldap (los usuarios creados podrian hacer login en la máquina Zentyal. No es nuestro caso):


En "Dominio" vemos nombre Netbios del dominio y servidor, y la opción para habilitar perfiles móviles para los usuarios:


En "Compartición de ficheros" podemos definir carpetas de red que luego podrán ser accedidas por los Windows.


"DNS": configuración del módulo DNS. En nuestro centro ya tenemos un servidor DNS central, pero el controlador de dominio necesita este donde al menos esté dado de alta la máquina con Zentyal con su nombre de dominio. Lo quedamos tal cual está, con solo dicha máquina.


En "Cortafuegos" podemos configurar con una interfaz bastante sencilla el filtrado de paquetes en varias direcciones, el redireccionado de puertos y el SNAT. Como este módulo lo tenemos desactivado no configuramos nada.


Y ya está, con esto tenemos un controlador de dominio funcional en nuestra red. Ya podemos dar de alta usuarios y grupos, así como añadir equipos Windows al dominio para que se puedan autenticar los usuarios de forma centralizada y podamos aplicar sore ellos políticas de grupo comunes.

Pero todo eso lo veremos en la próxima entrada, vámonos:





miércoles, 14 de junio de 2017

Proxmox (II): Virtualización de un controlador de dominio con Zentyal

Una vez instalado nuestro entorno de virtualización Proxmox en una máquina física vamos a proceder ahora a crear una máquina virtual e instalar allí un servidor Zentyal. Este es un producto que me descubrió, una vez más, mi compañero Esteban y que tiene las siguientes características:

  • Es un software español, implementado sobre un Ubuntu Linux, concebido para la gestión de servicios informáticos en Pymes y que se ofrece en una versión de pago y otra de desarrollo gratuita.
  • Implementa un servidor de dominio y directorio para clientes Windows, equivalente en funcionalidad a un Directorio Activo de Windows Server.
  • Incluye un servicio de email.
  • Implementa servicios de gestión de acceso a Internet: firewall, proxy, gateway, etc ...
  • Incluye servicios de red: servidor DNS, DHCP, NTP, VPN, etc ...
  • Se gestiona con un interface web sencillo y potente.

Nosotros tenemos algunos de estos servicios ya implementados "de serie" en la red del centro, pero con la invasión de Windows que hemos tenido en los últimos tiempos producto de la nefasta planificación y, en tanto en cuanto tengamos que vivir con ellos, hay cosas para las que Zentyal nos vendrá muy bien.

Entre esas cosas están: gestionar los usuarios y máquinas de Windows en un directorio activo propio, tener posibilidad de ofrecer un servicio de carpetas de red personales/compartidas basado en Samba/CIFS y, por último, tener un sistema para poder aplicar GPO y administrar de forma centralizada la configuración de los Windows sin tener que ir máquina a máquina.

Parte de estas cosas ya podíamos hacerlas sin Zentyal:

  • Podemos validar los usuarios de Windows usando nuestros usuarios Linux de openldap mediante pGina.
  • Podemos ofrecer a los Windows carpetas de red montando un servidor samba a mano, que sincronizaría usuarios de alguna manera con openldap. O bien utilizando el Cliente NFS para acceder (con ciertos riesgos) al servidor NFS donde guardan sus homes los usuarios Linux, por medio de un mapeo algo enrevesado de usuarios entre los Windows y el servidor NFS
  • No hay manera de implementar GPO sin un servidor de directorio. Lo más avanzado para administrar los Windows de forma centralizada es usar wpkg, que está más concebido para instalar software de forma desatendida (aunque es preferible para eso chocolatey) que para administrar la configuración de los sistemas Windows.

En definitiva: podemos parchear con mayor o menor dificultad usando varias herramientas o bien tenerlo todo junto usando el servidor Zentyal. Vamos a por el Zentyal.

Lo primero es descargar la ISO de la version de desarrollo (Development Edition): http://www.zentyal.org/server/, en concreto la versión 5.0 de 64bits. Una vez descargada vamos a ir viendo los pasos a seguir para crear la máquina virtual dentro de proxmox donde irá, instalarla y luego hacer la configuración inicial.

1. Creación de la máquina virtual dentro de proxmox.

Cómo vimos en la entrada previa, entramos en el administrador web de nuestro proxmox:


Una vez dentro, elegimos la vista "Folder view" para ver mejor la distribución de recursos:


En la vista siguiente, en nodes->servidor64 aparece nuestros proxmox, ya que no tenemos mas nodos. Los discos duros, imágenes ISO, etc irán a la rama "storage". Dentro de esa rama storage->local-lvm representa una partición LVM donde se crearán los discos duros virtuales, mientras que storage->local representa un directorio físico de la partición root de la máquina proxmox. Más adelante en esta serie se verá la diferencia entre cada cual.


Antes de crear la máquina virtual debemos subir a "storage" la imagen ISO con el DVD de instalación, para ello pinchamos "storage->local" luego el botón "Upload".



Elegimos la ISO de donde la hayamos descargado antes y la subimos. Al acabar aparece dentro de storage->local->content, de manera que ya la tenemos esperando para ser usada por las máquinas virtuales que crearemos. No hay manera de usar la ISO sin subirla previamente a storage.


Ahora procedemos a crear la máquina virtual donde instalaremos Zentyal, clicando sobre "Create VM":


Ponemos "zentyal" de nombre a la máquina, el resto no se toca:


Elegimos Sistema Operativo a instalar, un Linux con kernel 4.X/3.X:


Importante: decimos que habrá en el DVD virtual de la máquina. De esta manera insertamos la ISO descargada y subida a "storage" anteriormente y cuando arranque la máquina virtual empezará la instalación:


Indicamos que la máquina virtual tendrá un disco duro de 32Gb, alojado en "storage->local-lvm" (el almacenamiento LVM que usa proxmox) y en el resto dejamos el valor por defecto:


Definimos la CPU de la máquina virtual, dejando los valores por defecto:


Concedemos 2GB de RAM a la máquina virtual (el servidor donde hemos instalado proxmox tiene 6GB de RAM reales):


Configuramos la tarjeta de red con el valor por defecto (al dejarla en bridged mode con la tarjeta física garantizamos que la máquina virtual tendrá una IP y acceso directo hacia/desde la red del centro):


Se nos muestra un pequeño sumario con todo lo dicho para que confirmemos dando a "Finish":


Y ahí nos aparece ya la máquina creada dentro de la nueva rama "Virtual Machines":


La seleccionamos y podemos apreciar todas las opciones de configuración e interacción disponibles, entre ellas el botón "Start" en la parte superior derecha para arrancarla:


2. Instalación de Zentyal en la VM.

Una vez le damos a "Start" la máquina virtual arranca y empieza a cargar el DVD que hemos asociado. Para poder ver la pantalla virtual hay que elegir la opción "Console", que nos mostrará lo que está pasando en el monitor virtual de dicha máquina. Vemos que se ha parado en la elección de idioma de instalación: podemos usar ratón y teclado dentro de la máquina virtual para interactuar con ella:


NOTA: la "conexión" con la pantalla de la máquina virtual se hace mediante un protocolo similar a VNC, eso hace que no sea especialmente rápido y el ratón físico y virtual a veces no ajusten muy bien. Mas adelante veremos como solucionar esto.

Una vez elegido idioma escogemos la primera opción para Instalar y borrar el contenido previo del disco de la máquina virtual.


Un instalador en modo texto, chachi. Otra vez nos pide idioma, teclado y demás:


Se realiza el formateo e instalación de paquetes iniciales.


Nos pregunta el nombre de la máquina, yo la he llamado "zentyal64". Luego habrá que darla de alta en el ldap del centro con dicho nombre, la ip que le pongamos y la MAC.


Nos pide una cuenta que será el administrador de la máquina, ya que al estar basado en Ubuntu el usuario root vendrá por defecto capado. Un buen nombre es "administrador".



Por último nos pide la zona horaria y empieza la instalación de paquetes. Pausa para Coffee Break:




Mientras que se instala podemos salir de "Console" y curiosar por las otras opcines de manejo de la máquina virtual. Tenemos Summary (resumen de estado), Hardware (gestión del hardware de la máquina, por si queremos expulsar la ISO o aumentar la memoria o los cores, por ejemplo), Options (opciones de boot de la máquina, configuración para que la máquina se arranque sola al iniciarse proxmox y varias cosas más), Backup (para hacer un backup de la máquina), Snapshot (para capturar su estado en un momento dado y luego poder volver rápidamente a ese punto, útil para hacer experimentos), Firewall (configurar un firewall que proteja la máquina) y Permissions (dar permisos a usuarios concretos para, por ejemplo, poder entrar en la máquina virtual pero no poder cambiar su configuración o la de proxmox). Una captura de Summary;


Finaliza la instalación y dejamos que se apaque la máquina:


Antes del nuevo arranque, expulsamos el CD de instalación desde la opción "Hardware/CD-DVD Drive":


Para alcanzar la excelencia, en "Options/Start at boot" marcamos "Yes" para que la máquina zentyal se arranque sola al iniciar proxmox.


Encendemos la máquina con "Start", dejamos que arranque y vamos a consola, viendo la pantalla de acceso de Zentyal. Es un sistema lubuntu, que hace autologin y abre una página web en localhost para que introduzcamos las credenciales definidas durante la instalación. Esta página web nos dará acceso al interfaz de gestión de Zentyal.

De momento, en tanto en cuanto no definamos bien el acceso por red y tengamos una IP fija, esta será la única manera de poder acceder a la máquina Zentyal.


Como vamos a trabajar a partir de ahora con la máquina virtual es mas cómodo usar el botón ">_Console" de la parte superior derecha: la pantalla de la máquina virtual se muestra en una ventana independiente que es mas manejable y de mayor tamaño, como si fuese una conexión de escritorio remoto.


Sería buena idea dar de alta ahora en nuestro ldap o DHCP la máquina con su nombre, IP definitiva y la MAC address (que está en "Hardware->Network device").

Bueno, pues con esto tenemos la máquina instalada. Ahora hay que entrar y hacer una configuración de primera ejecución y luego afinar varias cosas para tener nuestro controlador de dominio funcionando correctamente. Seguiremos tan pronto como me dejen y no olviden que como decía Galileo, "el movimiento siempre se acelera cuando se va a detener".