Configurar un sistema para utilizar servicios de tiempo

Este es uno de los onjetivos que estan el grupo de los “puntos faciles”. Digo esto, porque es un tema que no toma mucho tiempo en ponerlo en practica.

Para realizar este ejemplo voy a partir de la siguiente configuracion:
Servidor NTP (chrony): labipa.example.com 192.168.4.200
Cliente: class2.example.com 192.168.4.100

Es muy importante saber y tener en cuenta que en RHEL7 vamos a utilizar chrony, lo cual se traduce a ntp en versiones anteriores.

Para comenzar debemos saber si nuestro servidor esta listo para ser configurado, para esto verificamos que el paquete chrony esta instalado, y de no estarlo pues lo instalamos:

[root@class2 ~]# rpm -qa | grep chrony
chrony-2.1.1-3.el7.x86_64
[root@class2 ~]#

De esta forma vemos que si lo esta, de no ser asi; simplemente ejecutamos:

[root@class2 ~]# yum -y install chrony

Habiendo verificado que el paquete esta instalado, procedemos a realizar la configuracion pertinente:
Con su editor de texto, agregamos la siguiente linea en /etc/chrony.conf y comentamos las que no vamos a utlizar como muestro a continuacion:

[root@class2 ~]# head -n15 /etc/chrony.conf
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
#server 0.rhel.pool.ntp.org iburst
#server 1.rhel.pool.ntp.org iburst
#server 2.rhel.pool.ntp.org iburst
#server 3.rhel.pool.ntp.org iburst

server labipa.example.com iburst

# Ignore stratum in source selection.
stratumweight 0

# Record the rate at which the system clock gains/losses time.
driftfile /var/lib/chrony/drift

[root@class2 ~]#

Una vez agregada la entrada correctamente, pues debemos reiniciar el servicio y muy, pero muy importante habilitarlo para que inicie en cada reinicio:

[root@class2 ~]# systemctl restart chronyd
[root@class2 ~]# systemctl enable chronyd
Created symlink from /etc/systemd/system/multi-user.target.wants/chronyd.service to /usr/lib/systemd/system/chronyd.service.
● chronyd.service - NTP client/server
Loaded: loaded (/usr/lib/systemd/system/chronyd.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2017-06-05 15:29:13 PDT; 41s ago
Process: 2763 ExecStartPost=/usr/libexec/chrony-helper update-daemon (code=exited, status=0/SUCCESS)
Process: 2759 ExecStart=/usr/sbin/chronyd $OPTIONS (code=exited, status=0/SUCCESS)
Main PID: 2761 (chronyd)
CGroup: /system.slice/chronyd.service
└─2761 /usr/sbin/chronyd

Jun 05 15:29:13 class2.example.com systemd[1]: Starting NTP client/server...
Jun 05 15:29:13 class2.example.com chronyd[2761]: chronyd version 2.1.1 starting (+CMDMON +NTP +REFCLOCK +RTC +PRIVDROP +DEBUG +ASYNCDNS +IPV6 +SECHASH)
Jun 05 15:29:13 class2.example.com chronyd[2761]: Frequency 0.000 +/- 1000000.000 ppm read from /var/lib/chrony/drift
Jun 05 15:29:13 class2.example.com systemd[1]: Started NTP client/server.
Jun 05 15:29:17 class2.example.com chronyd[2761]: Selected source 192.168.4.200
Jun 05 15:29:17 class2.example.com chronyd[2761]: System clock wrong by 0.675529 seconds, adjustment started
[root@class2 ~]#

En este order, reiniciamos el servicio, lo habilitamos y miramos el estado del mismo.
Ahora vamos a verificar que todo este funcionando correctamente. Para esto vamos a utilizar dos comandos:

[root@class2 ~]# chronyc tracking
Reference ID : 192.168.4.200 (labipa.example.com)
Stratum : 3
Ref time (UTC) : Mon Jun 5 22:30:24 2017
System time : 0.000000141 seconds slow of NTP time
Last offset : +0.000134961 seconds
RMS offset : 0.000134961 seconds
Frequency : 32.499 ppm slow
Residual freq : +0.000 ppm
Skew : 2.807 ppm
Root delay : 0.063813 seconds
Root dispersion : 0.008413 seconds
Update interval : 63.7 seconds
Leap status : Normal
[root@class2 ~]#
[root@class2 ~]# chronyc sources -v
210 Number of sources = 1

.-- Source mode '^' = server, '=' = peer, '#' = local clock.
/ .- Source state '*' = current synced, '+' = combined , '-' = not combined,
| / '?' = unreachable, 'x' = time may be in error, '~' = time too variable.
|| .- xxxx [ yyyy ] +/- zzzz
|| Reachability register (octal) -. | xxxx = adjusted offset,
|| Log2(Polling interval) --. | | yyyy = measured offset,
|| \ | | zzzz = estimated error.
|| | | \
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^* labipa.example.com 2 6 37 41 +40ns[ +135us] +/- 41ms
[root@class2 ~]#

Como ven el servidor ya quedo configurado, tambien podemos verificar que NTP este habilitado, esto lo verificamos con:

[root@class2 ~]# timedatectl
Local time: Mon 2017-06-05 15:31:24 PDT
Universal time: Mon 2017-06-05 22:31:24 UTC
RTC time: Mon 2017-06-05 22:31:24
Time zone: America/Los_Angeles (PDT, -0700)
NTP enabled: yes
NTP synchronized: yes
RTC in local TZ: no
DST active: yes
Last DST change: DST began at
Sun 2017-03-12 01:59:59 PST
Sun 2017-03-12 03:00:00 PDT
Next DST change: DST ends (the clock jumps one hour backwards) at
Sun 2017-11-05 01:59:59 PDT
Sun 2017-11-05 01:00:00 PST
[root@class2 ~]#

Como ven esta habilitado “NTP enabled: yes” y tambien “NTP synchronized: yes”
De no ser asi, esto lo podemos cambiar con:

[root@class2 ~]# timedatectl set-ntp true

Y hemos terminado. Como ven es un tema bien facil.

Leave a Reply

Your email address will not be published. Required fields are marked *