Download - Alcance Libre - Configuración y Uso de NTP
Configuración y uso de NTP.Autor: Joel Barrios Dueñas Correo electrónico: darkshram en gmail punto comSitio de Red: http://www.alcancelibre.org/ Jabber ID: [email protected]
Creative Commons ReconocimientoNoComercialCompartirIgual 2.1
© 19992012 Joel Barrios Dueñas. Usted es libre de copiar, distribuir y comunicar públicamente la obra y hacerobras derivadas bajo las condiciones siguientes: a) Debe reconocer y citar al autor original. b) No puedeutilizar esta obra para fines comerciales (incluyendo su publicación, a través de cualquier medio, porentidades con fines de lucro). c) Si altera o transforma esta obra o genera una obra derivada, sólo puededistribuir la obra generada bajo una licencia idéntica a ésta. Al reutilizar o distribuir la obra, tiene que dejarbien claro los términos de la licencia de esta obra. Alguna de estas condiciones puede no aplicarse si se obtieneel permiso del titular de los derechos de autor. Los derechos derivados de usos legítimos u otras limitacionesno se ven afectados por lo anterior. Licencia completa en castellano. La información contenida en estedocumento y los derivados de éste se proporcionan tal cual son y los autores no asumirán responsabilidadalguna si el usuario o lector, hace mal uso de éstos.
Introducción.
Acerca de NTP.
NTP (Network Time Protocol) es un protocolo —de entre los más antiguosprotocolos de Internet (1985)— utilizado para la sincronización de relojes desistemas computacionales a través de redes, haciendo uso de intercambio depaquetes (unidades de información transportadas entre nodos a través deenlaces de datos compartidos) y latencia variable (tiempo de demora entreel momento en que algo inicia y el momento en que su efecto inicia). NTPfue originalmente diseñado —y sigue siendo mantenido— por Dave Mills, dela universidad de Delaware.
NTP utiliza el algoritmo de Marzullo (inventado por Keith Marzullo), el cualsirve para seleccionar fuentes de origen para la estimación exacta del tiempoa partir de un número determinado de fuentes de origen desordenadas,utilizando la escala UTC.
La versión 4 del protocolo puede mantener el tiempo con un margen de 10milisegundos a través de la red mundial, alcanzado exactitud de 200microsegundos. En redes locales, bajo condiciones idóneas, este margen sepuede reducir considerablemente.
El protocolo trabaja a través del puerto 123, únicamente a través de UDP.
URL: http://www.ietf.org/rfc/rfc1305.txt
Estratos.
NTP utiliza el sistema jerárquico de estratos de reloj.
Estrato 0: son dispositivos, como relojes GPS o radio relojes, que carecen
de conectividad hacia redes. Sólo están conectados a computadoras que sonlas encargadas de distribuir los datos.
Estrato 1: Los sistemas se sincronizan con dispositivos del estrato 0. Lossistemas de este estrato son referidos como servidores de tiempo.
Estrato 2: Los sistemas envían sus peticiones NTP hacia servidores delestrato 1, utilizando el algoritmo de Marzullo para recabar las mejoresmuestra de datos, descartando que parezcan proveer datos erróneos ycompartiendo datos con sistemas del mismo estrato 2. Los sistemas de esteestrato actúan como servidores para el estrato 3.
Estrato 3: Los sistemas utilizan funciones similares a las del estrato 2,sirviendo como servidores para el estrato 4.
Estrato 4: Los sistemas utilizan funciones similares a las del estrato 3.
Lista de servidores públicos, de estrato 1 y 2, en http://kopernix.com/?q=ntp y http://www.eecis.udel.edu/~mills/ntp/servers.html
Acerca de UTC.
UTC (Coordinated Universal Time o Tiempo Universal Coordinado) es unestándar de alta precisión de tiempo atómico. Tiene segundos uniformesdefinidos por TAI (Tiempo Atómico Internacional o International AtomicTime), con segundos intercalares o adicionales que se anuncian a intervalosirregulares para compensar la desaceleración de la rotación del planetaTierra, así como otras discrepancias. Estos segundos adicionales permiten aUTC estar casi a la par del Tiempo Universal (UT o Universal Time), el cuales otro estándar pero basado sobre el ángulo de rotación de la Tierra, enlugar de el paso uniforme de los segundos.
URL: http://es.wikipedia.org/wiki/UTC
Equipamiento lógico necesario.
En CentOS, Fedora™ y Red Hat™ Enterprise Linux.
Ejecute lo siguiente para instalar o actualizar todo necesario:
yum ‐y install ntp ntpdate
En openSUSE™ y SUSE™ Linux Enterprise.
Ejecute lo siguiente para instalar o actualizar todo necesario:
yast ‐i ntp
Modificaciones necesarias en el murocortafuegos.Es necesario abrir el acceso hacia el puerto 123 sólo por UDP (NTP).
En CentOS, Fedora™ y Red Hat™ Enterprise Linux.
Systemconfigfirewall.
Ejecute lo siguiente si utiliza el muro cortafuegos predeterminado delsistema:
system‐config‐firewall
Y habilite el acceso al puerto 123 por UDP y aplique los cambios.
Herramienta systemconfigfirewall habilitando el puerto 123 por UDP.
Servicio iptables.
Ejecute lo siguiente:
iptables ‐A INPUT ‐m state ‐‐state NEW ‐m udp ‐p udp ‐‐dport 123 ‐j ACCEPT
Ejecute lo siguiente para guardar los cambios:
service iptables save
O bien edite el archivo /etc/sysconfig/iptables:
vim /etc/sysconfig/iptables
Y añada el siguiente contenido:
‐A INPUT ‐m state ‐‐state NEW ‐m udp ‐p udp ‐‐dport 123 ‐j ACCEPT
Ejecute lo siguiente para aplicar los cambios:
service iptables restart
Shorewall.
Edite el archivo /etc/shorewall/rules:
vim /etc/shorewall/rules
Las reglas correspondería a algo similar a lo siguiente, asumiendo que sólose va a permitir a la red de área local acceder al servidor NTP para permitir aéstos sincronizar la hora del sistema:
#ACTION SOURCE DEST PROTO DEST SOURCE # PORT PORT(S)1 ACCEPT loc fw udp 123
Si se va a permitir a la red de área local acceder hacia servidores de tiempolocalizados en Internet, en lugar de utilizar un servidor en la misma red deárea local, es necesario utilizar las siguientes reglas:
#ACTION SOURCE DEST PROTO DEST SOURCE # PORT PORT(S)1 ACCEPT loc net udp 123
Ejecute lo siguiente para aplicar los cambios:
service shorewall restart
En openSUSE™ y SUSE™ Linux Enterprise.
Ejecute yast con firewall como argumento:
yast firewall
Y habilite xntp Server o Servidor xntp, según sea el caso o bien abra elpuerto 123 por UDP y aplique los cambios.
Módulo de cortafuegos de YaST, en modo texto, habilitando xntp Server.
O bien haga clic en YaST → Seguridad y usuarios → Servicios autorizados yactive Servidor xntp y aplique los cambios.
Módulo de cortafuegos de YaST, en modo gráfico, habilitando servidor xntp.
Activar, iniciar, detener y reiniciar el servicio.
En CentOS, Fedora™ y Red Hat™ Enterprise Linux.
Ejecute lo siguiente para activar el servicio en todos los niveles de ejecución:
chkconfig ntpd on
Ejecute lo siguiente para iniciar el servicio por primera vez:
service ntpd start
Ejecute lo siguiente para reiniciar el servicio y aplicar cambios a laconfiguración:
service ntpd restart
Ejecute lo siguiente para detener el servicio:
service ntpd stop
En openSUSE™ y SUSE™ Linux Enterprise.
Ejecute lo siguiente para activar el servicio en todos los niveles de ejecución:
insserv ntp
Ejecute lo siguiente para iniciar el servicio por primera vez:
rcntp start
Ejecute lo siguiente para reiniciar el servicio y aplicar cambios a laconfiguración:
rcntp restart
Ejecute lo siguiente para detener el servicio:
rcntp stop
Procedimientos.
Herramienta ntpdate
Una forma muy sencilla de sincronizar el reloj del sistema con cualquierservidor de tiempo es a través de ntpdate. Se trata de una herramientasimilar a rdate y se utiliza para establecer la fecha y hora del sistemautilizando NTP. El siguiente ejemplo realiza una consulta directa NTP,ejecutando ntpdate con la opción u, para definir se utilice un puerto sinprivilegios, hacia el servidor 0.pool.ntp.org.
ntpdate ‐u 0.pool.ntp.org
La opción u se utiliza cuando hay un cortafuegos que impide la salida desdeel puerto 123/UDP o bien si el servicio ntp está funcionando y utilizando elpuerto 123/UDP.
El manual completo de ntpdate puede consultarse ejecutando lo siguiente:
man 8 ntpdate
Archivo de configuración /etc/ntp.conf.
El manual completo para el formato del archivo /etc/ntp.conf puedeconsultarse ejecutando lo siguiente:
man 5 ntp.conf
En CentOS, Fedora™ y Red Hat™ Enterprise Linux.
Los sistemas operativos como CentOS, Fedora™ y Red Hat™ EnterpriseLinux, se incluye un archivo de configuración /etc/ntp.conf, con unaconfiguración para uso general que permite trabajar como cliente NTP. Serecomienda respaldar éste para futuras consultas y utilizar un nuevo archivoen su lugar:
mv /etc/ntp.conf /etc/ntp.conf.original
Genere el nuevo archivo /etc/ntp.conf que permitirá funcionar comoservidor NTP en la red de área local:
vim /etc/ntp.conf
Añada el siguiente contenido y modifique lo que considere pertinente, comoserían los valores resaltados:
# 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 restrict ‐6 default nomodify notrap noquery
# Permitir todo el acceso a la interfaz de retorno del # sistema. restrict 127.0.0.1 restrict ‐6 ::1
# Se le permite a las redes local sincronizar con el servidor # pero sin permitirles modificar la configuración del # sistema y sin usar a éstos como iguales para sincronizar. # Cambiar por las que correspondan a sus propias redes locales. restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap restrict 192.168.70.0 mask 255.255.255.128 nomodify notrap restrict 172.16.1.0 mask 255.255.255.240 nomodify notrap restrict 10.0.1.0 mask 255.255.255.248 nomodify notrap
# Reloj local indisciplinado. # Este es un controlador emulado que se utiliza 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
# Archivo de variaciones. driftfile /var/lib/ntp/drift broadcastdelay 0.008
# Archivo 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 iburst server 1.pool.ntp.org iburst server 2.pool.ntp.org iburst server 3.pool.ntp.org iburst
# Permisos que se asignarán para cada servidor de tiempo. # En los ejemplos, se impide a las fuente consultar o modificar # el servicio en el sistema, así como también 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 restrict 3.pool.ntp.org mask 255.255.255.255 nomodify notrap noquery
# Se activa la difusión hacia los clientes broadcastclient
Para aplicar los cambios, ejecute lo siguiente:
service ntpd restart
Para sincronizar la hora de inmediato en este servidor recién configurado,ejecute:
ntpdate ‐u 0.pool.ntp.org
En openSUSE™ y SUSE™ Linux Enterprise.
Evite modificar directamente el archivo /etc/ntpd.conf, pues el métodopreferido de configuración es a través del módulo correspondiente de YaST.En su lugar utilice el módulo Cliente NTP de YaST, ejecutando lo siguiente:
yast ntp‐client
Conserve el reloj local indisciplinado, defina los servidores NTP a utilizar yaplique los cambios.
Módulo de Cliente NTP de YaST, en modo gráfico, configurando como
servidor NTP.
Módulo de Cliente NTP de YaST, en modo texto, configurando como servidor
NTP.
Para sincronizar la hora de inmediato en este servidor recién configurado,ejecute:
ntpdate ‐u 0.pool.ntp.org
Configuración de clientes.
Asumiendo que los clientes GNU/Linux ya tiene instalados los paquetes deNTP y que el servidor tiene una dirección IP 172.16.1.1, verifique primeroque hay conectividad hacia el nuevo servidor que acaba de configurarejecutando como root lo siguiente:
ntpdate ‐u 172.16.1.1
Lo anterior debe devolver una salida similar a la siguiente:
18 Sep 13:30:15 ntpdate[4913]: adjust time server 172.16.1.1 offset‐0.000812 sec
Si lo anterior falla, verifique la configuración en el servidor y su murocortafuegos.
Asignación automática a través de servidor DHCP.
La forma más simple y práctica de replicar automáticamente la asignación deservidores NTP en la red de área local, es a través de un servidor DHCP.
Edite el archivo /etc/dhcp/dhcpd.conf o /etc/dhcpd.conf, de acuerdo ala versión de sistema operativo utilizado:
vim /etc/dhcp/dhcpd.conf
Utilice la opción ntpservers para definir una lista separada por comas detodos los servidores NTP que se quiera utilizar en la red de área local:
ddns‐update‐style interim; ignore client‐updates; authoritative; default‐lease‐time 900; max‐lease‐time 7200; option ip‐forwarding off; option domain‐name "red‐local.net"; option ntp‐servers 172.16.1.1;
shared‐network redlocal { subnet 172.16.1.0 netmask 255.255.255.192 { option routers 172.16.1.1; option subnet‐mask 255.255.255.192; option broadcast‐address 172.16.1.63; option domain‐name‐servers 172.16.1.1; option netbios‐name‐servers 172.16.1.1; range 172.16.1.2 172.16.1.58; } }
Reinicie el servicio dhcpd a fin de que surtan efecto los cambios.
service dhcpd restart
Para más detalles acerca de la configuración de servidor DHCP, por favorconsulte el documento titulado «Configuración de servidor DHCP.»
Configuración manual en CentOS, Fedora™ y Red Hat™ EnterpriseLinux.
Edite el archivo /etc/ntpd.conf:
vim /etc/ntp.conf
Añada o modifique el siguiente contenido:
driftfile /var/lib/ntp/drift restrict default kod nomodify notrap nopeer noquery restrict ‐6 default kod nomodify notrap nopeer noquery restrict 127.0.0.1 restrict ‐6 ::1 server 172.16.1.1 iburst includefile /etc/ntp/crypto/pw keys /etc/ntp/keys
Y reinicie el servicio ntp a fin de que surtan efecto los cambios:
service ntpd restart
Configuración manual en openSUSE™ y SUSE™ Linux Enterprise.
Evite modificar archivo /etc/ntpd.conf, pues el método preferido deconfiguración es a través de YaST.
vim /etc/ntp.conf
Utilice el módulo Cliente NTP de YaST, ejecutando lo siguiente:
yast ntp‐client
Elimine el reloj local indisciplinado, defina el servidor NTP a utilizar y apliquelos cambios.
Módulo de Cliente NTP de YaST, en modo gráfico.
Módulo de Cliente NTP de YaST, en modo texto.