Problème de NTP (openntpd) sur pfSense 2.0



  • Bonjour à tous,

    J'utilise pfSense 2.0 RC3.

    Dans « System: General Setup », j'ai indiqué le serveur NTP de strate 1 suivant : ntp-p1.obspm.fr (qui se résoud en 145.238.203.14).

    Dans « Services : NTP server », le service est bien activé et il écoute sur les interfaces LAN et loopback.

    Les règles de firewall sont celles par défaut après installation.

    Sur pfSense :

    • la patte LAN a l'adresse 10.1.1.254 (réseau 10.1.1.0/24)

    • la patte WAN a l'adresse XX.XX.XX.XX

    Sur le LAN, j'ai un client Ubuntu natty avec le paquet ntp 1:4.2.6.p2+dfsg-1ubuntu5.1 à l'adresse 10.1.1.1.

    La configuration de ntp sur 10.1.1.1 est la suivante (/etc/ntp.conf) :

    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 10.1.1.254
    restrict -4 default kod notrap nomodify nopeer noquery
    restrict -6 default kod notrap nomodify nopeer noquery
    restrict 127.0.0.1
    restrict ::1
    
    

    Afin de vérifier que tout fonctionne correctement, j'exécute les commandes suivantes sur 10.1.1.1 :

    $ ntptrace
    localhost.localdomain: stratum 3, offset 0.099028, synch distance 0.017055
    10.1.1.254: timed out, nothing received
    ***Request timed out

    $ ntpq -p -n
        remote           refid      st t when poll reach   delay   offset  jitter

    *10.1.1.254      71.83.72.185     2 u  135  256  377    0.342   99.028  74.275

    Je constate 2 problèmes :

    • Le message « ***Request timed out » pour ntptrace.

    • Le fait que le « refid » du serveur NTP de pfSense soit « 71.83.72.185 » alors que cela ne correspond pas à l'adresse IP du serveurs NTP indiqué. Si je multiplie les essais, l'adresse IP indiquée n'est pas toujours la même.

    Sur pfSense, la configuration de NTP est la suivante (/var/etc/ntpd.conf) :

    
    servers ntp-p1.obspm.fr
    listen on 10.1.1.254
    listen on 127.0.0.1
    
    

    Quelques tests sur pfSense :

    netstat -p udp -n | grep -E '.123 '

    udp4       0      0 XX.XX.XX.XX.9501    145.238.203.14.123
    udp4       0      0 127.0.0.1.123       .
    udp4       0      0 10.1.1.254.123      .

    ntpq -p -n

    localhost: timed out, nothing received

    J'ai essayé d'indiquer plutôt l'adresse IP du serveur NTP dans pfSense mais le résultat identique. Cela devrait donc éliminer d'éventuels problèmes de résolution.

    Ayant lu qu'il pouvait y avoir dans certaines circonstances quelques problèmes avec NTP sur pfSense 2.0 RC et que les logs de OpenNTPD sous pfSense ne sont pas bavarde (il n'y a rien), j'ai essayé de démarrer ntpd manuellement et de le laisser fonctionner quelques minutes :

    killall ntpd

    /usr/local/sbin/ntpd -d -f /var/etc/ntpd.conf > & /root/ntpd.log

    ^C

    Voici ce que j'obtiens (/root/ntpd.log) :

    
    listening on 10.1.1.254
    listening on 127.0.0.1
    ntp engine ready
    reply from 145.238.203.14: offset -0.199347 delay 0.028923, next query 7s
    reply from 145.238.203.14: offset -0.200206 delay 0.028770, next query 5s
    reply from 145.238.203.14: offset -0.200877 delay 0.028835, next query 5s
    peer 145.238.203.14 now valid
    reply from 145.238.203.14: offset -0.201890 delay 0.028094, next query 8s
    reply from 145.238.203.14: offset -0.202871 delay 0.027882, next query 5s
    reply from 145.238.203.14: offset -0.204005 delay 0.028000, next query 9s
    reply from 145.238.203.14: offset -0.204312 delay 0.028947, next query 33s
    reply from 145.238.203.14: offset -0.209456 delay 0.028109, next query 32s
    adjusting local clock by -0.202871s
    ntp engine exiting
    Lost child: child exited
    Terminating
    
    

    Tout semble se passer correctement et c'est bien le serveur indiqué qui est utilisé.

    Qu'en penses-vous ?

    Merci de votre attention et au plaisir de vous lire.



  • Il faut d'abord créer une règle de firewall permettant a la machine client de joindre la patte LAN de pfsense sur le port 123/UDP.



  • Bonjour,

    Merci pour la réponse.

    Il y a déjà une règle par défaut « Default LAN -> any » qui autorise tout depuis le LAN.

    Sauf erreur de ma part, cette règle est créée par défaut à l'installation de pfSense.

    D'ailleurs, j'arrive à accéder depuis 10.1.1.1 à :

    • tcp/80 de 10.1.1.254 : interface de gestion de pfSense

    • icmp de 10.1.1.254 : ping

    Je ne vois pas pourquoi je n'arriverai pas à fairte du udp/123 ?

    D'autre part, cela n'explique pas :

    • l'absence de réponse à la commande ntpq en console sur pfSense

    • la valeur du champ « refid » de la commande ntpq depuis 10.1.1.1



  • Ok,
    j'oubliais qu'il y avait par défaut cette règle ultra permissive…

    Pouvez vous faire une capture coté pfsense pour voir si votre client tente bien une connexion.

    tcpdump -i em0 -ttt -n proto UDP and port 123 and host 10.1.1.1

    ensuite redémarrez ntpd sur votre client.

    remplacer em0 par votre interface lan.
    Pour info, il faut attendre un certain temps avant que le serveur NTP de pfsense réponde favorablement à une demande de synchronisation. En effet lorsqu'il démarre il va attendre un certain nombre de synchronisations avec ses serveurs de référence afin de connaitre précisément son jitter. Généralement, au bout de 15 minutes il répond convenablement.

    J'ajoute qu'il y a effectivement eut des pb en 2.0 mais en RC3 tout devrait bien fonctionner pour ntp.


Log in to reply