Sincronização NTP no CentOS 7

1

Configurei um servidor NTP em uma máquina CentOS 7 (uma virtual) e também configurei o arquivo ntp.conf dos clientes (que também são virtuais e rodam o CentOS 7). A sincronização NTP funciona perfeitamente quando eu inicio / reinicia explicitamente o serviço ntpd com "systemctl (re) start ntpd" nas máquinas clientes. Mas quando tento testar a sincronização "automática" alterando a hora no servidor, os clientes não serão "notificados" nem atualizarão seus relógios (os relógios ficam como estavam sincronizados durante a última reinicialização do ntpd). Eu até tentei mudar a freqüência de polling do arquivo ntp.conf dos clientes, mas nada parecia funcionar. Eu realmente aprecio alguma ajuda.

PS: aqui estão os arquivos ntp.conf do servidor e um cliente:

Servidor:

# For more information about this file, see the man pages
# ntp.conf(5), ntp_acc(5), ntp_auth(5), ntp_clock(5), ntp_misc(5), ntp_mon(5).

driftfile /var/lib/ntp/drift

# Permit time synchronization with our time source, but do not
# permit the source to query or modify the service on this system.
restrict default nomodify notrap nopeer noquery

# Permit all access over the loopback interface.  This could
# be tightened as well, but to do so would effect some of
# the administrative functions.
restrict 127.0.0.1 
restrict ::1

# Hosts on local network are less restricted.
#restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap

# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst
server 127.127.1.0

fudge 127.127.1.0 stratum 1

#broadcast 192.168.1.255 autokey    # broadcast server
#broadcastclient            # broadcast client
#broadcast 224.0.1.1 autokey        # multicast server
#multicastclient 224.0.1.1      # multicast client
#manycastserver 239.255.254.254     # manycast server
#manycastclient 239.255.254.254 autokey # manycast client

# Enable public key cryptography.
#crypto

includefile /etc/ntp/crypto/pw

# Key file containing the keys and key identifiers used when operating
# with symmetric key cryptography. 
keys /etc/ntp/keys

# Specify the key identifiers which are trusted.
#trustedkey 4 8 42

# Specify the key identifier to use with the ntpdc utility.
#requestkey 8

# Specify the key identifier to use with the ntpq utility.
#controlkey 8

# Enable writing of statistics records.
#statistics clockstats cryptostats loopstats peerstats

# Disable the monitoring facility to prevent amplification attacks using ntpdc
# monlist command when default restrict does not include the noquery flag. See
# CVE-2013-5211 for more details.
# Note: Monitoring will not be disabled with the limited restriction flag.
disable monitor

Cliente:

# For more information about this file, see the man pages
# ntp.conf(5), ntp_acc(5), ntp_auth(5), ntp_clock(5), ntp_misc(5), ntp_mon(5).

driftfile /var/lib/ntp/drift

# Permit time synchronization with our time source, but do not
# permit the source to query or modify the service on this system.
restrict default nomodify notrap nopeer noquery

# Permit all access over the loopback interface.  This could
# be tightened as well, but to do so would effect some of
# the administrative functions.
restrict 127.0.0.1 
restrict ::1

# Hosts on local network are less restricted.
#restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap

# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst
server 192.168.1.38 #This is the ip address of the server

#broadcast 192.168.1.255 autokey    # broadcast server
#broadcastclient            # broadcast client
#broadcast 224.0.1.1 autokey        # multicast server
#multicastclient 224.0.1.1      # multicast client
#manycastserver 239.255.254.254     # manycast server
#manycastclient 239.255.254.254 autokey # manycast client

# Enable public key cryptography.
#crypto

includefile /etc/ntp/crypto/pw

# Key file containing the keys and key identifiers used when operating
# with symmetric key cryptography. 
keys /etc/ntp/keys

# Specify the key identifiers which are trusted.
#trustedkey 4 8 42

# Specify the key identifier to use with the ntpdc utility.
#requestkey 8

# Specify the key identifier to use with the ntpq utility.
#controlkey 8

# Enable writing of statistics records.
#statistics clockstats cryptostats loopstats peerstats

# Disable the monitoring facility to prevent amplification attacks using ntpdc
# monlist command when default restrict does not include the noquery flag. See
# CVE-2013-5211 for more details.
# Note: Monitoring will not be disabled with the limited restriction flag.
disable monitor
    
por Reda94 05.03.2016 / 09:47

3 respostas

2

Acho que você também precisa descomentar a linha restrict no servidor para disponibilizar ntp nessa rede. Em seguida, reinicie ntpd .

restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap

No lado do cliente, você também pode adicionar iburst à linha de configuração do servidor, o que deve acelerar a sincronização do relógio inicial e reiniciar ntpd .

server 192.168.1.38 iburst

Com ntpq -p você pode listar os servidores e se uma conexão foi feita.

    
por 05.03.2016 / 13:13
2

Algumas notas para sua configuração:

Uma regra geral que uso é:

  • não coloque o servidor ntp em uma máquina virtual
  • não confie no relógio local no servidor ntp.

Você escreve que usará uma rede isolada (para que os servidores do pool não possam ser contatados). Você provavelmente terá que confiar no relógio do hardware. Mas tente tirar o servidor ntp da VM.

Para os clientes, nas VMs eu sempre tenho como primeira linha no ntp.conf:

tinker panic 0

O NTP não entra em pânico quando há um grande deslocamento de tempo.

    
por 05.03.2016 / 22:23
0

Provavelmente você não está sincronizando com ntpd durante (re) iniciar, mas usando ntpdate (você pode verificar se /etc/sysconfig/ntpdate existe)

Além disso, os clientes provavelmente confiam em seu próprio relógio e não dão nenhum salto repentino. ntpd , se confrontado com mudanças repentinas (ou seja, aquelas que são perceptíveis para você) em um relógio mestre, assumirá que o mestre está com defeito e continuará com seu próprio tempo.

Como você não explica por que está fazendo isso, é difícil dar conselhos além de não brincar com o ntp se não for necessário.

Você também deve verificar que chronyd e / ou o timeyncd do systemd não estão interferindo nas suas experiências.

    
por 05.03.2016 / 10:19

Tags