29.11. Sincronização de Relógio com NTP

Com o tempo, o relógio de um computador está propenso a se desviar. Isso é problemático, pois muitos serviços de rede exigem que os computadores em uma rede compartilhem o mesmo tempo exato. Tempo preciso também é necessário para garantir que os registros de data e hora dos arquivos permaneçam consistentes. O protocolo de horário da rede (NTP) é uma maneira de fornecer precisão de relógio em uma rede.

O FreeBSD inclui ntpd(8) que pode ser configurado para consultar outros servidores NTP para sincronizar o relógio naquela máquina ou para fornecer tempo de serviços a outros computadores na rede. Os servidores que são consultados podem ser locais para a rede ou fornecidos por um ISP. Além disso, uma online list of publicly accessible NTP servers está disponível . Ao escolher um servidor público NTP, selecione um que esteja geograficamente próximo e revise sua política de uso.

A escolha de vários servidores NTP é recomendada caso um dos servidores fique inacessível ou seu relógio não seja confiável. Como o ntpd recebe respostas, ele favorece servidores confiáveis ​​em detrimento dos menos confiáveis.

Esta seção descreve como configurar o ntpd no FreeBSD. Mais documentação pode ser encontrada em /usr/share/doc/ntp/ no formato HTML.

29.11.1. Configuração de NTP

No FreeBSD, o ntpd embutido pode ser usado para sincronizar o relógio de um sistema. Para ativar o ntpd no momento da inicialização, adicione ntpd_enable="YES" ao /etc/rc.conf. Variáveis ​​adicionais podem ser especificadas em /etc/rc.conf. Consulte rc.conf(5) e ntpd(8) para detalhes.

Esta aplicação lê o /etc/ntp.conf para determinar quais servidores NTP devem ser consultados. Aqui está um exemplo simples de um /etc/ntp.conf:

Exemplo 29.4. Exemplo de /etc/ntp.conf
server ntplocal.example.com prefer
server timeserver.example.org
server ntp2a.example.net

driftfile /var/db/ntp.drift

O formato deste arquivo é descrito em ntp.conf(5). A opção server especifica quais servidores consultar, com um servidor listado em cada linha. Se uma entrada do servidor incluir prefer, esse servidor é preferido em relação a outros servidores. Uma resposta de um servidor preferencial será descartada se difere significativamente das respostas de outros servidores; caso contrário, será usado. O argumento prefer deve ser usado apenas para servidores NTP que são conhecidos como altamente precisos, como aqueles com hardware de monitoramento de tempo especial.

A entrada driftfile especifica qual arquivo é usado para armazenar o deslocamento de frequência do relógio do sistema. O ntpd usa isso para compensar automaticamente o desvio natural do relógio, permitindo que ele mantenha uma configuração razoavelmente correta, mesmo que seja cortado de todas as origens de tempo externas por um período de tempo. Este arquivo também armazena informações sobre respostas anteriores de servidores NTP. Como este arquivo contém informações internas para NTP, ele não deve ser modificado.

Por padrão, um servidor NTP é acessível a qualquer host da rede. A opção restrict em /etc/ntp.conf pode ser usada para controlar quais sistemas podem acessar o servidor. Por exemplo, para impedir que todas as máquinas acessem o servidor NTP, adicione a seguinte linha ao /etc/ntp.conf:

restrict default ignore

Nota:

Isso também impedirá o acesso de outros servidores NTP. Se houver necessidade de sincronizar com um servidor NTP externo, permita apenas esse servidor específico. Consulte ntp.conf(5) para obter mais informações.

Para permitir que máquinas dentro da rede sincronizem seus relógios com o servidor, mas assegure-se de que elas não tenham permissão para configurar o servidor ou sejam usados ​​como peers para sincronizar, em vez disso, use:

restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap

onde 192.168.1.0 é o endereço de rede local e 255.255.255.0 é a máscara de sub-rede da rede.

Múltiplas entradas restrict são suportadas. Para mais detalhes, consulte a subseção Access Control Support do ntp.conf(5).

Uma vez que ntpd_enable="YES" tenha sido adicionado ao /etc/rc.conf, o ntpd pode ser iniciado sem reiniciar o sistema, digitando:

# service ntpd start

29.11.2. Usando NTP com uma Conexão PPP

O ntpd não precisa de uma conexão permanente com a Internet para funcionar corretamente. No entanto, se uma conexão PPP estiver configurada para discar sob demanda, o tráfego de NTP deverá ser impedido de disparar uma discagem ou manter a conexão ativa. Isso pode ser configurado com as diretivas filter em /etc/ppp/ppp.conf. Por exemplo:

set filter dial 0 deny udp src eq 123
 # Prevent NTP traffic from initiating dial out
 set filter dial 1 permit 0 0
 set filter alive 0 deny udp src eq 123
 # Prevent incoming NTP traffic from keeping the connection open
 set filter alive 1 deny udp dst eq 123
 # Prevent outgoing NTP traffic from keeping the connection open
 set filter alive 2 permit 0/0 0/0

Para mais detalhes, consulte a seção PACKET FILTERING em ppp(8) e os exemplos em /usr/share/examples/ppp/.

Nota:

Alguns provedores de acesso à Internet bloqueiam portas de números baixos, impedindo o funcionamento do NTP, pois as respostas nunca chegam à máquina.

All FreeBSD documents are available for download at https://download.freebsd.org/ftp/doc/

Questions that are not answered by the documentation may be sent to <freebsd-questions@FreeBSD.org>.
Send questions about this document to <freebsd-doc@FreeBSD.org>.