Não é possível executar o ntpdate no EC2

1

Eu tive alguns problemas sérios com a precisão do tempo no meu Ubuntu EC2 máquinas , com desvios de mais de 60 segundos.

Uma possível solução está executando ntpdate ou ntp , mas não consigo fazer com que funcionem no EC2:

$ sudo ntpdate ntp.nasa.gov time-b.nist.gov
23 Jun 07:17:23 ntpdate[3878]: no server suitable for synchronization found

O que eu tentei:

  • As portas da máquina específica que estou testando estão abertas para TCP e UDP, entrada e saída (veja abaixo).
  • Eu testei esse comportamento em mais de uma máquina.
  • Eu tentei servidores de tempo diferentes.
  • Eu tentei os dois ntpdate e ntp .

Alguma ideia de como sincronizar a hora nas minhas máquinas?

Grupos de segurança

Registros detalhados

$ sudo ntpdate -vd ntp.nasa.gov time-b.nist.gov
23 Jun 07:24:08 ntpdate[3890]: ntpdate [email protected] Wed Oct  9 19:08:07 UTC 2013 (1)
Looking for host ntp.nasa.gov and service ntp
host found : ntp-nasa.arc.nasa.gov
Looking for host time-b.nist.gov and service ntp
host found : time-b.nist.gov
transmit(198.123.30.132)
transmit(129.6.15.29)
transmit(198.123.30.132)
transmit(129.6.15.29)
transmit(198.123.30.132)
transmit(129.6.15.29)
transmit(198.123.30.132)
transmit(129.6.15.29)
transmit(198.123.30.132)
transmit(129.6.15.29)
198.123.30.132: Server dropped: no data
129.6.15.29: Server dropped: no data
server 198.123.30.132, port 123
stratum 0, precision 0, leap 00, trust 000
refid [198.123.30.132], delay 0.00000, dispersion 64.00000
transmitted 4, in filter 4
reference time:    00000000.00000000  Mon, Jan  1 1900  0:00:00.000
originate timestamp: 00000000.00000000  Mon, Jan  1 1900  0:00:00.000
transmit timestamp:  d752549e.e0fc7517  Mon, Jun 23 2014  7:24:14.878
filter delay:  0.00000  0.00000  0.00000  0.00000
         0.00000  0.00000  0.00000  0.00000
filter offset: 0.000000 0.000000 0.000000 0.000000
         0.000000 0.000000 0.000000 0.000000
delay 0.00000, dispersion 64.00000
offset 0.000000

server 129.6.15.29, port 123
stratum 0, precision 0, leap 00, trust 000
refid [129.6.15.29], delay 0.00000, dispersion 64.00000
transmitted 4, in filter 4
reference time:    00000000.00000000  Mon, Jan  1 1900  0:00:00.000
originate timestamp: 00000000.00000000  Mon, Jan  1 1900  0:00:00.000
transmit timestamp:  d752549f.142f86b3  Mon, Jun 23 2014  7:24:15.078
filter delay:  0.00000  0.00000  0.00000  0.00000
         0.00000  0.00000  0.00000  0.00000
filter offset: 0.000000 0.000000 0.000000 0.000000
         0.000000 0.000000 0.000000 0.000000
delay 0.00000, dispersion 64.00000
offset 0.000000

23 Jun 07:24:17 ntpdate[3890]: no server suitable for synchronization found
    
por Adam Matan 23.06.2014 / 09:26

2 respostas

4

Seus grupos de segurança se parecem com a versão do VPC, se esse for o caso, eu tive que abrir o UDP123 / UDP * nas ACLs da minha rede para que ele funcione. As VPCs têm duas camadas de filtragem de pacotes, a ACL da Rede seguida pelos Grupos de Segurança. Os SGs são STATEFUL (não requerem regras de entrada ao conectar primeiro), mas os NACLs são STATELESS (requerem regras para receber pacotes). Uma vez que eu adicionei a linha de configuração apropriada, o NTP funcionou perfeitamente.

Eu só adicionei a linha ao meu NACL externo que executa minhas instâncias de serviço para que eles possam acessar o NTP externo, e então executam um proxy NTP para o resto da minha rede.

Boa sorte!

    
por Surge Inc 15.10.2014 / 06:13
0

No EC2, o sinalizador -u é obrigatório:

$ sudo ntpdate -u ntp.nasa.gov time-b.nist.gov
24 Jun 11:16:33 ntpdate[27714]: adjust time server 129.6.15.29 offset 0.047272 sec

Do manual:

   -u     Direct ntpdate to use an unprivileged port for outgoing packets.  This is most useful when behind a firewall that blocks incoming traffic to
          privileged ports, and you want to synchronise with hosts beyond the firewall. Note that the -d option always uses unprivileged ports.
    
por Adam Matan 24.06.2014 / 13:18