GNU/Linux >> Tutoriales Linux >  >> Linux

¿Por qué ntpd escucha en tantos puertos/direcciones?

Solución 1:

No es promiscuo en absoluto. Solo se vincula a las direcciones IP de la interfaz y al host local, tanto en los protocolos ipv4 como ipv6. Si cree que no debería estar escuchando algunos de esos, simplemente cambie el listen config como se explica en el manual (esto puede ser para una versión diferente a la que está usando):

 listen on address
         Specify a local IP address or a hostname the ntpd(8) daemon
         should listen on. If it appears 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

En algunas otras versiones, deberá cambiar las opciones a ntpd mismo demonio para cambiar qué protocolos/interfaces escuchar (opciones como -4 , -6 , -I )

Solución 2:

De mi lectura de esta página, parece que ntp no usa INADDR_ANY 0.0.0.0 dirección exclusivamente en parte por razones de seguridad y en parte por razones de autenticación.

El primer puerto 123 está por debajo de 1024, por lo que se considera un puerto privilegiado y solo la raíz puede vincularse a ese puerto. Ntp generalmente está configurado para eliminar privilegios después de iniciarse. Por lo que entiendo de las listas de correo, y el artículo, una vez que se eliminan los privilegios, no se puede abrir un socket para responder desde el puerto de origen correcto de 123, por lo que ntp abre sockets para cada dirección asignada antes de eliminar los privilegios.

Por lo que he leído, algunos de los mecanismos de autenticación para ntp básicamente requieren que el puerto de origen y destino sea 123, y nada más.

El asunto no está del todo claro. Consulte la sección sobre la dirección comodín 0.0.0.0 , ntpd lo abre por alguna razón, pero a partir de los comentarios en realidad nunca se debe usar, excepto en algunos casos raros especiales, de los que los desarrolladores no están completamente seguros, pero no quieren eliminar el socket, por si acaso rompen cosas.

Tenga en cuenta que normalmente ntpd no debería aceptar paquetes en las direcciones comodín, ya que hay una serie de problemas si lo hace, incluido el envío de paquetes de retorno en una dirección diferente a la dirección solicitada por el remitente. DannyMayer - 27 de abril de 2009

Creo que la respuesta principal a su pregunta está en el comentario anterior aquí.


Linux
  1. ¿Por qué la opción Ssh -t agrega Cr y Lf en la salida redirigida?

  2. ¿Por qué Mv(1) copia objetos si se niega el permiso para mover?

  3. ¿Por qué `exit &` no funciona?

  4. ¿Por qué git falla al empujar/buscar con demasiados archivos abiertos?

  5. ¿Por qué el contenedor docker solicita Permiso denegado?

Cómo encontrar su dirección IP en Linux

¿Por qué la expansión variable sin $ funciona en expresiones?

¿Por qué el tiempo de Unix comienza en 1970-01-01?

¿Por qué '/' tiene una entrada '..'?

¿Qué es el DNS y cómo funciona?

Obtenga una dirección IP en Linux:descubra las muchas formas