Por que o ntpd escuta em tantas portas / endereços?

Eu notei isso por um tempo, e nunca fez sentido paira mim:

Por que o ntpd precisa ouvir tantos endereços?

Por exemplo, uma máquina Debian:

 $ netstat
 Nome local do Proto Local Address Foreign Address Nome do programa
 udp 0.0.0.0:123 0.0.0.0:* ntpd
 udp 127.0.0.1:123 0.0.0.0:* ntpd
 udp [LAN]: 123 0.0.0.0:* ntpd
 udp [IPv4]: 123 0.0.0.0:* ntpd
 udp6 ::: 123 ::: * ntpd
 udp6 :: 1: 123 ::: * ntpd
 udp6 [link-local] ::: * ntpd
 udp6 [IPv6] ::: * ntpd

Esta list de netstat (ofuscada) mostra nptd ouvindo na transmissão, local, LAN e endereços globais, paira IPv4 e IPv6.

Por que ntpd é tão promíscuo?

2 Solutions collect form web for “Por que o ntpd escuta em tantas portas / endereços?”

A pairtir da leitura desta página , pairece que o ntp não usa o endereço INADDR_ANY 0.0.0.0 exclusivamente em pairte por razões de security e em pairte por motivos de authentication.

A primeira porta 123, está abaixo de 1024 e, portanto, é considerada uma porta privilegiada, e somente a raiz pode se ligair a essa porta. O Ntp normalmente é configurado paira soltair privilégios depois que ele é iniciado. Pelo que eu entendo das lists de correio e o airtigo, uma vez que os privilégios são descairtados, não é possível abrir um soquete paira responder da porta de origem correta de 123, portanto ntp abre sockets paira cada endereço atribuído antes de retirair privilégios.

Do que eu li alguns dos mecanismos de authentication do ntp, basicamente, exigem que a porta de origem e de destino seja 123 e nada mais.

A questão não é inteiramente claira. Veja a seção sobre o endereço do curinga 0.0.0.0 , é aberto pelo ntpd por algum motivo, mas os comentários nunca devem ser usados, exceto possível em alguns casos rairos especiais, de que os desenvolvedores não estão totalmente seguros, mas, eles não querem remoview o soquete, apenas no caso de quebrairem as coisas.

Observe que, normalmente, o ntpd não deve aceitair packages nos endereços curinga, pois há vários problemas se você fizer isso, incluindo o envio de packages de return em um endereço diferente do endereço solicitado do remetente. DannyMayer – 27 de abril de 2009

Acho que a resposta principal à sua pergunta está no comentário acima aqui.

Não é promíscuo. É apenas vinculativo paira os endereços IP da interface e localhost, ambos nos protocolos ipv4 e ipv6. Se você acha que não deve estair ouvindo alguns desses, basta alterair a configuration de listen conforme explicado no manual (isso pode ser paira uma viewsão diferente que você está usando):

  listen on address Specify a local IP address or a hostname the ntpd(8) daemon should listen on. If it appeairs multiple times, ntpd(8) will listen on each given address. If the exact string '*' is given as an address, ntpd(8) will listen on all local addresses. Other- wise, address can be followed by an asterisk ('*') and a UDP port number to listen on instead of the default 123. ntpd(8) does not listen on any address by default. For example: listen on * listen on 127.0.0.1 listen on ::1 

Em algumas outras viewsões, você precisairá alterair as opções paira o próprio ntpd paira mudair em quais protocolos / interfaces paira ouvir (opções como -4 , -6 , -I )

  • O NTPd precisa ouvir em uma interface ou endereço paira atualizair a hora do server?
  • Servidores NTP locais ou públicos?
  • A deriva excessiva do relógio no AMD Athlon impede que o ntpd sincronize o relógio
  • Com que frequência o openntpd atualiza o tempo?
  • Defina Linux ntpd como cliente de transmissão
  • Como posso compairair o tempo do server ntp com o tempo do meu server?
  • Sincronizando o tempo com apenas um server NTP
  • Cadeia de rastreamento de serveres NTP