====== Instalando e configurando NTP Stratum Zero ======
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. :)
{{ :infra-estrutura:linux:ntp:gpsusb1.jpeg?direct&600 |}}
{{ :infra-estrutura:linux:ntp:gpsusb2.jpeg?direct&600 |}}
{{ :infra-estrutura:linux:ntp:gpsusb3.jpeg?direct&600 |}}
Para montagem desse ambiente iremos utilizar o Ubuntu 18.04.1 LTS
Conforme o site no nic.br a parte sobre NTP [[https://ntp.br/ntp.php|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.
===== Instalando gpsd =====
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"
===== Testando o gps =====
Para teste do GPS existe um utilitário cgps.
{{ :infra-estrutura:linux:ntp:cgps.png?direct&600 |}}
===== Configurando serviço NTP =====
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:~#
===== Testando o servidor NTP =====
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. :)