{{tag>hora ntp sincronizar centos linux }} ===== sincronizar hora red ===== === Acerca del protocolo NTP === NTP (Network Time Protocol) es un protocolo utilizado para la sincronización de relojes de sistemas computacionales a través de redes. El servicio trabaja a través del puerto 123, únicamente por UDP. NTP utiliza un sistema jerárquico de relojes, llamados estratos == Estratos == * Estrato 0: son dispositivos como relojes, GPS * Estrato 1: Se sincronizan con los dispositivos estratos 0 * Estrato 2: Se sincronizan con los estratos 1 * Estrato 3: * Estrato 4: URL: http://www.ietf.org/rfc/rfc1305.txt Estratos. == UTC == UTC (Coordinated Universal Time, o Tiempo Universal Coordinado) es un estándar de alta precisión de tiempo atómico. Tiene segundos uniformes definidos por TAI (Tiempo Atómico Internacional, o International Atomic Time), con segundos intercalares o adicionales que se anuncian a intervalos irregulares para compensar la desaceleración de la rotación de la Tierra, así como otras discrepancias. Estos segundos adicionales permiten a UTC estar casi a la par del Tiempo Universal (UT, o Universal Time), el cual es otro estándar pero basado sobre el ángulo de rotación de la Tierra, en lugar de el paso uniforme de los segundos. URL: http://es.wikipedia.org/wiki/UTC ===== Sincronizar Hora ===== ==== Centos 7 ==== En centos 7 tenemos el comando **timedatectl**. Si simplemente ejecutamos timedatectl el resultado será algo como #>timedatectl Local time: lun 2018-08-20 11:27:18 WEST Universal time: lun 2018-08-20 10:27:18 UTC RTC time: lun 2018-08-20 10:27:18 Time zone: Atlantic/Canary (WEST, +0100) NTP enabled: yes NTP synchronized: yes RTC in local TZ: no DST active: yes Last DST change: DST began at dom 2018-03-25 00:59:59 WET dom 2018-03-25 02:00:00 WEST Next DST change: DST ends (the clock jumps one hour backwards) at dom 2018-10-28 01:59:59 WEST dom 2018-10-28 01:00:00 WET * Para cambiar la hora **timedatectl set-time ** timedatectl set-time 13:21:00 * Para cambiar la zona horaria **timedatectl set-timezone ** timedatectl set-timezone Atlantic/Canary ==== Centos 6 ==== === Verificar la zona horaria === - Primero, sacamos una copia del fichero actual, por si hubiera que volver atrás: mv /etc/localtime /etc/localtime.old - Crear un enlace simbólico a la zona que queremos que tenga nuestro servidor: ln -sf /usr/share/zoneinfo/Atlantic/Canary /etc/localtime - Verificamos el archivo /etc/sysconfig/clock ZONE="Atlantic/Canary" UTC=true ARC=false === Ajustar la hora con nuestro servidor... === ntpdate -u es.pool.ntp.org En caso de no tener instalado el paquete ntpdate yum install ntp Atención con ntpdate ponemos la hora del sistema no la del reloj interno de la máquina. Para sincronizar la hora del reloj interno con la hora del sistema ejecutar hwclock --systohc Hay dos formas de hacer que se sincronice continuamente == I.- Mediante una tarea programada == # crontab -e En el edito ponemos la siguiente instrucción */1 * * * * root /usr/sbin/ntpdate -u 2.pool.ntp.org y por último reiniciamos el servicio/etc/init.d/crond restart == II.- con el demonio ntpd == * Crear el directorio para el ajuste horario en caso de no estar creado mkdir /var/lib/ntp/drift -pchown -R ntp.ntp /var/lib/ntp * Actualizar el fichero de configuración para NTP, esto está en /etc/ntp.conf ## Fichero original de http://tecnoquia.blogspot.com/search?q=ntp ## Indica que solo el localhost puede usar el servicio. ## Es la forma de indicar que no se quieren escuchar peticiones ## UDP, lo que nos convertiria en servidores tambien restrict default nomodify notrap noquery restrict 127.0.0.1 #### Quien sera nuestra referencia horaria server ipodnsservidordominio # El Servidor NTP Corporativo server pool.ntp.org server 127.127.1.0 # Nuestro reloj interno ## Nuestro reloj interno lo metemos en un stratum alto ## por si es que no estuviera disponible el Coporativo fudge 127.127.1.0 stratum 10 ## Aqui se indica donde se escribe esa correccion. ## Normalmente se escribe un valor cada hora. ## OJO CON LOS PERMISOS DEL FICHERO. driftfile /var/lib/ntp/drift ## Sin autenticacion authenticate no Otro fichero de configuración similar es el siguiente # Se establece la política predeterminada para cualquier # servidor de tiempo utilizado: se permite la sincronización # de tiempo con las fuentes, pero sin permitir a la fuente # consultar (noquery), ni modificar el servicio en el # sistema (nomodify) y declinando proveer mensajes de # registro (notrap). restrict default nomodify notrap noquery # Permitir todo el acceso a la interfaz de retorno del sistema. restrict 127.0.0.1 # Se le permite a la red local sincronizar con el servidor # pero sin permitirles modificar la configuración del # sistema, y sin usar a éstos como iguales para sincronizar. restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap # Sincronizar con el reloj local indisciplinad sólo como # respaldo cuando ninguna de las fuentes reales están # disponibles. fudge 127.127.1.0 stratum 10 server 127.127.1.0 # Fichero de variaciones. driftfile /var/lib/ntp/drift broadcastdelay 0.008 # Fichero de claves si acaso fuesen necesarias para realizar # consultas keys /etc/ntp/keys # Lista de servidores de tiempo de estrato 1 o 2. # Se recomienda tener al menos 3 servidores listados. # Mas servidores en: # http://kopernix.com/?q=ntp # http://www.eecis.udel.edu/~mills/ntp/servers.html server 0.pool.ntp.org server 1.pool.ntp.org server 2.pool.ntp.org # Permisos que se asignarán para cada servidor de tiempo. # En los ejemplos, no se permite a las fuente consultar, ni # modificar el servicio en el sistema ni enviar mensaje de # registro. restrict 0.pool.ntp.org mask 255.255.255.255 nomodify notrap noquery restrict 1.pool.ntp.org mask 255.255.255.255 nomodify notrap noquery restrict 2.pool.ntp.org mask 255.255.255.255 nomodify notrap noquery # Se Activa la difusión hacia los clientes broadcastclient Actualizar el fichero /etc/ntp/step-tickers, ejecutando: echo 'ntp.carm.es' > /etc/ntp/step-tickers8. Iniciar el servicio y configurar para que arranque con el sistema: /etc/init.d/ntpd start chkconfig --level 35 ntpd on Hay que habilitar en el cortafuegos de la máquina el puerto udp 123 tanto entrante como saliente el servidor de hora oficial para España es hora.roa.es (150.214.94.5) ==== problemas y soluciones ==== === Sincronizar con Windows 2008 === las versiones del paquete ntp 4.2.6p2 no funcionan con servidores Windows 2008 R2. Para solucionarlo hay que sustituir el paquete por una nueva versión como 4.2.7p326. sudo apt-get remove ntp ntpdate wget http://archive.ntp.org/ntp4/ntp-dev/ntp-dev-4.2.7p326.tar.gz tar xzvf ntp-dev-4.2.7p326.tar.gz cd ntp-dev-4.2.7p326/ ./configure --enable-clockctl sudo make && make install si no podemos sincronizar con ntp podemos usar rdate yum install rdate rdate -n ==== Referencias ==== * http://www.oxixares.com/~gbv/hora.html * http://tecnoquia.blogspot.com/search?q=ntp * http://www.eslinux.com/articulos/8578/como-mantener-hora-exacta-tu-ordenador-mediante-ntp * http://systemadmin.es/2009/03/como-configurar-un-servidor-ntp-para-nuestra-red-local