# Configuración de servidores Linux con origen de tiempo en Domain Controllers Windows

- Link: https://binariocero.com/linux/configuracion-de-servidores-linux-con-origen-de-tiempo-en-domain-controllers-windows
- Published: 2025-07-13T15:29:41+02:00
- Author: Juan José Fernández Durán

![Loading](https://binariocero.com/wp-content/plugins/page-views-count/ajax-loader-
2x.gif)

Configurar un servidor Linux para que sincronice su hora utilizando los Controladores
de Dominio (DCs) de un dominio Windows como fuente de tiempo NTP.

## Requisitos Previos

 * Acceso root o sudo en el servidor Linux.
 * Conectividad de red con al menos uno de los Domain Controllers.
 * Los DCs deben tener habilitado el servicio de tiempo (W32Time).
 * Verificar que el firewall permita el tráfico NTP (UDP/123).

## Paso 1: Identificar los Domain Controllers

Puedes obtener la lista de DCs desde una máquina con herramientas AD o mediante 
resolución DNS:

    ```wp-block-preformatted
    nslookup -type=SRV _ntp._udp.Dominio.local
    ```

También puedes listar directamente los DCs:

    ```wp-block-preformatted
    dig +short _ldap._tcp.dc._msdcs.Dominio.local SRV
    ```

Apunta sus FQDN o IPs.

## Paso 2: Instalar y configurar NTP o Chrony

Dependiendo de tu distribución, puedes usar `chrony` (más moderno) o `ntpd`. Se 
recomienda **Chrony** por su precisión y flexibilidad.

### 2.1 Para sistemas con Chrony (CentOS 7/8, RHEL, Debian 10+, Ubuntu 18.04+)

#### Instalar Chrony

    ```wp-block-preformatted
    sudo apt install chrony        # Debian/Ubuntusudo yum install chrony        # CentOS/RHEL
    ```

#### Editar configuración `/etc/chrony/chrony.conf`

Comenta los servidores por defecto y añade los DCs:

    ```wp-block-preformatted
    # pool 0.debian.pool.ntp.org iburst# pool 1.debian.pool.ntp.org iburstserver dc1.dominio.local iburstserver dc2.dominio.local iburst
    ```

Reinicia el servicio:

    ```wp-block-preformatted
    sudo systemctl enable chronydsudo systemctl restart chronyd
    ```

#### Verificar sincronización

    ```wp-block-preformatted
    chronyc sources -vchronyc tracking
    ```

### 2.2 Para sistemas con NTP clásico (`ntpd`)

#### Instalar NTP

    ```wp-block-preformatted
    sudo apt install ntp           # Debian/Ubuntusudo yum install ntp           # CentOS/RHEL
    ```

#### Configurar `/etc/ntp.conf`

Edita el archivo y añade los Domain Controllers:

    ```wp-block-preformatted
    server dc1.dominio.local iburstserver dc2.dominio.local iburstrestrict default kod nomodify notrap nopeer noqueryrestrict 127.0.0.1restrict ::1
    ```

Reinicia el servicio:

    ```wp-block-preformatted
    sudo systemctl enable ntpsudo systemctl restart ntp
    ```

#### Verificar sincronización

    ```wp-block-preformatted
    ntpq -p
    ```

## Paso 3: Verificar conectividad NTP con los DCs

Antes de forzar sincronización, asegúrate de que puedes contactar el puerto 123 
UDP:

    ```wp-block-preformatted
    sudo nmap -sU -p 123 dc1.dominio.local
    ```

## Paso 4: Forzar sincronización manual (opcional)

### Con Chrony:

    ```wp-block-preformatted
    sudo chronyc -a makestep
    ```

### Con NTPD:

    ```wp-block-preformatted
    sudo ntpd -gq
    ```

## Paso 5: Verificar sincronización de hora del sistema

    ```wp-block-preformatted
    timedatectl status
    ```

Asegúrate de que el sistema esté sincronizado y con la zona horaria correcta.

## Consideraciones de seguridad

 * Es recomendable usar FQDNs de los DCs, especialmente si hay cambios de IP.
 * Evita usar servidores públicos si dependes de sincronía Kerberos (5 minutos de
   desviación puede causar fallos de autenticación).
 * Asegúrate de que los DCs tengan su hora sincronizada correctamente (normalmente
   desde el PDCe y luego desde fuentes externas fiables).
