O NTPd precisa escutar em uma interface ou endereço para atualizar a hora do servidor?

5

O NTPd escuta na porta UDP 123 (todos os endereços IP), por padrão. Isso é necessário apenas para atualizar o horário do servidor?

Se for necessário ouvir um endereço, qual endereço único deve ser usado? Os endereços possíveis que ele pode ouvir são:

  • 127.0.0.1
  • IP do servidor
  • :: 1 (IPv6)
  • IP do servidor (IPv6)

Por que é necessário escutar no localhost (127.0.0.1 e :: 1)? Ninguém pode alcançar o servidor nesse endereço.

Para ligar o NTPd a um único endereço, a opção -I pode ser usada. Para minha caixa Debian, tive que editar /etc/default/ntp e substituir -g por:

-g -I 1.2.3.4 -I 127.0.0.1

Isso faz com que o NTPd ouça no endereço público 1.2.3.4 (substitua pelo seu próprio) e 127.0.0.1.

    
por Lekensteyn 17.02.2011 / 19:29

2 respostas

2

Ouvir localhost faz sentido se você deseja executar consultas na caixa local. Por exemplo, ntpq -p localhost consultará o serviço ntp em execução na sua caixa local.

Em geral, você provavelmente deseja que o ntpd ouça todos os endereços reais para os quais precisa enviar ou receber atualizações. Se você está rodando o ipv6 você precisa listar os endereços ipv6 também, caso contrário, apenas liste os endereços IP do servidor real e o localhost ipv4.

    
por 17.02.2011 / 19:47
8

Se você quiser apenas atualizar a hora local, provavelmente deverá restringir o acesso ao servidor, uma vez que o ntpd não suporta a configuração dos endereços de escuta.

A primeira coisa a configurar é a política padrão. Você pode bloquear toda a comunicação não ativada posteriormente, mas lembre-se de que as restrições funcionam para o cliente e o servidor em ambos os sentidos.

restrict default ignore
# Allow access to localhost
restrict 127.0.0.1
restrict IP.OF.UPSTREAM.SERVER

Ou você pode permitir a troca de tempo por padrão e permitir a consulta do servidor somente ao localhost:

restrict -4 default kod notrap nomodify nopeer noquery
restrict 127.0.0.1

O ntpd também permite escolher a interface em que ele é executado através do switch -I. Se você está rodando Debian você pode simplesmente adicionar a opção -I para a variável NTPD_OPTS em / etc / defaults / ntpd.

ntpd -I eth0
    
por 17.02.2011 / 20:31

Tags