Comment empêcher ntpd d'écouter le 0.0.0.0:123?

29

ntpd écoute sur de nombreuses interfaces par défaut, je veux seulement qu'il écoute sur 127.0.0.1:123 car je veux seulement que l'hôte local synchronise l'heure.

Comment faire, j'ai essayé en éditant / etc / default / ntp sur Debian Wheezy:

NTPD_OPTS='-4 -I 127.0.0.1'

Mais il écoute toujours globalement le 0.0.0.0:123

Des idées?

JohnnyFromBF
la source
Je suis curieux de savoir quel est votre objectif ultime ici. La synchronisation avec localhost n'a pas beaucoup de sens et ne fonctionnera pas du tout par défaut sans fudgedéclaration. Qu'essayez-vous d'accomplir?
Ladadadada
@Ladadadada Nous avons un serveur ntp ici dans le LAN. Nos clients Linux devraient avoir l'heure correcte, mais au lieu d'exécuter un cronjob horaire, ntpdate -B timeservernous voulions exécuter un ntpd sur chaque client avec seulement 127.0.0.1:123 qui demande le serveur de temps dans le LAN. Y a-t-il quelque chose qui ne va pas?
JohnnyFromBF
4
Sur un client, le port d'écoute est uniquement utilisé pour interroger l'état actuel du démon. Les serverlignes de vos ntpdconfigurations client définissent avec qui vous vous synchronisez. Si votre ou vos serverligne (s) le disent 127.0.0.1, vous avez un problème. S'ils pointent vers votre serveur de temps central, tout devrait bien se passer.
Ladadadada

Réponses:

34

Supprimez toutes les options -Iou insérez-les dans votre :--interface/etc/default/ntp/etc/ntp.conf

interface ignore wildcard
interface listen 127.0.0.1
interface listen ::1
# NOTE: if you want to update your time using remote machines,
# add at least one remote interface address:
#interface listen 2001:db8::1
#interface listen 192.0.2.1

Un extrait de la ntpd(1)page de manuel sur l' -ioption:

Cette option implique également de ne pas ouvrir d'autres adresses, à l'exception du caractère générique et de l'hôte local. Veuillez envisager d'utiliser la commande d'interface du fichier de configuration, qui est plus polyvalente.

Voir aussi la page de manuel Debian (je ne l'ai pas trouvée dans Arch Linux) de ntp.conf(5).

Lekensteyn
la source
6
ntp doit se lier sur une interface routable pour pouvoir se synchroniser avec les serveurs de temps. Voir la réponse de meepmeep ci-dessous.
Organic-mashup
17

Avec l'écoute ntp uniquement sur 127.0.0.1, il semble qu'il ne puisse pas établir de connexion à un serveur ntp public:

$ ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
ks370079.kimsuf **.INIT.**       16 -    -   64    0    0.000    0.000   0.000

Il doit être lié à une adresse IP routable pour fonctionner.

Meep meep
la source
Merci pour cette observation et votre exemple montrant comment vérifier que c'est bien le cas.
ColinM
6

/Etc/ntp.conf complet qui est neutre au protocole (IPv4 et | IPv6)

driftfile /var/lib/ntp/ntp.drift

statistics loopstats peerstats clockstats
filegen loopstats file loopstats type day enable
filegen peerstats file peerstats type day enable
filegen clockstats file clockstats type day enable

server 0.pool.ntp.org
server 1.pool.ntp.org
server 2.pool.ntp.org
server 3.pool.ntp.org

restrict -4 default kod notrap nomodify nopeer noquery
restrict -6 default kod notrap nomodify nopeer noquery

restrict lo

interface ignore wildcard
interface listen lo

la source
6

Si vous souhaitez réduire le nombre de services d'écoute pour des raisons de sécurité, openntpd peut être envisagé, car il ne nécessite pas de serveur d'écoute pour agir en tant que client. Il est considéré comme légèrement moins précis que ntpd; il est fiable en quelques centaines de ms, mais il convient à la plupart des applications.

imitateur
la source