99 votes

ntpdate : aucun serveur approprié pour la synchronisation n'a été trouvé

Mon horloge est déréglée Je voudrais donc la synchroniser en utilisant ntpdate . J'ai essayé plusieurs serveurs NTP différents, mais pour une raison quelconque, j'obtiens toujours le message d'erreur suivant :

$ sudo ntpdate ntp.ubuntu.com
4 Mar 12:27:35 ntpdate[1258]: no server suitable for synchronization found
$ sudo ntpdate pool.ntp.org
4 Mar 12:27:50 ntpdate[1267]: no server suitable for synchronization found
$ sudo ntpdate de.pool.ntp.org
4 Mar 12:28:01 ntpdate[1273]: no server suitable for synchronization found
$ sudo ntpdate us.pool.ntp.org
4 Mar 12:28:12 ntpdate[1276]: no server suitable for synchronization found

Questions connexes

J'ai parcouru questions connexes mais aucune ne résout mon problème :

Les choses que j'ai essayées

J'ai installé le paquet ntp

...et j'ai essayé d'utiliser le ntpd au lieu du démon ntpdate utilitaire. Il ne synchronise pas non plus mon heure ; le démon démarre bien, mais mon horloge reste décalée. J'ai même essayé d'utiliser le même /etc/ntp.conf de la réponse acceptée dans le dernier post, et en redémarrant le démon. Rien à faire. De toute façon, je ne veux pas utiliser le démon. Je suis parfaitement conscient que ntpdate est considéré comme "déprécié", et il est conseillé d'utiliser l'option ntpd -q à la place. Voir aussi ici :

Mais comme ntpd ne fonctionne pas non plus pour moi, le problème est ailleurs . Et je trouve que je préfère ne pas avoir à installer de paquets supplémentaires juste pour synchroniser l'horloge. ntpdate est livré préinstallé avec Ubuntu, et cela devrait fonctionner parfaitement . J'ai donc désinstallé le ntp paquet à nouveau.

Peut-être que le port 123 est bloqué ?

De ce poste :

...J'ai eu l'idée que le port 123 pouvait être bloqué à partir de mon ordinateur / réseau sur mon lieu de travail. En effet,

$ sudo nmap -p123 -sU -P0 localhost
...
PORT    STATE  SERVICE
123/udp closed ntp 
...
$ sudo ufw allow 123/udp
Rules updated
Rules updated (v6)
$ sudo nmap -p123 -sU -P0 localhost
...
PORT    STATE SERVICE
123/udp open  ntp
...

Mais quand même :

$ sudo ntpdate ntp.ubuntu.com
4 Mar 13:06:16 ntpdate[4361]: no server suitable for synchronization found

Même avec le -u qui indique ntpdate pour utiliser un port non privilégié pour la synchronisation (au lieu du port 123 ) qui n'est certainement pas bloqué depuis mon lieu de travail :

$ sudo ntpdate -u ntp.ubuntu.com
4 Mar 13:06:28 ntpdate[4427]: no server suitable for synchronization found

Peut-être que les strates sont trop hautes ?

Enfin, d'après ce post sur serverfault :

...j'ai pensé que peut-être les strates des serveurs NTP sont trop élevées. Mais elles ne le sont pas. Voyons un peu plus d'informations de débogage :

$ sudo ntpdate -dv ntp.ubuntu.com
 4 Mar 13:12:24 ntpdate[4523]: ntpdate 4.2.6p5@1.2349-o Wed Oct  9 19:08:07 UTC 2013 (1)
Looking for host ntp.ubuntu.com and service ntp
host found : golem.canonical.com
transmit(91.189.89.199)
transmit(91.189.94.4)
transmit(91.189.89.199)
transmit(91.189.94.4)
transmit(91.189.89.199)
transmit(91.189.94.4)
transmit(91.189.89.199)
transmit(91.189.94.4)
transmit(91.189.89.199)
transmit(91.189.94.4)
91.189.89.199: Server dropped: no data
91.189.94.4: Server dropped: no data
server 91.189.89.199, port 123
stratum 0, precision 0, leap 00, trust 000
refid [91.189.89.199], delay 0.00000, dispersion 64.00000
transmitted 4, in filter 4
reference time:    00000000.00000000  Mon, Jan  1 1900  1:00:00.000
originate timestamp: 00000000.00000000  Mon, Jan  1 1900  1:00:00.000
transmit timestamp:  d6c041ae.e6166441  Tue, Mar  4 2014 13:12:30.898
filter delay:  0.00000  0.00000  0.00000  0.00000 
         0.00000  0.00000  0.00000  0.00000 
filter offset: 0.000000 0.000000 0.000000 0.000000
         0.000000 0.000000 0.000000 0.000000
delay 0.00000, dispersion 64.00000
offset 0.000000

server 91.189.94.4, port 123
stratum 0, precision 0, leap 00, trust 000
refid [91.189.94.4], delay 0.00000, dispersion 64.00000
transmitted 4, in filter 4
reference time:    00000000.00000000  Mon, Jan  1 1900  1:00:00.000
originate timestamp: 00000000.00000000  Mon, Jan  1 1900  1:00:00.000
transmit timestamp:  d6c041af.1948fc50  Tue, Mar  4 2014 13:12:31.098
filter delay:  0.00000  0.00000  0.00000  0.00000 
         0.00000  0.00000  0.00000  0.00000 
filter offset: 0.000000 0.000000 0.000000 0.000000
         0.000000 0.000000 0.000000 0.000000
delay 0.00000, dispersion 64.00000
offset 0.000000

 4 Mar 13:12:33 ntpdate[4523]: no server suitable for synchronization found

Pfeeewww... c'était long, désolé pour ça. Je suis perplexe. Des indices ?

Mise à jour : informations supplémentaires

Peu importe si un serveur NTP HOSTNAME des chiffres dans /etc/ntp.conf et peu importe si le ntpd est en cours d'exécution ou non, chaque fois que je lance sudo ntpdate -u HOSTNAME j'obtiens no server suitable for synchronization found . Même chose lorsque le ntpd le service est no en cours et je omettre le site -u option. Lorsque le ntpd service es en cours et j'omets le -u j'obtiens à la place the NTP socket is in use, exiting .

Aussi :

$ timedatectl status
      Local time: Wed 2014-03-05 13:11:54 CET
  Universal time: Wed 2014-03-05 12:11:54 UTC
        Timezone: Europe/Berlin (CET, +0100)
     NTP enabled: yes
NTP synchronized: yes
 RTC in local TZ: no
      DST active: no
 Last DST change: DST ended at
                  Sun 2013-10-27 02:59:59 CEST
                  Sun 2013-10-27 02:00:00 CET
 Next DST change: DST begins (the clock jumps one hour forward) at
                  Sun 2014-03-30 01:59:59 CET
                  Sun 2014-03-30 03:00:00 CEST

Mais l'heure UTC n'est pas correcte ici. Actuellement, l'heure UTC est 11:11 pas 12:11 .

Et :

$ sudo hwclock --show
Wed 05 Mar 2014 01:11:56 PM CET  -0.625627 seconds

64voto

dfc Points 1467

Votre fournisseur d'hébergement bloque les paquets NTP. Cette approche musclée a été mise en place par certains FAI en réponse aux attaques DDoS. Vous pouvez voir que ntpdate envoie les paquets à partir de la commande ntpdate -vd :

transmit(91.189.94.4)
transmit(91.189.89.199)
transmit(91.189.94.4)
transmit(91.189.89.199)

Je contacterais votre FAI et lui demanderais s'il bloque les requêtes ntp externes et s'il a un serveur local que vous pouvez utiliser pour la synchronisation du temps.

Il existe quelques possibilités plus obscures, mais il est difficile de les exclure puisque vous n'avez pas affiché de journaux à partir de syslog.

59voto

Alex Points 605

Ce n'est pas une réponse ntp, cependant...

sudo date -s "$(wget -qSO- --max-redirect=0 google.com 2>&1 | grep Date: | cut -d' ' -f5-8)Z"

ceci et la version curl aquí .

20voto

n.r Points 309

Utiliser htpdate

Si la transmission de ntp est bloquée dans votre réseau, installez htpdate. Il synchronise l'heure via le protocole http. La précision sera d'environ 0,5 seconde, selon la page de manuel.

sudo apt-get install htpdate
sudo htpdate -a google.com

Le service htpdate démarrera lorsque vous installerez le paquet. L'heure sera mise à jour immédiatement s'il y a une connexion internet.

13voto

Stormvirux Points 4366

J'ai eu le même problème et voici comment je l'ai résolu. J'ai donné une réponse détaillée de haut en bas. Vous pouvez passer au milieu de ma réponse ou simplement vous référer aux captures d'écran ci-dessous pour comprendre en un coup d'œil.

Premier installez ntpdate (évidemment vous l'avez fait)

sudo apt-get install ntpdate

SUIVANT Vous devez configurer ntp avec des serveurs comme suit :

Vous devez au moins définir le paramètre suivant dans le fichier de configuration /etc/ntp.conf : server

Par exemple, ouvrez le fichier /etc/ntp.conf en utilisant l'éditeur de texte nano :

sudo nano /etc/ntp.conf

Localisez le paramètre du serveur et s'il est vide, définissez-le comme suit :

server pool.ntp.org

Mais généralement, dans ubuntu, certains serveurs sont déjà pré-écrits, ce qui peut être

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

enter image description here

Ensuite, enregistrez le fichier et redémarrez le service ntpd. :

sudo /etc/init.d/ntpd start

Vous pouvez synchroniser l'horloge du système avec un serveur NTP immédiatement avec la commande suivante :

sudo ntpdate pool.ntp.org

ou simplement exécuter déjà les serveurs sont définis

sudo ntpdate 0.ubuntu.pool.ntp.org

ou d'autres serveurs qui sont définis à l'aide de server

généralement

sudo ntpdate <one of the servername in /etc/ntp.conf>

MAIS après cela, il y a une chance que vous obteniez l'erreur NTP socket in use comme indiqué ci-dessous :

enter image description here

Dans ce cas, il suffit d'exécuter

ntpdate -u pool.ntp.org 

pour mettre à jour quand ntp deamon est en cours d'exécution

OU simplement arrêter le deamon, le mettre à jour et le relancer comme suit :

sudo ntpdate pool.ntp.org
sudo service ntp stop
sudo ntpdate pool.ntp.org
sudo service ntp start

et vous obtiendrez

enter image description here

6voto

Similaire à la réponse d'Alex, ceci a fonctionné pour moi pour contourner le port ntp qui est pare-feu :

sudo date -s "$(curl http://s3.amazonaws.com -v 2>&1 | \
  grep "Date: " | awk '{ print $3 " " $5 " " $4 " " $7 " " $6 " GMT"}')"

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X