ntpdate: aucun serveur adapté à la synchronisation trouvé

82

Mon horloge est éteinte , je voudrais donc la synchroniser avec ntpdate. J'ai essayé plusieurs serveurs NTP différents, mais pour une raison quelconque, je reçois 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 des questions connexes , mais aucune ne résout mon problème:

Choses que j'ai essayées

J'ai installé le paquet ntp

... et essayé d'utiliser le ntpddémon au lieu de l' ntpdateutilitaire. Cela ne synchronisera pas mon temps non plus; le démon commence bien, mais mon horloge reste éteinte. J'ai même essayé d'utiliser la /etc/ntp.confréponse exacte de la réponse acceptée dans ce dernier message et de redémarrer le démon. Ne pas aller. Quoi qu'il en soit, je ne veux pas utiliser le démon. Je suis parfaitement conscient que cela ntpdateest considéré comme "obsolète", et il est conseillé d'utiliser à la ntpd -qplace. Voir aussi ici:

Mais comme ntpdça ne marche pas pour moi non plus, le problème est ailleurs . Et je trouve que je préférerais ne pas avoir à installer de paquet supplémentaire pour la synchronisation de l'horloge. ntpdatepré-installé avec Ubuntu, et cela devrait fonctionner correctement . J'ai donc désinstallé le ntppaquet à nouveau.

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

De ce post:

... J'ai eu l'idée que le port 123 pourrait être bloqué 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 reste:

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

Même avec l' -uoption, qui indique ntpdated'utiliser un port non privilégié pour la synchronisation (au lieu d'un 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, à partir de cet article sur serverfault:

... Je pensais que les strates des serveurs NTP étaient peut-être trop élevées. Ils ne sont pas, cependant. Voyons un peu plus d'informations de débogage:

$ sudo ntpdate -dv ntp.ubuntu.com
 4 Mar 13:12:24 ntpdate[4523]: ntpdate [email protected] 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: infos supplémentaires

Peu importe si un serveur NTP occupe une HOSTNAMEplace /etc/ntp.conf, et peu importe si le ntpdservice est en cours d'exécution ou non, chaque fois que j'exécute sudo ntpdate -u HOSTNAME, je reçois no server suitable for synchronization found. Même chose lorsque le ntpdservice n'est pas en cours d'exécution et que j'omets l' -uoption. Lorsque le ntpdservice est en cours d'exécution et que j'omets l' -uoption, je reçois à 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. En ce moment, l'heure UTC l'est 11:11, non 12:11.

Et:

$ sudo hwclock --show
Wed 05 Mar 2014 01:11:56 PM CET  -0.625627 seconds
Malte Skoruppa
la source
vous avez dit que vous avez exécuté `sudo ntpdate ntp.ubuntu.com` mais l'avez-vous fait après avoir ajouté ntp.ubuntu.comà /etc/ntp.confun champ de serveur? Si pas voir la réponse suivante
Stormvirux
essayez `sudo ntpdate 0.ubuntu.pool.ntp.org
Stormvirux
1
Salut, voir mon commentaire à votre réponse. J'ai essayé d'ajouter server pool.ntp.orgà /etc/ntp.conf, mais ntpdate -u pool.ntp.orgjette la même erreur. J'ai aussi essayé ceci avec ntp.ubuntu.com(l'ajouter à /etc/ntp.conf, relancer le ntpservice, re-courir ntpdate -usur le serveur exact que je viens d'ajouter /etc/ntp.conf). En résumé, peu importe si le serveur avec lequel je tente de synchroniser est mentionné/etc/ntp.conf . J'obtiens l' no server suitable...erreur dans tous les cas (sauf lorsque le ntpservice est en cours d'exécution et que l' -uoption est omise , l' NTP socket in useerreur est alors obtenue).
Malte Skoruppa
Ok, j'ai aussi essayé sudo ntpdate 0.ubuntu.pool.ntp.org, ce qui est déjà dans le /etc/ntp.conffichier. Pas de chance - même erreur.
Malte Skoruppa

Réponses:

54

Votre fournisseur d'hébergement bloque les paquets NTP. Cette approche lourde a été mise en œuvre par certains FAI en réponse aux attaques DDoS. Vous pouvez voir que ntpdate envoie les paquets du ntpdate -vd:

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

Je voudrais contacter votre fournisseur de services Internet et leur demander s’ils bloquent les requêtes ntp externes et s’ils disposent d’un serveur local que vous pouvez utiliser pour la synchronisation temporelle.

Il existe quelques possibilités plus obscures, mais il est difficile de les exclure, car vous n'avez posté aucun journal depuis syslog.

dfc
la source
6
Vous avez parfaitement raison. Il semble que notre université bloque les requêtes NTP externes. Il offre également quelques serveurs NTP locaux comme alternative. Ceux-ci fonctionnent parfaitement. Je vois maintenant que la sortie de ntpdate -dvdevrait également inclure certains messages receive(...)et pas seulement transmit(...). ;) Merci beaucoup!
Malte Skoruppa
Une question cependant, comment l'université peut-elle bloquer les paquets NTP lorsque j'utilise ntpdatecette -uoption? Comme cela utilise un port non privilégié au lieu du port 123, cela signifie que leurs règles de pare-feu doivent être plus complexes que simplement "bloquer les paquets entrants sur le port 123". Alors font-ils une sorte d'inspection approfondie des paquets, alors?
Malte Skoruppa
1
Ils auront une règle de pare-feu qui dit "Bloquez tout le trafic avec un port de destination de 123", puis quelques exceptions pour leurs hôtes ntp
dfc
J'ai eu le même problème. J'ai pu résoudre ce problème en effectuant un traceroute sortant et j'ai trouvé un serveur local sur l'itinéraire que j'ai été en mesure de synchroniser avec celui qui exécutait ntp. L'un d'entre eux le bloquait cependant. Merci pour les conseils!
jonespm
1
Pour moi, ntpdate -vddit no servers can be used, exiting.
highBandWidth
47

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 ici .

Alex
la source
13
C'est terrible, mais ça marche.
Alan Plum
4
Envoi de données non authentifiées à la commande bash exécutée en tant que root? Génial merci d'avoir joué. Cette réponse devrait être rejetée avec un préjudice extrême.
dfc
1
Beaucoup moins pénible que de devoir faire face à un support ISP. En outre, pas du tout critique si exécuté sur une machine virtuelle locale à des fins de test.
Yalok Iy
Pouvez-vous m'expliquer ce que ça fait?
Suraj Jain
1
@SurajJain De nombreux serveurs Web renvoient un en- Datetête. Dans cette commande date -s pour la date définie, wget -S pour stocker tous les en-têtes, 2> et 1 pour la consignation des erreurs dans stdout, grep pour la ligne de prélèvement avec en-tête Date, coupé pour le jour de la bande et l'heure GMT. Z à la fin de la date de traitement au format UTC. La précision dépend de la vitesse du réseau.
user1516873
10

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

Installez d' abord ntpdate (vous l'avez évidemment fait)

sudo apt-get install ntpdate

NEXT Vous devez configurer ntp avec les 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 à l’aide de 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, à 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

entrez la description de l'image ici

Puis enregistrez le fichier et redémarrez le service ntpd :

sudo /etc/init.d/ntpd start

Vous pouvez synchroniser immédiatement l'horloge système sur un serveur NTP à l'aide de la commande suivante:

sudo ntpdate pool.ntp.org

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

sudo ntpdate 0.ubuntu.pool.ntp.org

ou d'autres serveurs définis à l'aide de serveur

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 usecomme indiqué ci-dessous:

entrez la description de l'image ici

Dans ce cas, il suffit de courir

ntpdate -u pool.ntp.org 

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

OU tout simplement arrêter le démon, le mettre à jour et le redémarrer comme suit:

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

et vous obtiendrez

entrez la description de l'image ici

Stormvirux
la source
Bonjour, merci pour votre réponse détaillée! Malheureusement, cela n'a pas fonctionné pour moi. J'ai le /etc/ntp.confqui est venu avec Ubuntu, jamais apporté de modifications à cela. Je l'ai collé ici: pastebin.com/bB0sskzv . J'ai également essayé d'ajouter server pool.ntp.orgen haut de la liste des serveurs, comme indiqué dans la capture d'écran. Trouvez cela ici: pastebin.com/YH372Jdi . Avec ces deux configurations , j'ai exécuté la séquence de commandes que vous aviez proposée: j'ai ajouté une capture d'écran à mon message d'origine. Le résultat était exactement le même avec les non-modifiés et les modifiés /etc/ntp.conf. D'autres idées? Merci!
Malte Skoruppa
que timedatectl statusretourne
Stormvirux
Voir le résultat de la timedatectl statuscommande dans mon post original.
Malte Skoruppa
J'ai maintenant essayé avec tous les 4 serveurs prédéfinis (à savoir, {0..3}.ubuntu.pool.ntp.org), à la fois avec et sans -uoption. Toujours la même erreur.
Malte Skoruppa
Dis-moi juste celui-là aussi. sortie desudo hwclock --show
Stormvirux
8

Utiliser htpdate

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

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

Le service htpdate démarre lorsque vous installez le package. Le temps sera mis à jour immédiatement s'il y a une connexion Internet.

nr
la source
S'il vous plaît, ne vous contentez pas de copier et coller la même réponse dans tous les sujets que vous trouvez sur NTP.
sempaiscuba
1
Copypasta ou non, cette solution a fonctionné pour moi pendant que je recevais l' ntpdate[22109]: no server suitable for synchronization founderreur.
kneeki
4

Semblable à la réponse d'Alex, cela a fonctionné pour moi pour contourner le port Ntp étant pare-feu:

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