Serveurs NTP locaux ou publics?

11

Pour un réseau relativement important (des milliers d'hôtes) - quels sont les arguments pour et contre l'exécution d'un (de pool) de serveurs NTP gérés localement (peut-être périodiquement définis via un serveur NTP public) et l'utilisation de tous les autres hôtes sur le réseau ce (pool de) serveur (s) NTP par rapport à ce que tous les hôtes utilisent simplement des serveurs NTP publics directement, par exemple via ntp.pool.org?

Mis à part les avantages et les inconvénients, quelle est la meilleure pratique typique aujourd'hui?

BeeOnRope
la source
question de devoirs? On dirait qu'un administrateur réseau pour un réseau avec des milliers d'hôtes utiliserait déjà NTP.
JamesBarnett
2
La question n'est pas de savoir s'il faut utiliser NTP, c'est de savoir si vous devez défendre votre propre NTP ou utiliser des réseaux publics.
Ian Varley
Hah, ça fait longtemps que je n'ai pas de devoirs :) Je ne suis pas personnellement un administrateur de réseau avec des milliers d'hôtes - mais la question s'est posée et je suis intéressé par les meilleures pratiques existantes.
BeeOnRope

Réponses:

12

La meilleure pratique consiste à exécuter votre propre pool de serveurs NTP configuré pour se synchroniser à partir de serveurs NTP publics. Dans le cas où votre organisation perdrait l'accès à Internet, vous ne voudriez pas que vos horloges soient faussées. En outre, il est impoli de définir des milliers d'hôtes sur des serveurs publics lorsque vous pourriez (et devriez) faire fonctionner un miroir.

Enfin, si vous avez une exigence informatique sécurisée, vous devez exploiter vos propres hôtes NTP indépendants. Vous auriez besoin d'un matériel spécial pour que ces systèmes fonctionnent.

EDIT: Depuis qu'il en a été question, voici du matériel:

Tout matériel prenant en charge PPS semble fonctionner sur un ntpd moderne . Cela inclut certaines unités GPS, bien que cela semble être rare, au moins aussi rare que les unités GPS en série le sont de nos jours. Il existe cependant des périphériques matériels vendus explicitement pour cette fonction, y compris un produit appelé TSync-PCIe. Selon le site du fabricant:

Le TSync-PCIe propose plusieurs configurations d'un ensemble lecteur / générateur de code temporel synchronisé offrant une flexibilité et une intégration facile de la synchronisation précise dans une application informatique intégrée. Choisissez parmi la synchronisation avec IRIG (et d'autres codes temporels similaires), GPS (récepteurs internes ou externes) ou Precise Time Protocol (PTP / IEEE-1588v2). - Lien vers le site: http://i564f.6o.to

ewindisch
la source
1
+1 pour avoir mentionné l'horloge matérielle. Il y a des instructions sur le net pour connecter un LVC Garmin 18 bon marché à une boîte Linux pour créer votre propre source Stratum 0.
Chris S
Bien que toutes ces instructions semblent impliquer de faire votre propre piratage matériel pour construire une interface.
Phil Hollenback
@Phil, les personnes à la recherche d'une source GPS stratum 0 bon marché sont probablement prêtes à faire un peu de piratage matériel. Si vous voulez quelque chose de facile, déballez l'argent comme tout le monde.
Chris S
Ouais, il semble juste une tâche assez simple d'obtenir un timecode à partir d'un appareil GPS, donc je suppose naïvement que ce serait une simple connexion.
Phil Hollenback
8

Même sur un petit réseau, j'utilise un service NTP local, qui se met à jour à partir d'un service externe. Une des raisons est purement historique, remontant à l'époque où la seule connexion à Internet se faisait via des modems commutés. L'autre est que si le service NTP est incorrect pour une raison quelconque, je préférerais que toutes les machines soient toujours cohérentes, ce qui est plus probable si elles se mettent toutes à jour à partir d'une seule source.

John Gardeniers
la source
Telle est la voie de cela à mon humble avis. Bien qu'avoir l'heure «correcte» soit certainement une bonne chose, il peut en fait être plus important pour les appareils sur un LAN d'avoir un temps cohérent entre eux, même s'il est différent de l'heure correcte. Des choses comme l'authentification Kerberos échouent si le temps n'est pas synchronisé entre les serveurs et les clients, et un temps cohérent peut être important pour des choses comme la surveillance des journaux, les enregistrements CCTV (par exemple, la caméra et le PVR ajouteront tous deux un horodatage), etc.
Rob Moir
7

Meilleure pratique, installez 2 (ou plusieurs) hôtes NTP à votre emplacement, regardez-les. Demandez-leur de se synchroniser avec au moins 4 (de préférence jusqu'à 8) serveurs externes de 0.pool.ntp.org à 3.pool.ntp.org. Si vous en utilisez plus de 4, vous devez ajuster la fréquence à laquelle ils interrogent les membres du pool.

Voici une version éditée de mon ntp.conf:

server 0.us.pool.ntp.org minpoll 8 maxpoll 14
server 1.us.pool.ntp.org minpoll 8 maxpoll 14
server 2.us.pool.ntp.org minpoll 8 maxpoll 14
server 3.us.pool.ntp.org minpoll 8 maxpoll 14

peer ntp2.example.com

driftfile /var/db/drift.ntp
logfile /var/log/ntp.log
logconfig +sysall +syncall

Vous pouvez omettre les arguments minpoll et maxpoll, je les ajoute donc je suis un peu plus léger sur ces serveurs. Les valeurs sont de 2 ^ n secondes, où n est l'argument; ces valeurs sont plus élevées que les valeurs par défaut (6 et 10) parce que j'interroge déjà 12 serveurs différents entre mes trois hôtes NTP.

Si vous êtes très préoccupé par la précision, vous pouvez également ajouter les éléments suivants:

server tick.usno.navy.mil prefer minpoll 10 maxpoll 16

Cela interrogera l'horloge atomique de la marine. Notez les temps d'interrogation élevés car ils sont assez chargés et ont demandé aux gens de se détendre sur leur serveur (en fait un cluster à 3 nœuds).

Chris S
la source
Que se passe-t-il si les serveurs NTP externes ne sont pas synchronisés?
Warren Dew
1. Cela ne se produit pas ou du moins pas à une échelle qui compte. 2. Cela dépend de ce qui est exactement "hors synchronisation" et de combien. Si un seul serveur externe est éloigné, il ne sera pas utilisé. Les chances que les 4 soient hors de portée d'un montant fou sont astronomiquement faibles. Si vous êtes préoccupé par la précision, utilisez le cluster de serveurs USNO, sa faible gigue rendra le temps préférable.
Chris S
3

Comme d'autres l'ont mentionné, pour des milliers d'hôtes internes, il est préférable de fournir vos propres serveurs de temps. Pour des raisons telles que (comme d'autres déjà mentionnées):

  • structure: configurez la configuration de l'heure comme vous le souhaitez; avec autant de sources de strate que possible
  • robustesse: configurer le système ntp pour qu'il soit robuste selon les besoins; en utilisant ses propres sources d'horloge (GPS) et / ou NTP avec différentes routes
  • politesse: considération aimable pour accueillir l'organisation de sources de temps externes; moins de charge pour eux
  • performances: limitation du trafic réseau NTP externe à quelques hôtes (problème mineur)
  • sécurité: limitation du trafic réseau NTP en externe à quelques hôtes renforcés

En ce qui concerne les meilleures pratiques:

Sur http://www.ntp.org/ntpfaq/NTP-s-config-adv.htm , voici une structure recommandée pour les sources NTP uniquement.

 1a  1b     1c  1d     1e  1f      outside
. \ / ...... \ / ...... \ / ..............
   2a ---p--- 2b ---p--- 2c        inside
  /|\        /|\        /|\
 / | \      / | \      / | \
3a 3b 3c   3e 3f 3g   3h 3i 3j

Key: 1 = stratum-1, 2 = stratum-2, 3 = stratum-3, p = peer

Des informations supplémentaires sur la configuration d'un serveur NTP sont disponibles à l' adresse http://www.pool.ntp.org/join/configuration.html . Exemples:

  • Installer environ 5 serveurs
  • Utilisez le ntpd standard
  • N'utilisez pas le pilote d'horloge LOCAL
  • utiliser des sources de temps NTP qui sont géographiquement / réseau le plus proche de vous et de faibles nombres de strates
Lars Nordin
la source
Notez le commentaire après cette entrée dans la FAQ selon lequel il n'est pas souhaitable d'avoir des serveurs de strate 3 dépendant d'un seul serveur de strate 2. Ainsi, plutôt que de suivre exactement le diagramme ci-dessus, il devrait y avoir des lignes de chaque serveur de la strate 3 à chaque serveur de la strate 2.
Paul Gear
1

Je pense que la plupart des grands réseaux utilisent un petit pool de serveurs ntp internes dédiés. le trafic ntp est assez léger, vous n'avez donc probablement pas besoin de nombreux serveurs pour desservir une grande organisation.

Comme avec tous les services réseau, l'avantage d'exécuter vos propres serveurs ntp est que vous obtenez plus de contrôle et prenez plus de décisions. Par exemple, si vous perdez la connectivité réseau avec le monde extérieur, vos machines peuvent continuer à parler à votre serveur ntp interne et vous n'avez pas à vous soucier de devoir se reconnecter à des serveurs externes.

Si vous avez des milliers de serveurs, vous devriez également envisager d'exécuter votre propre serveur de temps dédié, par exemple à partir d'un périphérique gps ou via une horloge atomique dédiée . Je ne sais pas combien cela coûte de nos jours, mais cela ne peut pas coûter cher par rapport aux milliers de systèmes que vous supportez déjà. Ensuite, vous avez un service de temps précis complètement indépendant de votre connexion au monde extérieur.

Un autre point à considérer est que l'exécution de vos propres serveurs ntp est plus polie. De cette façon, vous ne disposez que de quelques machines effectuant des demandes externes au lieu de milliers. Je suis sûr que les administrateurs des serveurs ntp accessibles au public apprécieraient cela. De plus, cela réduira légèrement (très légèrement) le trafic de votre réseau externe, ce qui est probablement une bonne chose.

De plus, si vous exécutez vos propres serveurs ntp, vous pouvez resserrer un peu votre pare-feu car seules quelques machines se connectent à l'extérieur sur le port 123 au lieu de beaucoup de machines. Cela pourrait être utile.

ntp est facile à configurer et une fois qu'il fonctionne, il nécessite très peu d'entretien. Chaque entreprise avec laquelle j'ai déjà participé a mis en place ses propres serveurs ntp et cela a très bien fonctionné.

Phil Hollenback
la source
0

Dans ce cas, la meilleure pratique serait d'exécuter votre propre serveur NTP - ou un pool si nécessaire - et de tirer du pool NTP le plus proche géographiquement. Cela réduit la charge que les serveurs NTP face au public doivent supporter, mais vous donnera toujours une grande précision. Si vous avez besoin de plus de précision, vous pouvez retirer des serveurs de la Stratum 1, mais cela augmente la charge que le pool doit supporter, vous ne devez donc le faire que si vous êtes prêt à contribuer un serveur au pool.

Scribe
la source
0

Une bonne raison pour exécuter vos propres serveurs NTP dans un grand réseau est de vous assurer que toutes vos machines sont d'accord sur l'heure correcte. Avoir beaucoup de systèmes avec leurs propres paramètres pour les serveurs de temps externes (ou tous utilisant différents membres pool.ntp.org) peut entraîner de petites différences de temps sur les systèmes, ce qui peut entraîner des problèmes.

L'autre bonne raison est que le fait d'avoir vos propres serveurs NTP signifie que le temps synchronisé restera disponible à partir de quelques serveurs (surveillés!) Lorsque le lien extérieur tombe en panne ou est saturé de trafic.

Toute mon opinion en tant que timegeek.

Koos van den Hout
la source