{{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