NTP server sin conexión a internet

NTP server

NTP server sin conexión a internet

NTP serverNos podemos ver en la situación de que instalemos una red de ordenadores sin conexión a internet (o limitado por algún proxy), los cuales necesitamos que estén sincronizados.

Para ello, podemos instalar en un servidor Linux un servicio Network Time Protocol (NTP) para que el resto de ordenadores se sincronicen con él. Pero este servidor al no tener conexión de internet su stratum es de 16, por lo que los demás ordenadores no sincronizarán la hora con el siguiente mensaje:

ntpdate[11643]: no server suitable for synchronization found.

Esto se debe a que el stratum que tiene es muy elevado (porque no está conectado a internet). Para comprobar que se debe a este error podemos ejecutar lo siguiente (con ntpd parado):

#/etc/init.d/ntp stop

# ntpdate -d IP_NTP_server
27 Feb 04:15:34 ntpdate[11655]: ntpdate 4.2.2p1@1.1570-o Wed Sep 3 14:28:30 UTC 2008 (1)
Looking for host IP_NTP_server and service ntp
host found : web.icfre.org
transmit(IP_NTP_server )
receive(IP_NTP_server )
transmit(IP_NTP_server )
receive(IP_NTP_server )
transmit(IP_NTP_server )
receive(IP_NTP_server )
transmit(IP_NTP_server )
receive(IP_NTP_server )
transmit(IP_NTP_server )
IP_NTP_server: Server dropped: strata too high
server IP_NTP_server, port 123
stratum 16, precision -20, leap 11, trust 000
refid [172.42.12.35], delay 0.02579, dispersion 0.00000
transmitted 4, in filter 4
reference time: 00000000.00000000 Thu, Feb 7 2036 11:58:16.000
originate timestamp: d2f5348f.1b488f03 Mon, Feb 27 2012 4:15:35.106
transmit timestamp: d2f5348e.ff8183f9 Mon, Feb 27 2012 4:15:34.998
filter delay: 0.02579 0.02580 0.02585 0.02585
0.00000 0.00000 0.00000 0.00000
filter offset: 0.108391 0.108373 0.108382 0.108381
0.000000 0.000000 0.000000 0.000000
delay 0.02579, dispersion 0.00000
offset 0.108391

27 Feb 04:15:34 ntpdate[11655]: no server suitable for synchronization found

Así que al servidor NTP tendremos que forzarlo a un stratum de 10. Para ello incluiremos en el fichero /etc/ntp.conf las siguientes líneas en la que se usa la palabra clave fudge:

server 127.127.1.0 # local clock
fudge 127.127.1.0 stratum 10

Su explicación es la siguiente:

server says that the local system clock is a timeserver. fudge says that this server is stratum 10. If you are connected to the Internet then you are likely using timeservers who are more l33t than stratum 10 what time it is, and these servers are used because they have lower stratum and thus; higher priority[2].

However, if you are disconnected from the Internet then they are unavailable and you’re left with the local clock. Using fudge to say that the local clock is stratum 10 makes ntp use the local clock when no timeservers are available. This is good because it makes sure you can disconnect your box from the Internet without getting your clock screwed.

Fuente: NTP – Howto make the clock show the correct time

César Themudo