Migración de un Servidor Windows a Zentyal

En este artículo encuentras la información básica sobre cómo realizar una “migración total” de un Windows Server a Zentyal. Recomendamos una lectura detenida y que realices las pruebas necesarias antes de probar esto en entornos de producción.

Nota: Antes de comenzar con la migración, es necesario tener Zentyal configurado como un controlador de dominio adicional de un Servidor Windows.

Configurar Zentyal como un controlador de dominio adicional

Gracias a la integración con tecnologías Samba, Zentyal es capaz de convertirse en un Controlador Adicional de un dominio existente, ya sea uniéndose a un Servidor Windows o a otro controlador basado en Samba, por ejemplo, otro servidor Zentyal.

Tras unirse al dominio la información de LDAP, el dominio DNS asociado a Samba (dominio local) y la información de Kerberos serán replicados de manera transparente. Tenemos que tener en cuenta ciertos puntos antes de unirnos a otro controlador:

  • La información local del directorio LDAP de Zentyal será destruida, ya que se sobrescribirá la información de directorio del dominio
  • Todos los controladores deben tener la hora perfectamente sincronizada, a ser posible usando NTP
  • Cuando Zentyal reciba los usuarios sincronizados desde el dominio creará sus directorios de usuario asociados /home/. Comprueba que estos nuevos directorios no existen previamente para evitar colisiones
  • Todos los controladores deben pertenecer al mismo dominio
  • La correcta configuración del servidor DNS es crítica. Los controladores de dominio envian la información a la IP proporcionada por el servicio DNS

Si tenemos alguna IP externa asociada a nuestro hostname (por ejemplo, zentyal.zentyal-domain.lan) podremos tener problemas de sincronización si alguno de los demás controladores intenta usar esa IP para enviar los datos. Incluso si tenemos varias IP internas podemos sufrir ese problema porque DNS lleva a cabo un round-robin por defecto cuando responde a las peticiones. Si éste es su caso puede ser recomendable descomentar el parámetro sortlist = yes en el fichero /etc/zentyal/dns.conf y reiniciar el servidor DNS. De esta manera el DNS ordenará las IP de la respuesta poniendo primero la que coincida con la máscara de red de la máquina que hace la petición.

Una vez que se hayan comprobado todos estos puntos podemos unirnos al dominio desde el menú Dominio.

Figura: Configuración de tipo Controlador de dominio adicional

Guardar los cambios llevará más tiempo del habitual dado que Samba se debe provisionar y deben ser replicados todos los objetos del dominio.

Figura: Árbol LDAP de Zentyal replicado con el Servidor Windows

La exploración del árbol LDAP desde un Servidor Windows también nos mostrará a Zentyal como nuevo controlador de dominio.

Figura: Árbol LDAP de MS Windows mostrando el nuevo controlador

Desde este momento la información de LDAP, el dominio DNS asociado a Samba y Kerberos serán sincronizados en ambas direcciones. Es posible gestionar la información de LDAP (usuarios, grupos, OUs…) en cualquiera de los controladores. Los cambios realizados en uno de los controladores se replicarán automáticamente en los demás. El proceso para unirse a otro servidor Zentyal es idéntico al descrito.

Migración total

Todos los controladores de dominio poseen una réplica de la información del dominio. Sin embargo existen roles específicos que pertenecen a máquinas concretas: los roles FSMO o Operations Masters. Los Operations Masters son críticos para el funcionamiento del dominio. Hay cinco roles FSMO:

  • Schema master: Se encarga de la definición del árbol LDAP, envía actualizaciones de este formato
  • Domain naming master: Crea y borra dominios en el bosque
  • Infrastructure master: Provee de identificadores GUID, SID y DN únicos en el dominio
  • Relative ID Master: ID relativas asignadas a los principales de seguridad
  • PDC Emulator: Compatibilidad con máquinas MS Windows 2000/2003, servidor de hora principal

Usando el script de Migración Total proporcionado por Zentyal podemos transferir estos roles a un servidor Zentyal unido al dominio. Desde el directorio /usr/share/zentyal-samba ejecutamos:

administrator@zentyal:/usr/share/zentyal-samba$ sudo ./ad-migrate
WARNING: This script will transfer all FSMO roles from the current owners to
the local server.
After all roles has been successfully transferred, you can shutdown
the other domain controllers.
Do you want to continue [Y/n]? Y

Checking server mode...

Checking if server is provisioned...

Synchronizing sysvol share...
syncing [SYSVOL] files and directories including ACLs, without DOS Attributes

Transferring FSMO roles...
Transferring Schema Master role from owner: CN=NTDS Settings,...
Transferring Domain Naming Master role from owner: CN=NTDS Settings,...
Transferring PDC Emulation Master role from owner: CN=NTDS Settings,...
Transferring RID Allocation Master role from owner: CN=NTDS Settings,...
Transferring Infrastructure Master role from owner: CN=NTDS Settings,...

Migrated successfully!

De ahora en adelante Zentyal será el único controlador crítico para el dominio y todos los servicios del dominio seguirán funcionando incluso si apagamos los demás controladores (exceptuando, claro, consideraciones relativas a conectividad y escalabilidad).

Limitaciones

Es importante comprobar la lista de limitaciones conocidas de la versión correspondiente de Samba antes de planificar el dominio:

  • Sólo admite un dominio en un único bosque. Samba4, a día de hoy, no soporta dominios múltiples ni bosques
  • El nivel funcional ha de ser como mínimo MS Windows Server 2003 R2 y como máximo MS Windows Server 2008 R2
  • El nombre del dominio no puede coincidir con el nombre NETBIOS de la máquina. El nombre NETBIOS se genera automáticamente durante la instalación a partir de la parte izquierda del nombre de dominio introducido. Por ejemplo, si el nombre de host es ‘zentyal’, el nombre de dominio no puede ser ‘zentyal.lan’, pero si ‘zentyal-domain.lan’
  • Las relaciones de confianza entre dominios y bosques no están soportadas
  • Las GPO no se sincronizarán automáticamente, pero puede configurarse su sincronización “a mano” siguiendo este tutorial del proyecto Samba
  • No se soportan cuentas de usuario con nombre “no-ASCII” (tildes, eñes, guión)