O Network Time Protocol (NTP) é um protocolo de rede que permite o acerto automático dos relógios dos nossos computadores usando “servidores de tempo”.
Para além do carácter prático de termos o relógio do nosso computador certo, isto é também extremamente importante em ambientes de rede com serviços cliente/servidor, sendo que alguns serviços como o e-mail começam a ter comportamentos anómalos quando os relógios dos computadores que trocam informação estão dessincronizados.
Neste pequeno guia prático irei instalar um servidor NTP num servidor Ubuntu linux e configurar um servidor Windows 2000 para usar esse servidor para acertar o seu relógio.
Instalação do Servidor NTP no linux
Para instalar o servidor NTP no Ubuntu Linux basta usar o seguinte comando:
sudo apt-get install ntp
Após a instalação temos que editar o ficheiro de configuração do nosso servidor NTP para que este passe a usar um outro servidor externo que esteja geograficamente mais próximo, quanto menor for a latência entre os computadores, melhor.
Neste caso, como estou em Portugal, vou usar os servidores do Observatório Astronómico de Lisboa, instituição responsável pela manutenção e fornecimento da Hora Legal.
Edita-se o ficheiro /etc/ntp.conf
Removido:
server ntp.ubuntu.com
Adicionado:
server ntp02.oal.ul.pt server ntp04.oal.ul.pt
Após a gravar o ficheiro de configuração reinicia-se o serviço, com o comando abaixo, para termos a certeza que o servidor fica a funcionar com a nova configuração.
sudo /etc/init.d/ntp restart
Eventualmente o relógio do nosso servidor irá ser actualizado, este processo não é imediato e pode demorar alguns minutos.
Firewalls
O serviço de NTP usa a porta UDP 123, as firewalls têm que ser configuradas de modo que o servidor de NTP tenha acesso ao exterior por essa porta e também, caso haja firewalls internas, que todos os computadores que queremos manter sincronizados tenham acesso ao nosso servidor NTP.
Caso tenham dúvidas se o vosso servidor de NTP consegue comunicar para o exterior podem efectuar o seguinte teste:
Parar o servidor NTP para desocupar a porta usada pelo serviço,
sudo /etc/init.d/ntp stop
e executar o seguinte comendo,
sudo ntpdate ntp04.oal.ul.pt
Caso o nosso servidor tenha conseguido contactar o servidor externo do Observatório Astronómico de Lisboa deverá ter um output deste género:
5 Aug 17:10:49 ntpdate[4607]: adjust time server 194.117.9.136 offset 0.018772 sec
caso contrário, se não houver comunicação, o output deverá ser:
5 Aug 17:16:30 ntpdate[4640]: no server suitable for synchronization found
Não esquecer de voltar a iniciar o serviço de NTP
sudo /etc/init.d/ntp start
Configuração DNS
Por uma questão de conveniência podemos criar uma entrada no servidor local de DNS de modo que o registo “ntp” indique o nosso servidor local de NTP, assim, quando configurarmos clientes só temos que indicar “ntp” na configuração do servidor. Isto é particularmente útil no caso dos utilizadores que se movem por vários escritórios, se em cada dependência houver um servidor NTP os computadores sincronizam-se automaticamente com o servidor local.
Configuração Windows 2000 Server
Os servidores Windows 2000 podem ser configurados para acertarem os seus relógios usando o protocolo NTP, para isso segui as indicações no seguinte documento da Microsoft
Using Windows 2000 with Service Pack 4 in a Managed Environment, Windows Time Service
Nota:
A configuração envolve a edição de chaves no registro do Windows usando a aplicação “regedit”, por isso todo o cuidado é pouco, um passo em falso e arriscam-se a inutilizar a instação do Windows Server.
Abrir o regedit e abrir a seguinte chave:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32TimeParameters
Configurar os seguintes parametros com os valores indicados:
Parametro | Tipo | Valor |
Type | Text(REG_SZ) | NTP |
ReliableTimeSource | REG_DWORD | 1 |
Period | Text(REG_SZ) | SpecialSkew |
NtpServer | Text(REG_SZ) | ntp |
O valor para NtpServer parte do principio que o servidor local de DNS foi correctamente configurado para apontar para o nosso servidor local de NTP, caso não o tenham feito deverão indicar o endereço IP deste.
Referências
http://www.ntp.org/
http://en.wikipedia.org/wiki/Network_Time_Protocol
Boa sorte!! Dúvidas e comentários são sempre bem vindos.