Forum Linux.debian/ubuntu Configuration NTP serveur

Posté par  . Licence CC By‑SA.
Étiquettes :
3
8
nov.
2022

Bonjour à tous,

Je suis en full Ubuntu 20.04

J'essaye d'installer un server NTP sur mon réseau domestique. Le serveur n'aura JAMAIS accès à Internet, je veux donc synchroniser l'heure de celui-ci sur son horloge interne de la carte mère puis diffuser par NTP son heures aux différents utilisateurs du réseau (qui eux-aussi n'auront pas accès à Internet).

Sur le serveur, j'ai bien installé dhcp, et ntp. Le port udp 123 est bien ouvert

à /etc/ntp.conf, j'ai tout laissé par défaut, juste décommenté la dernière ligne:
broadcast 192.168.0.255
et supprimé les pool vers ubuntu

Ma conf dhcp envoi bien qu'il est aussi serveur ntp

subnet 192.168.0.0 netmask 255.255.255.0 {
   [blablabl]
   option ntp-servers               192.168.0.1;
   range   192.168.0.10   192.168.0.100;
}

Sur le journalctl -fu ntp j'ai bien l'information que ntp écoute le port réseau mais j'ai aussi ce message:
```
ntpd[51009]: kernel reports TIME_ERROR: 0x41: Clock Unsynchronized

```Côté clients, pas de synchro avec les packages par défauts, j'ai donc aussi installé ntp pour avoir quelques outils.Le plus frappant comme quoi mon serveur ne répond pas c'est:

ntpq -pn
         remote           refid      st t when poll reach   delay   offset  jitter
    ==============================================================================
     192.168.0.1     .INIT.          16 u    8   64    0    0.000    0.000   0.000

La même commande sur le serveur me retourne
192.168.0.255 .BCST. 16 B - 64 0 0.000 0.000 0.000

Bref je tourne en rond, je ne sais pas ce que je peux faire de plus et j'ai toujours le doute si mon serveur fonctionne bien en ntp ou si c'est mes clients qui sont mal configurés…
Merci d'avance pour votre aide !

  • # server et client

    Posté par  . Évalué à 3.

    tu veux donc que le chassis 192.168.0.1 soit serveur de temps
    il lui faut donc le service ntp*d*

    les client, eux, prendront ntp et auront 127.0.0.1 dans la config ( /etc/ntp.conf )

    • [^] # Re: server et client

      Posté par  . Évalué à 1.

      D'après ce que j'ai compris, le paquet ntp répond à cette problématique. Sinon je dois apt quoi ?

  • # tos orphan 15

    Posté par  . Évalué à 2.

    Le wiki archlinux mentionne la nécessité d'activer un mode 'orphelin' sur un serveur hors ligne, autrement le serveur ntp se coupe car il a perdu sa référence.

    • [^] # Re: tos orphan 15

      Posté par  . Évalué à 1.

      Merci beaucoup pour le lien, je comprends même pas que je ne l'avais pas vu avant: il semble qu'il y a tout dedans.
      Je vous tiens au courant ;)

    • [^] # Re: tos orphan 15

      Posté par  . Évalué à 1.

      Bon bah impossible de faire marcher ce satané ntp en tant qu'orphelin quand il n'a jamais été connecté à internet.
      Voilà mon fichier serveur, peut-être voyez vous une erreur ?
      J'ai essayé tant en lancant le serveur par systemctl que à la main avec la commande ntpd -g -u ntp:ntp -i /var/lib/ntp

      server 127.0.0.1 iburst
      tos orphan 16
      fudge 127.127.1.0 stratum 10
      
      interface listen 127.0.0.1
      interface listen 192.168.0.1
      restrict 192.168.0.0 mask 255.255.255.0 nomodify notrap nopeer
      
      
      broadcast 192.168.0.255
      
      driftfile /var/lib/ntp/ntp.drift
      logfile /var/log/ntp.log
      
      • [^] # Re: tos orphan 15

        Posté par  . Évalué à 1.

        Essaie peut-être avec chronyd plutôt que ntpd?
        Essaie d'utiliser le mot-clé "air gapped" dans tes recherches si ce n'est pas déjà fait.

  • # un serveur ntp mets à jour l'horloge interne

    Posté par  (site web personnel) . Évalué à 2.

    Il y a une méprise sur le fonctionnement d'un serveur ntp : il se synchronise sur un autre serveur (horloge atomique ou fils) et mets à l'heure l'horloge interne de sa carte mère.
    S'il n'a pas de source, il se considère désynchronisé.

  • # 127.127.1.0

    Posté par  . Évalué à 1.

    Bonjour,

    J'ai dû configurer NTP sur un serveur U16.04 dans un réseau indépendant (airgap) la semaine dernière. J'ai utilisé la configuration proposée sur ce site: https://www.tek-tips.com/viewthread.cfm?qid=336666

    La partie importante pour moi était celle-ci:

    server 127.127.1.0
    fudge 127.127.1.0 stratum 9

  • # Dérive

    Posté par  (site web personnel) . Évalué à 2. Dernière modification le 12 novembre 2022 à 12:31.

    Par expérience, ton serveur va dériver car les quartz dans les cartes mères ne sont pas très fiables. C'est une question de chance, cela peut être correct comme atteindre une minute ou deux par semaine.

    Tu peux certainement limiter cette dérive via du UDP en ajoutant une diode à ton réseau, avec trois transceivers réseau fibre optique/ethernet, qui vont te garantir qu'aucun flux ne sort de ton réseau domestique mais en te permettant d'y injecter des données depuis internet (au hasard, un flux donnant l'heure). Sinon, il y a des cartes PCI-e qui peuvent servir d'horloge (mais c'est plus cher).

    • [^] # Re: Dérive

      Posté par  . Évalué à 2.

      Il y a aussi moyen d'utiliser un chip "GPS" (GNSS, en vrai) pour récupérer l'heure par le signal GPS (et Galileo, Glonass, Beidu…).

      Il y en a pas trés cher qui sont bien suffisamment précis pour ce genre de chose. J'ai un u-blox NEO-6M, on en trouve à 15€ sur le plus long fleuve du monde, avec une antenne à 15€ aussi.

      Avec un rpi2, j'ai un serveur de temps qui est précis à mieux que la microseconde (pourvu qu'il ne fasse que ça) ; chrony estime une erreur qui tourne habituellement entre 200ns et 500ns, avec des pics dans les 800ns à 1µs en charge modérée du rpi2. Pour un réseau domestique, c'est largement suffisant !

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.