Servidores NTP locais ou públicos?

11

Para uma rede relativamente grande (milhares de hosts) - quais são os argumentos a favor e contra a execução de servidores NTP gerenciados localmente (pool de) (talvez configurados periodicamente por meio de algum servidor NTP público) e o uso de todos os outros hosts na rede que (pool de) servidores NTP versus todos os hosts simplesmente usam servidores públicos NTP diretamente, digamos via ntp.pool.org?

Além dos prós e contras, o que é uma prática recomendada típica hoje em dia?

BeeOnRope
fonte
pergunta de lição de casa? Parece que um administrador de rede para uma rede com milhares de hosts já estaria usando o NTP.
22411 JamesBarnett
2
A questão não é se você deve usar o NTP, é se deve usar seu próprio NTP ou usar os públicos.
precisa saber é o seguinte
Hah, já faz muito tempo que não faço lição de casa :) Eu não sou pessoalmente um administrador de rede com milhares de hosts - mas surgiu a pergunta e estou interessado nas melhores práticas existentes.
BeeOnRope 18/01

Respostas:

12

A melhor prática é executar seu próprio pool de servidores NTP configurados para sincronizar a partir de servidores NTP públicos. No caso de sua organização perder o acesso à Internet, você não deseja que seus relógios fiquem distorcidos. Além disso, é rude definir milhares de hosts para servidores públicos quando você pode (e deve) operar um espelho.

Por fim, se você possui um requisito de computação segura, deve operar seus próprios hosts NTP independentes. Você precisaria de hardware especial para esses sistemas operarem.

EDIT: Como houve discussão sobre isso, aqui estão alguns hardwares:

Qualquer hardware que suporte PPS parece funcionar em um ntpd moderno . Isso inclui algumas unidades de GPS, embora isso pareça raro, pelo menos tão raro quanto as unidades seriais de GPS atualmente. No entanto, existem dispositivos de hardware vendidos explicitamente para essa função, incluindo um produto chamado TSync-PCIe. De acordo com o site do fabricante:

O TSync-PCIe oferece várias configurações de um pacote sincronizado de leitor / gerador de código de tempo, oferecendo flexibilidade e fácil integração de tempo preciso a um aplicativo de computação incorporado. Escolha entre a sincronização com IRIG (e outros códigos de tempo semelhantes), GPS (receptores internos ou externos) ou Protocolo de tempo preciso (PTP / IEEE-1588v2). - Link do site: http://i564f.6o.to

ewindisch
fonte
1
+1 por mencionar o relógio do hardware. Existem instruções na rede para conectar um Garmin 18 LVC barato a uma caixa Linux para criar sua própria fonte Stratum 0.
Chris S
Embora todas essas instruções pareçam envolver o hacking de seu próprio hardware para criar uma interface.
precisa saber é o seguinte
@ Phil, as pessoas que procuram uma fonte barata de estrato GPS 0 provavelmente estão dispostas a fazer um pouco de hackers no hardware. Se você quer algo fácil, retire o dinheiro como todo mundo.
Chris S
Sim, apenas parece uma tarefa bastante simples obter um código de tempo de um dispositivo GPS, então eu assumi ingenuamente que seria uma conexão simples.
Phil Hollenback
8

Mesmo em uma rede pequena, eu uso um serviço NTP local, que é atualizado a partir de um externo. Um dos motivos é puramente histórico, que remonta a quando a única conexão à Internet era através de modems dial-up. A outra é que, se o serviço NTP estiver errado, por qualquer motivo, eu preferiria que todas as máquinas continuassem consistentes, o que é mais provável se todas forem atualizadas a partir de uma única fonte.

John Gardeniers
fonte
Este é o caminho para isso. Embora ter a hora 'correta' seja definitivamente uma coisa boa, na verdade pode ser mais importante que os dispositivos em uma LAN tenham um tempo consistente entre eles, mesmo que seja diferente da hora correta. Coisas como a autenticação Kerberos falharão se o tempo não estiver sincronizado entre servidores e clientes, e um tempo consistente pode ser importante para coisas como monitoramento de logs, registros de CFTV (por exemplo, câmera e PVR adicionarão um carimbo de data / hora), etc.
Rob Moir
7

Prática recomendada, configure 2 (ou mais) hosts NTP em seu local, faça o mesmo nível. Faça com que eles sejam sincronizados com pelo menos 4 (de preferência, até 8) servidores externos de 0.pool.ntp.org a 3.pool.ntp.org. Se você usar mais de 4, deverá ajustar a frequência com que eles pesquisam os membros do pool.

Aqui está uma versão editada do meu ntp.conf:

server 0.us.pool.ntp.org minpoll 8 maxpoll 14
server 1.us.pool.ntp.org minpoll 8 maxpoll 14
server 2.us.pool.ntp.org minpoll 8 maxpoll 14
server 3.us.pool.ntp.org minpoll 8 maxpoll 14

peer ntp2.example.com

driftfile /var/db/drift.ntp
logfile /var/log/ntp.log
logconfig +sysall +syncall

Você pode omitir os argumentos minpoll e maxpoll, eu os adiciono para que eu fique um pouco mais leve nesses servidores. Os valores são 2 ^ n segundos, onde n é o argumento; esses valores são mais altos que os padrões (6 e 10) porque eu já pesquiso 12 servidores diferentes entre meus três hosts NTP.

Se você está muito preocupado com a precisão, pode adicionar o seguinte:

server tick.usno.navy.mil prefer minpoll 10 maxpoll 16

Isso pesquisará o relógio atômico da marinha. Observe os altos tempos de pesquisa, pois eles são bastante carregados e solicitam que as pessoas relaxem no servidor (na verdade, um cluster de 3 nós).

Chris S
fonte
O que acontece com isso se os servidores NTP externos estiverem fora de sincronia?
Warren Orvalho
1. Isso não acontece ou pelo menos não em uma escala que importa. 2. Depende do que exatamente está "fora de sincronia" e de quanto. Se um único servidor externo estiver longe, ele não será usado. As chances de todos os quatro estarem fora de uma quantia louca são astronomicamente pequenas. Se você estiver preocupado com a precisão, use o cluster de servidores USNO, sua baixa instabilidade fará com que seja hora preferível.
Chris S
3

Como outros já mencionaram, para milhares de hosts internos, fornecer seus próprios servidores de horário é o caminho a percorrer. Por razões como (como já mencionado):

  • estrutura: configure a configuração da hora como você escolher; com o máximo possível de 1 fonte de estrato
  • robustez: configure o sistema NTP para ser robusto conforme necessário; usando fontes próprias de relógio (GPS) e / ou fontes NTP com rotas diferentes
  • polidez: consideração amável por organizar a organização de fontes externas de tempo; menos carga para eles
  • desempenho: limitando o tráfego da rede NTP externa a alguns hosts (problema menor)
  • segurança: limitando o tráfego da rede NTP externamente a alguns hosts protegidos

No que diz respeito às melhores práticas:

Em http://www.ntp.org/ntpfaq/NTP-s-config-adv.htm , aqui está uma estrutura recomendada para fontes apenas de NTP.

 1a  1b     1c  1d     1e  1f      outside
. \ / ...... \ / ...... \ / ..............
   2a ---p--- 2b ---p--- 2c        inside
  /|\        /|\        /|\
 / | \      / | \      / | \
3a 3b 3c   3e 3f 3g   3h 3i 3j

Key: 1 = stratum-1, 2 = stratum-2, 3 = stratum-3, p = peer

Informações adicionais para configurar um servidor NTP são de http://www.pool.ntp.org/join/configuration.html . Exemplos sendo:

  • Configure cerca de 5 servidores
  • Use o ntpd padrão
  • Não use o driver do relógio LOCAL
  • use fontes de tempo NTP geograficamente / rede mais próximas a você e números baixos de estrato
Lars Nordin
fonte
Observe o comentário após essa entrada nas Perguntas frequentes de que é indesejável ter servidores do estrato 3, dependendo de um único servidor do estrato 2. Portanto, em vez de seguir exatamente o diagrama acima, deve haver linhas de cada servidor do estrato 3 para cada servidor do estrato 2.
Paul Gear
1

Eu acho que a maioria das redes grandes usa um pequeno pool de servidores NTP internos dedicados. o tráfego ntp é bastante leve, portanto você provavelmente não precisa de muitos servidores para atender a uma grande organização.

Como em todos os serviços de rede, a vantagem de executar seus próprios servidores ntp é que você obtém mais controle e toma mais decisões. Por exemplo, se você perder a conectividade de rede com o mundo externo, suas máquinas poderão continuar a conversar com o servidor NTP interno e você não precisará se preocupar com o fato de todos terem que se reconectar a servidores externos.

Se você possui milhares de servidores, considere também executar seu próprio servidor de horário dedicado, por exemplo, em um dispositivo GPS ou através de um relógio atômico dedicado . Não sei ao certo quanto custa isso hoje em dia, mas não pode ser caro em relação aos milhares de sistemas que você já está suportando. Então você tem um serviço de tempo preciso, completamente independente da sua conexão com o mundo externo.

Outro ponto a considerar é que a execução de seus próprios servidores ntp é mais educada. Dessa forma, você tem apenas algumas máquinas fazendo solicitações externas e não milhares. Tenho certeza que os administradores dos servidores NTP publicamente acessíveis por aí apreciariam isso. Além disso, reduzirá um pouco o tráfego da rede externa (muito pouco), o que provavelmente é uma coisa boa.

Além disso, se você executar seus próprios servidores ntp, poderá reforçar um pouco o firewall, pois apenas algumas máquinas estão se conectando à parte externa na porta 123 em vez de muitas máquinas. Isso pode ser útil.

O ntp é fácil de configurar e, uma vez executado, requer muito pouca manutenção. Todas as empresas com as quais já estive envolvido criaram seus próprios servidores ntp e isso funcionou muito bem.

Phil Hollenback
fonte
0

A melhor prática nesse caso seria executar seu próprio servidor NTP - ou um pool, conforme necessário - e puxar do pool NTP mais próximo de você geograficamente. Isso reduz a carga que os servidores NTP voltados ao público precisam suportar, mas ainda assim oferece uma alta precisão. Se você precisar de ainda mais precisão, poderá extrair dos servidores Stratum 1, mas isso aumentará a carga que o pool deve suportar, portanto, você só deve fazer isso se estiver disposto a contribuir com um servidor para o pool.

Scrivener
fonte
0

Um bom motivo para executar seus próprios servidores NTP em uma rede grande é garantir que todas as suas máquinas estejam de acordo na hora correta. Ter muitos sistemas com suas próprias configurações para servidores de horário externos (ou todos usando membros diferentes do pool.ntp.org) pode levar a pequenas diferenças de tempo nos sistemas, o que pode levar a problemas.

A outra boa razão é que ter seus próprios servidores NTP significa que o tempo sincronizado permanecerá disponível em alguns servidores (monitorados!) Quando o link externo ficar inativo ou saturado com tráfego.

Toda a minha opinião como um timegeek.

Koos van den Hout
fonte