Esses dias estava eu navegando na internet visto que vejo o anúncio de um GPS USB, me veio a mente vou comprar para testar construir um servidor NTP com stratum zero. Então comprei chegou hoje da uma olhada na foto do mesmo. :)
Para montagem desse ambiente iremos utilizar o Ubuntu 18.04.1 LTS
Conforme o site no nic.br a parte sobre NTP ntp
“Os servidores NTP formam uma topologia hierárquica, dividida em camadas ou estratos (em inglês: strata) numerados de 0 (zero) a 16 (dezesseis). O estrato 0 (stratum 0) na verdade não faz parte da rede de servidores NTP, mas representa a referência primária de tempo, que é geralmente um receptor do Sistema de Posicionamento Global (GPS) ou um relógio atômico. O estrato 16 indica que um determinado servidor está inoperante.
O estrato 0, ou relógio de referência, fornece o tempo correto para o estrato 1, que por sua vez fornece o tempo para o estrato 2 e assim por diante. O NTP é então, simultaneamente, servidor (fornece o tempo) e cliente (consulta o tempo). A topologia está ilustrada na Figura 1.
De forma geral, quanto mais perto da raiz, ou seja, do estrato 0, maior a exatidão do tempo. O estrato ao qual o servidor pertence é a principal métrica utilizada pelo NTP para escolher dentre vários, qual o melhor servidor para fornecer o tempo.
Para utilizar esse gps no ntp precisamos instalar o gpsd
apt-get install ntpd gpsd-clients gpsd gpsd-clients
Logo em seguida altere o arquivo /etc/default/gpsd e Altere a seguinte linha
# Other options you want to pass to gpsd GPSD_OPTIONS=""
Para
# Other options you want to pass to gpsd GPSD_OPTIONS="-n"
Adicione a seguinte linha no arquivo de configuração do NTP (/etc/ntp.conf).
# GPS Serial data reference server 127.127.28.0 minpoll 4 maxpoll 4 fudge 127.127.28.0 time1 0.0 refid GPS # GPS PPS reference server 127.127.28.1 minpoll 4 maxpoll 4 prefer fudge 127.127.28.1 refid PPS
Logo após adicionar reinicie o serviço NTP
root@cerberus:~# /etc/init.d/ntp restart [ ok ] Restarting ntp (via systemctl): ntp.service. root@cerberus:~#
Para verificar se o NTP subiu utilize o comando ntpq.
root@cerberus:~# ntpq -p remote refid st t when poll reach delay offset jitter ============================================================================== 0.ubuntu.pool.n .POOL. 16 p - 64 0 0.000 0.000 0.004 1.ubuntu.pool.n .POOL. 16 p - 64 0 0.000 0.000 0.004 2.ubuntu.pool.n .POOL. 16 p - 64 0 0.000 0.000 0.004 3.ubuntu.pool.n .POOL. 16 p - 64 0 0.000 0.000 0.004 ntp.ubuntu.com .POOL. 16 p - 64 0 0.000 0.000 0.004 SHM(0) .GPS. 0 l - 16 0 0.000 0.000 0.004 SHM(1) .PPS. 0 l - 16 0 0.000 0.000 0.004 root@cerberus:~#
Repare as linhas SHM(0) e SHM(1) como .GPS e .PPS com stratum 0. :)