Activer le serveur NTP du firmware Tomato

Écrit par fdgeek
7 minutes
Activer le serveur NTP du firmware Tomato

De plus en plus d'utilisateurs se tournent de nos jours vers des solutions open source et beaucoup de passionnés (dont je fais partie 😉) ont opté pour un routeur de ce type. C'est à dire, capable de fonctionner avec un firmware alternatif. Le but premier étant bien évidemment de ne pas dépendre d'une solution commerciale au code propriétaire avec des options limitées et de pouvoir personnaliser dans les moindres détail sa configuration réseau.

Parmi les plus célèbres firmwares open source, Tomato firmware AIO (All In One) est peut être un de ceux qui offre le plus de fonctionnalités à l'utilisateur. Toutefois, en fonction des marques et des modèles de routeurs sur lesquels il est installé, certaines options sont désactivées de base, voir même cachées.

Nous allons donc voir aujourd'hui comment avec Advanced Tomato Firmware donner le rôle de serveur NTP (Network Time Protocol) ou serveur de temps à notre routeur. En effet, de base, la quasi totalité des routeurs du marché possèdent la capacité de se mettre à l'heure automatiquement en se synchronisant via des serveurs de temps externes mais curieusement, ils sont très rares à proposer la fonction inverse :  celle d'agir eux même en temps que serveur de temps sur le réseau. C'est tout de même frustrant quand on sait qu'un service NTP actif est normalement  capable de fonctionner dans les deux sens (en client et en serveur).

Mais quel est-donc l'intérêt d'avoir son propre serveur de temps sur son réseau local ? Et bien, je répondrai que cela élimine les requêtes réseau de vos machines vers des serveurs NTP externes au fonctionnement parfois aléatoire (ex: le célèbre time.windows.com localisé je ne sais où...). Et qu'en outre cela vous garantie une synchronisation horaire parfaite et rapide de vos machines à partir d'un serveur NTP plus proche (le votre 😄...)

Voyons donc dans la pratique comment procéder avec Advanced Tomato Firmware :

  • Choisir des serveurs de temps fiables et reconnus :

Pour commencer, il vous faut savoir qu'il existe deux types de serveurs NTP : les serveurs de strate 1 et les serveurs de strate 2. En règle générale, les serveurs de strate 1 (primaires) sont réservés à la synchronisation des serveurs de strate 2 ou à des réseaux de grande taille bien particuliers. Les serveurs de strate 2 sont eux les plus communément utilisés par le grand public.

Cette première étape consiste donc, comme sur la capture d'écran suivante à renseigner votre fuseau horaire et des serveurs de temps fiables dans la section "Router Time" de Tomato Firmware.

Il existe toute une liste de très bons serveurs NTP français présents pour la plupart dans les observatoires (horloges atomiques), les universités, les centres de recherches français etc..., gratuitement accessibles ou sur simple demande par mail.

Liste des serveurs NTP français.

Une fois ces paramètres sauvegardés, le service NTP se relance et votre routeur sera parfaitement synchronisé avec des horloges de très haute précision. Il ne reste plus maintenant qu' à passer à l'étape suivante :

  • Donner le rôle de serveur de temps au routeur :

Par défaut, la fonctionnalité de serveur NTP est implémentée dans Tomato firmware depuis la version 1.28 et le service ntpd fonctionne en temps que simple client (paramétrage précédent).

Pour activer le serveur, c'est très très simple : il suffit de lancer la commande suivante dans une console : ntpd -l

Cela indique au service ntpd de fonctionner en serveur NTP sur le port 123

Toutefois, vous l'aurez compris, si le routeur vient à redémarrer (ex: coupure électrique) il sera nécessaire de relancer à nouveau cette commande à la main.

C'est l'à qu'intervient l'utilité des scripts. Il suffit de rajouter cette commande dans la fonctionnalité "scripts" du firmware. Faire par exemple en sorte que le serveur NTP se lance dès la connexion internet établie (WAN Up).

  • Dernière étape,  la synchronisation des machines :

Maintenant que votre routeur agit en tant que serveur NTP, il suffit d'indiquer à l'ensemble de vos machines que c'est lui le serveur de temps définit par défaut. Si jusqu'à présent vous aviez un serveur de temps paramétré (ou pas) par exemple sous la forme : time.windows.com, désormais il vous suffit d'indiquer manuellement l'adresse IP de votre routeur ou le nom FQDN de ce dernier sur votre domaine local : ex: "192.168.1.1" ou "routeur.mondomaine.local"

Sous Windows, ce réglage s'effectue dans les paramétrages de l'horloge (Temps Internet), sous MAC, dans les options d'horloge réseau et pour les autres systèmes il vous faudra peut être modifier certains fichiers de configuration à la main. Ex: sous Linux il sera nécessaire d'éditer le fichier "/etc/ntp.conf" afin d'y renseigner dans le pool de serveurs NTP l'adresse du routeur en temps que server NTP préféré : ex: "server 192.168.1.1 prefer"

A bientôt.