Estou tentando configurar o multicast NTP entre alguns computadores. Agora eu estou recebendo pacotes multicast NTP de um computador que eu não tenho acesso nem informações sobre (vamos chamar isso A) que está servindo como um servidor multicast NTP estrato 4 e eu estou tentando obter o tempo de alguns computadores para sincronizar com isso.
Os computadores que estou tentando sincronizar (vamos chamá-los de B) estão rodando o CentOS6.4 e usam o ntpd versão 4.2.4p8. B pode receber o pacote multicast de A, mas não pode acessar A (não pode pingar). De B, A é o único servidor NTP disponível. ntpd
está definido para iniciar quando o computador é inicializado e é chamado com o sinalizador "-g". Dos pacotes multicast NTP, eu conclui que A está enviando para o endereço multicast "224.0.1.1" do endereço IP "192.168.1.103"
Abaixo está o ntp.conf de B:
tinker panic 0
restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery
restrict 127.0.0.1
restrict -6 ::1
driftfile /var/lib/ntp/drift
keys /etc/ntp/keys
restrict 192.168.1.103 kod nomodify noquery notrap
multicastclient 224.0.1.1
disable auth
Neste momento, o computador B recebe pacotes NTP de A, e com tempo suficiente, ntpstat
em B mostrará que está sincronizado com A. Se o tempo em B for essencialmente (em segundos) o mesmo que em A quando eu comecei o ntpd em B, então se eu mudar o tempo em B depois que ntpstat
mostrar "sincronizado" em B, o tempo será alterado de volta dentro de aproximadamente ~ 30 minutos. Se eu alterar o tempo em B para minutos diferentes de A ou maior e iniciar o ntpd em B, o ntpstat dirá "sincronizado", mas o tempo ainda estará errado e não será alterado (até agora esperei por até 3 dias) ). Usando ntpq -pn
mostra o deslocamento como algo nas dezenas (10 ~ 40) enquanto o tempo em B desligado por algo que está bem em minutos ou horas.
Espero configurar o B para que, mesmo que o tempo em B seja diferente de A por uma quantidade arbitrariamente grande quando for sincronizado com A, ele será ajustado novamente. Eu estou querendo saber se há uma maneira de configurar o ntpd em B para poder fazer isso ou ter algo que analise os pacotes multicast de A e me dê um timestamp correto ou a diferença de tempo entre A e B.
Até agora eu tentei ntpdate
e sntp
, nem funcionou. Eu também tentei obter os timestamps usando ntpq
, mas isso não foi útil (seja 0 ou simplesmente hora local).