alcance libre - configuración y uso de ntp

13
Configuración y uso de NTP. Autor: Joel Barrios Dueñas Correo electrónico: darkshram en gmail punto com Sitio 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 hacer obras derivadas bajo las condiciones siguientes: a) Debe reconocer y citar al autor original. b) No puede utilizar esta obra para fines comerciales (incluyendo su publicación, a través de cualquier medio, por entidades con fines de lucro). c) Si altera o transforma esta obra o genera una obra derivada, sólo puede distribuir la obra generada bajo una licencia idéntica a ésta. Al reutilizar o distribuir la obra, tiene que dejar bien claro los términos de la licencia de esta obra. Alguna de estas condiciones puede no aplicarse si se obtiene el permiso del titular de los derechos de autor. Los derechos derivados de usos legítimos u otras limitaciones no se ven afectados por lo anterior. Licencia completa en castellano . La información contenida en este documento y los derivados de éste se proporcionan tal cual son y los autores no asumirán responsabilidad alguna 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 antiguos protocolos de Internet (1985)— utilizado para la sincronización de relojes de sistemas computacionales a través de redes, haciendo uso de intercambio de paquetes (unidades de información transportadas entre nodos a través de enlaces de datos compartidos) y latencia variable (tiempo de demora entre el momento en que algo inicia y el momento en que su efecto inicia). NTP fue originalmente diseñado —y sigue siendo mantenido— por Dave Mills, de la universidad de Delaware. NTP utiliza el algoritmo de Marzullo (inventado por Keith Marzullo), el cual sirve para seleccionar fuentes de origen para la estimación exacta del tiempo a 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 10 milisegundos a través de la red mundial, alcanzado exactitud de 200 microsegundos. En redes locales, bajo condiciones idóneas, este margen se puede 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

Upload: lalo-pina

Post on 14-Jul-2016

16 views

Category:

Documents


0 download

DESCRIPTION

Alcance Libre - Configuración y Uso de NTP

TRANSCRIPT

Page 1: 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 Reconocimiento­NoComercial­CompartirIgual 2.1

© 1999­2012 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

Page 2: Alcance Libre - Configuración y Uso de NTP

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

Page 3: Alcance Libre - Configuración y Uso de 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.

System­config­firewall.

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 system­config­firewall 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

Page 4: Alcance Libre - Configuración y Uso de NTP

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:

Page 5: Alcance Libre - Configuración y Uso de NTP

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.

Page 6: Alcance Libre - Configuración y Uso de NTP

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.

Page 7: Alcance Libre - Configuración y Uso de NTP

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:

Page 8: Alcance Libre - Configuración y Uso de NTP

# 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:

Page 9: Alcance Libre - Configuración y Uso de NTP

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.

Page 10: Alcance Libre - Configuración y Uso de 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.

Page 11: Alcance Libre - Configuración y Uso de NTP

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 ntp­servers 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:

Page 12: Alcance Libre - Configuración y Uso de NTP

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.

Page 13: Alcance Libre - Configuración y Uso de NTP

 Módulo de Cliente NTP de YaST, en modo texto.