Coisas a considerar ao executar servidores NTP públicos

20

Então, recentemente fiquei sabendo que desde que eu tenho 3 relógios GPS na minha rede, eu poderia, tecnicamente, retribuir um pouco e servir o tempo para o resto do mundo. Até agora eu não vi nenhuma desvantagem com essas idéias, mas tenho as seguintes perguntas:

  1. Posso virtualizar isso? Eu não vou gastar dinheiro e tempo em hardware para isso, então a virtualização é uma obrigação. Como os servidores terão acesso a três fontes do stratum 1, não consigo ver como isso pode ser um problema, desde que a configuração do ntpd esteja correta

  2. Que tipo de tráfego um servidor NTP público (parte do pool.ntp.org) normalmente vê? E como grandes VMs eu preciso para isso? O ntpd não deve ser muito intensivo em recursos até onde eu possa reunir, mas prefiro saber de antemão.

  3. Quais aspectos de segurança existem para isso? Estou pensando em instalar o ntpd em duas VMs na DMZ, permitir somente o ntp no FW e apenas sair da DMZ para os servidores ntp internos. Também parece haver algumas configurações ntp que são recomendadas de acordo com a página do pool NTP, mas elas são suficientes? link

  4. Eles recomendam não ter o driver de relógio LOCAL configurado, isso é equivalente a remover a configuração da fonte de tempo LOCAL dos arquivos de configuração?

  5. Mais alguma coisa a considerar?

por Stuggi 01.11.2016 / 21:13

5 respostas

21

Em primeiro lugar, bom para você; é uma coisa útil e de espírito público para fazer. Dito isto, e dado o seu esclarecimento de que você está pensando em criar uma ou mais DMZ VMs que irá sincronizar e disponibilizar publicamente o tempo de seus três Meinberg GPS habilitado stratum-1 (interno) servidores:

  1. Editar : A virtualização surge para discussão na lista de pools de tempos em tempos; um recente foi em julho de 2015, que pode ser seguido a partir de este e-mail . Pergunte a Bjørn Hansen, o líder do projeto, que postou no tópico , e não falou contra a virtualização. Claramente, vários operadores de servidores pool estão virtualizando agora, então eu não acho que alguém vai atirar em você por isso, e como um pôster deixa claro, se o seu servidor não é confiável, o sistema de monitoramento do pool irá simplesmente removê-lo do piscina. O KVM parece ser a tecnologia de virtualização preferida; Eu não encontrei ninguém especificamente usando VMWare, por isso não posso comentar sobre como uma virtualização é "honesta". Talvez o melhor resumo sobre o assunto seja dito

    My pool servers are virtualized with KVM on my very own KVM hosts. Monitoring says, the server is pretty accurate and provides stable time for the last 2-3 years. But I wouldn't setup a pool server on a leased virtual server from another provider.

  2. Este é o número médio diário de clientes distintos por segundo que vejo no meu servidor de pool (que está nas zonas do Reino Unido, Europa e global) no ano passado:

    Isso impõe quase nenhuma carga de sistema detectável ( ntpd parece usar entre 1% e 2% de uma CPU, na maioria das vezes). Note que, em algum momento durante o ano, a carga atingiu rapidamente quase mil clientes por segundo (Max: 849,27); Eu monitorei a carga excessiva e os alarmes não dispararam, então só posso notar que mesmo esse nível de carga não causou problemas, ainda que brevemente.

  3. As configurações recomendadas pelo projeto são a melhor prática e funcionam para mim. Eu também uso iptables para clientes com limite de taxa em dois pacotes de entrada em uma janela de dez segundos (é incrível quantos clientes rudes existem por aí, que acham que deveriam estar livres para estourar para definir seus próprios relógios rapidamente).

  4. Ou remova todas as linhas referentes aos endereços de servidor que começam com 127.127 .

  5. As diretrizes de práticas recomendadas também recomendam mais de três relógios, portanto, talvez você queira escolher alguns outros servidores públicos ou servidores de pool específicos, além de seus três servidores de estrato-1.

    Também observaria que, se você planeja colocar essas duas VMs no mesmo hardware host, provavelmente deve executar a única, mas duplicar a largura de banda declarada para o pool (ou seja, aceitar duas vezes mais consultas do que caso contrário você faria.

por 01.11.2016 / 22:17
11

Em primeiro lugar, parabéns por uma pergunta do NTP que é material não-facepalm. :-) Eu incluí alguns gráficos no final deste post para dar uma idéia das coisas. A VM em questão é definida como 100 Mbps no painel de controle do pool e está nos pools do Reino Unido, Europa e global.

  1. Eu acho que MadHatter cobriu isso bem - a virtualização deve estar bem. Como você diz, se eles estão se alimentando do seu estrato 1, eles devem ser razoavelmente sólidos. Na minha experiência, as VMs tendem a ser um pouco mais agitadas que o bare metal em termos de frequência (veja o gráfico abaixo), mas é o que você esperaria - elas estão lidando com uma camada de emulação de relógio (esperançosamente bastante eficiente) e potencialmente barulhenta vizinhos. Se você preferir não ver esse tipo de dificuldade, talvez use servidores mais antigos ou desktops não utilizados como seu stratum 2s da DMZ.

  2. Esta VM tem 1 núcleo, 2 GB de RAM, executando o Ubuntu 16.04 LTS, virtualizada no OpenStack (hypervisor KVM). Como você pode ver, a RAM está um pouco acima do limite.

  3. As configurações recomendadas - incluindo não ter o driver local configurado - são o padrão no Ubuntu 16.04. Estou correndo muito perto da configuração do estoque, além da lista de pares.

  4. (veja acima)

  5. Eu provavelmente começaria a largura de banda no lado de baixo e aumentaria a largura de banda depois de monitorá-la um pouco. Se suas VMs estiverem próximas umas das outras e perto de seu estrato 1s em termos de latência de rede, eu provavelmente teria todas as VMs conversando com todos os stratum 1s, e provavelmente ficaria entre elas e ligaria o modo órfão também. / p>

Aqui estão os gráficos - todos eles cobrem o mesmo período de aproximadamente 3 semanas, exceto o da rede 1, que teve alguns picos devido a backups. Quando os picos de rede estavam lá, eu não conseguia nem ver o tráfego normal do NTP, então eu ampliei um pouco para mostrar o plano de fundo usual.

CPU Memória Rede Freqüência SystemOffset

    
por 04.11.2016 / 04:26
2

Algumas coisas a considerar com o NTP

Já existem boas respostas aqui. Estou apenas adicionando alguns pensamentos pelo bem da integralidade com base em minhas próprias experiências.

Eu sugeriria habilitar o log de NTP e inclinações de clock de gráfico e correções de bare metal vs. VM no que se refere a essa discussão, se isso for uma preocupação. Eu não acredito que isso pode ser generalizado facilmente como hardware e configuração variam entre implementações. Pode ser melhor obter seus próprios números naquele.

Eu sempre sugeri que as pessoas escolhessem funções de sistemas de servidores ou dispositivos de rede que tivessem um tempo de CPU razoavelmente constante e que não fossem kernels sem marcas ou que tivessem modos de economia de energia habilitados. Especialmente evite daemons line cpuspeed ou speed govenors ou economiza energia avançada em servidores NTP, mesmo que eles sejam apenas stratum 2 em seu farm. Alguma estabilidade pode ser obtida nunca indo mais fundo que o C-State 1, mas seu consumo de energia aumentará.

Eu também tento garantir que as pessoas escolham um punhado de servidores de estrato 1 que estejam a menos de 40ms da borda de sua rede, então os divida em servidores NTP de borda e garanta que não haja 2 servidores atrás do mesmo SNAT na sua rede estão conversando com o mesmo servidor de estrato 1. Seguindo as mesmas linhas como burst , não é prudente ter vários servidores atrás do mesmo SNAT usando os mesmos servidores upstream, já que aparecerá para eles que você ativou o burst mesmo quando você não o fez.

Você deve sempre honrar o pacote kod do servidor upstream e ter ferramentas de monitoramento verificando as compensações de tempo e a acessibilidade dos servidores upstream.

Você pode querer considerar ter suas próprias fontes de tempo precisas em alguns dos seus datacenters para analisar ou voltar no improvável caso de o GPS SA ser habilitado pelas forças armadas. Existem aparelhos de baixo custo especificamente para isso. Mesmo se você estiver em um ambiente de "gaiola" e não tiver seu próprio datacenter, algumas instalações de hospedagem podem acomodar isso.

    
por 30.11.2016 / 05:48
1

Consulte o documento de hora do VMware no link

A execução de um daemon NTP em uma VM provavelmente não é uma boa ideia, especialmente se você precisar de tempo confiável.

    
por 02.11.2016 / 07:38
0

Aqui está um bom KB da VMware com parâmetros de configuração reais para diferentes distribuições do Linux

link

    
por 25.02.2017 / 02:06

Tags