Quantcast
Channel: Nardol » iptables
Viewing all articles
Browse latest Browse all 2

NTP-Pool: aumentando a participação brasileira

$
0
0

Você conhece o NTP Pool? Provavelmente não, mas se você estiver usando uma das distribuições de GNU/Linux mais recentes, incluindo as maiores, e estiver atualizando o relógio pela rede, provavelmente está usando o NTP Pool.

Manter o relógio certo é um problema bastante comum e crucial para a computação atual. Muita coisa depende de sincronia, e de manter dados fidedignos quanto ao momento exato em que determinada ação ocorreu. O que parece um desafio, na realidade tem uma solução muito simples: Network Time Protocol, um protocolo padrão da Internet que mantém o relógio do computador local sincronizado com o de um computador remoto.

Simples sim, mas com um custo: existem relativamente poucos computadores ligados a fontes de sincronia temporal fidedignas (como GPS, ou relógios atômicos). Logo, o acesso a um desses computadores acabava sendo um privilégio de poucos. O NTP também tem resposta a isso… uma vez que um computador obtenha a sincronia com um desses servidores centrais (ou de camada 1 – stratum 1 – na terminologia do NTP) pode exportar essa mesma sincronia uma camada abaixo (efetivamente tornando-se stratum 2), num sistema que é escalável exponencialmente, sem perda significativa da precisão.

No entanto, um problema ainda ficava em aberto: que servidor NTP usar? Aí é que entra o NTP Pool, um conglomerado de servidores públicos, com banda doada pelos seus mantenedores, integrando um circuito cada vez maior de sincronia temporal, monitorados para garantir a precisão e a disponibilidade.

Sou usuário de NTP há muito tempo, tendo mantido um servidor NTP para uso interno em cada rede que monto. Esse servidor interno aponta sempre para o NTP Pool. Recentemente me interessei por saber mais sobre o NTP Pool, e fiquei bastante surpreso ao saber que dos mais de 1700 servidores de NTP que integram o NTP Pool, menos de 20 estão na América do Sul (e desses, apenas 13 no Brasil!). É impressionante! Eu mesmo mantenho um servidor NTP no Pool (ntp.nardol.org), no entanto, como ele se localiza fisicamente nos EUA, serve para aumentar as estatísticas de lá.

Vamos aumentar a participação brasileira? Se você possui um servidor no Brasil pode instalar facilmente o ntp server. Instruções mais detalhadas podem ser encontradas no próprio site do NTP Pool. O consumo de banda ocorre via protocolo UDP, e é ridículo. Para garantir que esse consumo nunca exceda a capacidade do meu servidor, por exemplo, uso simples regras de IPTables, como as abaixo:

bash$ iptables-save
(...)
-A INPUT -p udp -m udp --dport 123 -j ntp
(...)
-A ntp -m limit --limit 10/sec --limit-burst 6 -j ACCEPT
-A ntp -j LOG --log-prefix "ntp flood: " --log-level 7
-A ntp -j DROP
(...)
bash$

No entanto veja que as regras de limitação de conexões no meu servidor nunca foram atingidas (pelo menos desde o último reboot :-) ):

bash$ uptime
 15:20:00 up 23 days, 17:32,  1 user,  load average: 0.04, 0.12, 0.18
bash$ iptables -vnL
(...)
Chain ntp (1 references)
 pkts bytes target     prot opt in     out     source               destination
 233K   18M ACCEPT     0    --  *      *       0.0.0.0/0            0.0.0.0/0         limit: avg 10/sec burst 6
    0     0 LOG        0    --  *      *       0.0.0.0/0            0.0.0.0/0         LOG flags 0 level 7 prefix `ntp flood: '
    0     0 DROP       0    --  *      *       0.0.0.0/0            0.0.0.0/0
(...)
bash$

ntp_pool

Happy hacking!


Viewing all articles
Browse latest Browse all 2

Latest Images

Trending Articles





Latest Images