欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

ntpdate[9650]: no server suitable for synchronization found Server dropped: strata too high NTP服务器遇到的问题解决 有大用 有大大用

NTP服务器遇到的问题解决

   
yxuqtr    

 ntpq -p 提示 no association ID`s returned  错误信息,应该也可以用下面同样的方法来处理    

    由于公司内网没有个时间服务器,同时防火墙的123端口也未开放,不想麻烦人家网络工程师只能自己动手搭建个时间服务器。本己为就一个NTP是多简单啊,没想到还遇到一个纠结的问题,下面是整个过程。

现在发行版都己默认安装ntp server


       

ntp服务器配置
只需修改/etc/ntp.conf配置文件,声明哪些客户端能进行同步,以及同步相当安全权限
       

# vim /etc/ntp.conf
restrict 192.168.0.0 mask 255.255.0.0 nomodify  //允许192.168.0.0网段同步,不可修改
           

上面简单增加一条语句就是个ntp服务器了,下面测试客启机是否能正常使用;

如果要配置任何主机都可以进行时间同步

将“restrict default nomodify notrap noquery”表示默认禁止所有地址同步时间,修改,查看,这行修改成下面:
restrict default nomodify notrap


       

ntp客户端
       

# ntpdate 192.168.70.11
 4 Apr 05:15:43 ntpdate[2051]: no server suitable for synchronization found
           

上面提示服务器不可用,首先检查网络,防火墙
如果网络和防火墙没问题,我们启用ntpdate的debug功能,查看详细的错误
       

# ntpdate -d 192.168.70.11
 4 Apr 05:18:11 ntpdate[2053]: ntpdate 4.2.4p8@1.1612-o Fri Feb 22 11:23:28 UTC 2013 (1)
Looking for host 192.168.70.11 and service ntp
host found : server.neo.com
transmit(192.168.70.11)
receive(192.168.70.11)
transmit(192.168.70.11)
receive(192.168.70.11)
transmit(192.168.70.11)
receive(192.168.70.11)
transmit(192.168.70.11)
receive(192.168.70.11)
transmit(192.168.70.11)
192.168.70.11: Server dropped: strata too high
server 192.168.70.11, port 123
stratum 16, precision -24, leap 11, trust 000
refid [192.168.70.11], delay 0.02582, dispersion 0.00000
transmitted 4, in filter 4
reference time:    00000000.00000000  Thu, Feb  7 2036 14:28:16.000
originate timestamp: d758e59f.1fbcb350  Sat, Jun 28 2014 14:56:31.123
transmit timestamp:  d6e84e93.fd303b31  Fri, Apr  4 2014  5:18:11.989
filter delay:  0.02640  0.02585  0.02582  0.02602 
         0.00000  0.00000  0.00000  0.00000 
filter offset: 7378699. 7378699. 7378699. 7378699.
         0.000000 0.000000 0.000000 0.000000
delay 0.02582, dispersion 0.00000
offset 7378699.134683

 4 Apr 05:18:11 ntpdate[2053]: no server suitable for synchronization found
           

这里我们发现两处问题:

1)
       

192.168.70.11: Server dropped: strata too high

server 192.168.70.11, port 123
stratum 16, precision -24, leap 11, trust 000

2)

no server suitable for synchronization found
以上两个错误因为NTP server还没有和其自身或者它的server同步上。而正常情况下stratum这个值得范围是“0~15”。

以下的定义是让NTP Server和其自身保持同步,如果在/ntp.conf中定义的server都不可用时,将使用local时间作为ntp服务提供给ntp客户端。
server 127.127.1.0     //回环地址
fudge 127.127.1.0 stratum 8
       

# vim /etc/ntp.conf
server 127.127.1.0
fudge 127.127.1.0 stratum 8
#server 0.rhel.pool.ntp.org
#server 1.rhel.pool.ntp.org
#server 2.rhel.pool.ntp.org
           

在ntp server上重新启动ntp服务后,ntp server自身或者与其server的同步的需要一个时间段,这个过程可能是5分钟,在这个时间之内在客户端运行ntpdate命令时会产生no server suitable for synchronization found的错误。
那么如何知道何时ntp server完成了和自身同步的过程呢?
在ntp server上使用命令:
       

# watch ntpq -p
Every 2.0s: ntpq -p                                                                                      Sat Jun 28 15:02:09 2014

     remote           refid     st t when poll reach   delay   offset  jitter
==============================================================================
 LOCAL(0)        .LOCL.           8 l   51   64    1    0.000    0.000   0.000
           
当reach由1变为17后再测试客户机是否能正常同步
# watch ntpq -p
Every 2.0s: ntpq -p                                                                                      Sat Jun 28 15:05:07 2014

     remote           refid     st t when poll reach   delay   offset  jitter
==============================================================================
*LOCAL(0)        .LOCL.           8 l   34   64   17    0.000    0.000   0.000
           


大概5-10分钟后(reach=17),就可以在客户端测试是否能同步上了;
       

# ntpdate -d 192.168.70.11
 4 Apr 05:26:56 ntpdate[2057]: ntpdate 4.2.4p8@1.1612-o Fri Feb 22 11:23:28 UTC 2013 (1)
Looking for host 192.168.70.11 and service ntp
host found : server.neo.com
transmit(192.168.70.11)
receive(192.168.70.11)
transmit(192.168.70.11)
receive(192.168.70.11)
transmit(192.168.70.11)
receive(192.168.70.11)
transmit(192.168.70.11)
receive(192.168.70.11)
transmit(192.168.70.11)
server 192.168.70.11, port 123
stratum 9, precision -24, leap 00, trust 000
refid [192.168.70.11], delay 0.02582, dispersion 0.00000
transmitted 4, in filter 4
reference time:    d758e781.49a1617b  Sat, Jun 28 2014 15:04:33.287
originate timestamp: d758e7ab.8db9fc66  Sat, Jun 28 2014 15:05:15.553
transmit timestamp:  d6e850a0.6b3af2bc  Fri, Apr  4 2014  5:26:56.418
filter delay:  0.02707  0.02585  0.02582  0.02582 
         0.00000  0.00000  0.00000  0.00000 
filter offset: 7378699. 7378699. 7378699. 7378699.
         0.000000 0.000000 0.000000 0.000000
delay 0.02582, dispersion 0.00000
offset 7378699.134602

 4 Apr 05:26:56 ntpdate[2057]: step time server 192.168.70.11 offset 7378699.134602 sec
           

此时,客户端正常同步。
       

# date 12121212
Fri Dec 12 12:12:00 CST 2014
# date
Fri Dec 12 12:12:01 CST 2014
# ntpdate 192.168.70.11
28 Jun 15:36:24 ntpdate[2296]: step time server 192.168.70.11 offset -14416542.543406 sec
# date
Sat Jun 28 15:36:28 CST 2014
           


       


       

来自   https://blog.51cto.com/junwang/1431907


解决ntp的错误 no server suitable for synchronization found

技术小胖子 2017-11-08 23:07:00 浏览1117

解决ntp的错误 no server suitable for synchronization found

当用ntpdate -d 来查询时会发现导致 no server suitable for synchronization found 的错误的信息有以下2个:  

错误1.Server dropped: Strata too high        

ntp客户端运行ntpdate serverIP,出现no server suitable for synchronization found的错误。        

ntp客户端用ntpdate –d serverIP查看,发现有“Server dropped: strata too high”的错误,并且显示“stratum 16”。而正常情况下stratum这个值得范围是“0~15”。        

这是因为NTP server还没有和其自身或者它的server同步上。        

以下的定义是让NTP Server和其自身保持同步,如果在/ntp.conf中定义的server都不可用时,将使用local时间作为ntp服务提供给ntp客户端。
       

server 127.127.1.0
fudge 
127.127.1.0 stratum 8 
       


       

ntp server上重新启动ntp服务后,ntp server自身或者与其server的同步的需要一个时间段,这个过程可能是5分钟,在这个时间之内在客户端运行ntpdate命令时会产生no server suitable for synchronization found的错误。        

那么如何知道何时ntp server完成了和自身同步的过程呢?        

ntp server上使用命令:
       

# watch ntpq -p        


出现画面:        

Every 2.0s: ntpq -p                                                                                                             Thu Jul 10 02:28:32 2008        

     remote           refid      st t when poll reach   delay   offset jitter        

==============================================================================        

 192.168.30.22   LOCAL(0)         8 u   22   64    1    2.113 179133.   0.001        

 LOCAL(0)        LOCAL(0)        10 l   21   64    1    0.000   0.000  0.001        

注意LOCAL的这个就是与自身同步的ntp server        

注意reach这个值,在启动ntp server服务后,这个值就从0开始不断增加,当增加到17的时候,从0175次的变更,每一次是poll的值的秒数,是64*5=320秒的时间。        

如果之后从ntp客户端同步ntp server还失败的话,用ntpdate –d来查询详细错误信息,再做判断。

错误2.Server dropped: no data

从客户端执行
netdate –d时有错误信息如下:        


       

transmit(192.168.30.22)        

transmit(192.168.30.22)        

transmit(192.168.30.22)        

transmit(192.168.30.22)        

transmit(192.168.30.22)        

192.168.30.22: Server dropped: no data        

server 192.168.30.22, port 123        


       

.....
28 Jul 17:42:24 ntpdate[14148]: no server suitable for synchronization found
       

出现这个问题的原因可能有2        

1。检查ntp的版本,如果你使用的是ntp4.2(包括4.2)之后的版本,在restrict的定义中使用了notrust的话,会导致以上错误。
       

使用以下命令检查ntp的版本:

# ntpq -c version        


下面是来自ntp官方网站的说明:
The behavior of 
notrust changed between versions 4.1 and 4.2.        

In 4.1 (and earlier) notrust meant "Don't trust this host/subnet for time".        

In 4.2 (and later) notrust means "Ignore all NTP packets that are not cryptographically authenticated." This forces remote time servers to authenticate themselves to your (client) ntpd        

解决:        

notrust去掉。
       


2
。检查ntp server的防火墙。可能是server的防火墙屏蔽了upd 123端口。        

可以用命令        

#service iptables stop
       


来关掉iptables服务后再尝试从ntp客户端的同步,如果成功,证明是防火墙的问题,需要更改iptables的设置。        


       


       


       

原文链接:http://www.blogjava.net/spray/archive/2008/07/10/213964.html


       

      本文转自独弹古调  51CTO博客,原文链接:http://blog.51cto.com/hunkz/1705622,如需转载请自行联系原作者        

来自  https://yq.aliyun.com/articles/545956




ntpdate server时出错原因及解决

       
回到顶部        

错误1.Server dropped: Strata too high        

在ntp客户端运行ntpdate serverIP,出现no server suitable for synchronization found的错误,如下所示

zhj@test:~$ sudo ntpdate weblbserver-1
28 Dec 15:22:33 ntpdate[4444]: no server suitable for synchronization found
zhj@test:~$
       

在ntp客户端用ntpdate –d serverIP查看,参数是-d是指debug模式,它会将ntpdate同步时的一些信息打印出来,而且即使从ntp server那里获取到了国际        

原子时,也不会写入客户端的osclock。可以看到,错误信息中有“stratum 16”。stratum是ntp服务器层级,正常情况下stratum的值为“0~15”。而

stratum=16是因为NTP server还没有和它的上层NTP server同步上。

复制代码            
zhj@appserver-1:~$ sudo ntpdate -d weblbserver-1
28 Dec 15:22:06 ntpdate[4434]: ntpdate 4.2.6p5@1.2349-o Wed Oct  9 19:08:07 UTC 2013 (1)
Looking for host weblbserver-1 and service ntp
host found : 192.168.0.7
transmit(192.168.0.7)
receive(192.168.0.7)
transmit(192.168.0.7)
receive(192.168.0.7)
transmit(192.168.0.7)
receive(192.168.0.7)
transmit(192.168.0.7)
receive(192.168.0.7)
192.168.0.7: Server dropped: strata too high
server 192.168.0.7, port 123
stratum 16, precision -18, leap 11, trust 000
refid [192.168.0.7], delay 0.02667, dispersion 0.00003
transmitted 4, in filter 4
reference time:    00000000.00000000  Mon, Jan  1 1900  0:00:00.000
originate timestamp: d84a9ea5.06da4607  Sun, Dec 28 2014 15:22:13.026
transmit timestamp:  d84a9ea5.07d57eae  Sun, Dec 28 2014 15:22:13.030
filter delay:  0.02667  0.02675  0.02678  0.02696
         0.00000  0.00000  0.00000  0.00000
filter offset: -0.00457 -0.00453 -0.00467 -0.00468
         0.000000 0.000000 0.000000 0.000000
delay 0.02667, dispersion 0.00003
offset -0.004574

28 Dec 15:22:13 ntpdate[4434]: no server suitable for synchronization found
zhj@appserver-1:~$
           
复制代码            

那我们怎样知道weblbserver-1这个NTP server是否与它的上层NTP server是否同步上了呢?用ntpq -p命令(注:ntpq即ntp query,参数-p是print),

如下在weblbserver执行ntpq -p

zhj@weblbserver-1:~$ ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 dns1.synet.edu. 202.118.1.46     2 u  915 1024    1   43.464  -134.79   0.004
 golem.canonical 192.93.2.20      2 u  914 1024    1  433.083  -198.90   0.004
zhj@weblbserver-1:~$
       

这里简单说一下when,poll,reach几个参数,

when —— 上次同步时间到现在的距离,单位是秒。当然,如果ntp服务是刚启动,还没同步过,那这个参数就是ntp服务启动后到现在的距离

poll   —— 同步周期,单位为秒

reach —— 它是八进制数,正常情况下值为[0, 1, 3, 7, 17, 37, 77, 177, 377],对应的二进制为[0, 1, 11, 111, 1111, 11111, 111111, 1111111, 11111111],

               ntp服务启动后,reach就以poll值为周期与ntp server通信,为了方便理解,我们可以简单的认为每次ping一下上层ntp server,如果成功,那

               reach就向左移一位,右边补1,如果失败,则右边补0,所以如果reach不是上面给出的枚举值,那就是在通信过程中出错了。当reach 达到17时

             (对应1111,即最近的四次通信都成功了),那才开始同步时间,这时,remote项对应的域名或IP列表有,其中一个前面会有*号,表示该IP就是

               NTP server。而在开始同步时间之前,当客户端访问weblbserver-1这个NTP server时,都会出现stratum 16,no server suitable for

               nchronization found这样的错误。也就是说如果你在NTP server主机上重启了ntp服务,那要等4*poll秒(在前四次通信都是成功的前提下),

               该NTP server才与上层NTP server开始同步时间,而且只有当开始同步时,该NTP server才能为其它客户端提供NTP服务。因此,你在/etc/ntp.conf

               中设置的同步周期minpoll maxpoll不能太大,因为每次ntp服务重启后,要等4倍长的时间才能开始同步。 

 

回到顶部        

错误2.Server dropped: no data        

从客户端执行netdate –d时有错误信息如下:

复制代码                
transmit(192.168.30.22)

transmit(192.168.30.22)

transmit(192.168.30.22)

transmit(192.168.30.22)

transmit(192.168.30.22)

192.168.30.22: Server dropped: no data

server 192.168.30.22, port 123



.....

28 Jul 17:42:24 ntpdate[14148]: no server suitable for synchronization found
               
复制代码                

出现这个问题的原因可能有2:

1.  检查ntp的版本,如果你使用的是ntp4.2(包括4.2)之后的版本,在restrict的定义中使用了notrust的话,会导致以上错误。

使用以下命令检查ntp的版本:

# ntpq -c version

下面是来自ntp官方网站的说明:
The behavior of notrust changed between versions 4.1 and 4.2.

In 4.1 (and earlier) notrust meant "Don't trust this host/subnet for time".

In 4.2 (and later) notrust means "Ignore all NTP packets that are not cryptographically authenticated." This forces remote time servers to

authenticate themselves to your (client) ntpd

解决办法:把notrust去掉。


2.  检查ntp server的防火墙。可能是server的防火墙屏蔽了upd 123端口。

   可以用命令 来关掉iptables服务后再尝试从ntp客户端的同步,如果成功,证明是防火墙的问题,需要更改iptables的设置。

#service iptables stop
       

 

参考:http://www.xiangqian.org/jishucangku/240.html        


来自  https://www.cnblogs.com/ajianbeyourself/p/4190883.html


 
活跃 6年零3个月前    
观看了 51k次    
14                    
               

我无法与来自内部路由器/防火墙的NTP源同步。                    

有人帮忙吗?                    

ntppdate -d 192.168.92.82
 6 Jun 11:57:30 ntpdate[5011]: ntpdate 4.1.2@1.892 Tue Feb 24 06:32:26 EST 2004 (1)
transmit(192.168.92.82)
receive(192.168.92.82)
transmit(192.168.92.82)
receive(192.168.92.82)
transmit(192.168.92.82)
receive(192.168.92.82)
transmit(192.168.92.82)
receive(192.168.92.82)
transmit(192.168.92.82)
192.168.92.82: Server dropped: strata too high
server 192.168.92.82, port 123
stratum 16, precision -19, leap 11, trust 000
refid [73.78.73.84], delay 0.02591, dispersion 0.00002
transmitted 4, in filter 4
reference time:    00000000.00000000  Thu, Feb  7 2036  6:28:16.000
originate timestamp: d1972e03.0ae02645  Mon, Jun  6 2011 11:44:19.042
transmit timestamp:  d197311b.0ffac1d2  Mon, Jun  6 2011 11:57:31.062
filter delay:  0.02609  0.02591  0.02594  0.02596
         0.00000  0.00000  0.00000  0.00000
filter offset: -792.020 -792.020 -792.020 -792.020
         0.000000 0.000000 0.000000 0.000000
delay 0.02591, dispersion 0.00002
offset -792.020152

 6 Jun 11:57:31 ntpdate[5011]: no server suitable for synchronization found
                   

编辑                    

我被要求同步到的服务器是防火墙,现在我被告知它没有与任何服务器同步。因此,我想我需要知道是否可以强制服务器与第16层(即未同步)的服务器同步。那可能吗 ?                    

                       
  改善这个问题                               
在2011年6月6日13:40编辑                                
在2011年6月6日上午10:47 问                                
                                   
                               
添加评论                
       

5个答案                    

活性最老的投票数                    
       
9                        
                   

NTP为层次结构中的每个级别增加了层次-NTP服务器从“第1层”服务器拉出时间会向其客户端广告为“第2层”。                        

层值“ 16”为未同步的服务器保留,这意味着位于192.168.92.82的内部NTP服务器认为没有可靠的时间源(即未同步到更高级别的层服务器)。                        

您需要在那里进行一些调试-如果它是使用ntpd的Linux服务器ntpq peers,则可能出于某些原因查看的输出以获取线索                        

  改善这个答案                                   
11年6月6日在11:27 回答                                    
                                       
                                   
  • 2                                    
    您是正确的,现在我被告知防火墙未与任何事物同步。是否可以强制我的服务器与防火墙同步? –  2011年 6月6日在AndyM 12:14                                    
  • 1个                                    
    不知道有任何简单的NTP客户端忽略了层值。使用完整的ntpd,您可以通过fudge <server> stratum <value>指令设置要同步到的服务器的层-本地ntpd会将其视为可接受且同步的时间源。但这远非优雅。 –  the-wabbit 2011年 6月6日14:21                                     
  • 2                                    
    比强迫客户端与第16层的服务器同步更好的是,将路由器强制为第10层。如果可以访问路由器上的配置文件,则需要向其添加以下内容:服务器127.127。 1.0#本地时钟软糖127.127.1.0阶层10#本地阶层 –  Ladadadada 2011年 8月8日在9:19                                     
添加评论                    
       
10                        
                   

我发现尝试用a更改客户端ntp.conf中服务器的层                        

fudge <server_ip> stratum <number_less_than_16>
                       

不起作用。                        

但是,如果可以访问服务器(运行ntpd的计算机)上的ntp.conf并添加以下行                        

server 127.127.1.0
fudge 127.127.1.0 stratum 8
                       

它可以自己进行自我判断(127.127.1.0是本地ntpd服务器地址,8是小于16的数字)(记住要重新启动ntpd)。                        

然后,您可以在客户端(ntpdate <server_ip>上成功运行ntpdate                         

  改善这个答案                                   
12年5月31日在1:29 回答                                    
                                       
                                   
添加评论                    
       
1个                        
                   

好吧,错误消息确实很清楚地表明了这一点:“地层太高”。从本质上讲,您的ntpdate告诉您时间服务器的层次结构太低,无法保证可靠性。一行打印输出显示了它:                        

stratum 16, precision -19, leap 11, trust 000
                       

我不知道您如何到达那里,但是第16层时间服务器已从第1层服务器中删除了15个级别,这很多您可能想尝试找出原因。在我们公司的网络中,大多数计算机同步到linux网关,后者连接到第3层服务器(使它们成为第4层)或域控制器(相同)。您必须具有非常复杂的网络设置才能到达第16层。                        

  改善这个答案                                   
11年6月6日在11:16 回答                                    
                                       
                                   
  • 谢谢,我已经编辑了问题,现在我发现防火墙未与任何内容同步。 –  2011年 6月6日在AndyM 12:18                                    
  • 好吧,在这种情况下,您根本无法将其用于ntp。您需要查看是否可以连接到外部ntp服务器。转到ntp.org,在附近找到合适的服务器,然后查看是否可以使用它。如果您的防火墙不允许这样做,请询问系统管理员,他们到底希望它如何工作。 –  wolfgangsz 2011年6月6日13:04                                    
  • 1个                                    
    Stratum 16可任意用于不同步的服务器。 – Xalorous 18年 8月20日在17:07                                    
  • “ server ip.ad.dr.es / fudge ip.ad.dr.es stratum X”(其中X是任意数字<16)(@ QasiTam的回答)使您可以在断开连接的网络中设置NTP服务器,机器可以手动同步。 – Xalorous 18年 8月20日在17:13                                    
添加评论                    
               
       
1个                        
                   

尝试运行ntpdate tock.usno.navy.mil这是美国海军天文台运行的第1层NTP服务器。看看是否可以同步到该同步,然后从该同步前进。您的防火墙/路由器是否有可能是运行OpenNTPD的PFsense盒?                        

您可以根据需要添加-d                        

  改善这个答案                                   
11年6月6日在11:35 回答                                    
                                       
                                   
  • 服务器没有互联网连接 –  AndyM 2011年 6月6日12:15                                    
  • 没有管理员连接或没有物理互联网? –  ianc1215 2011年 6月6日12:58                                    
  • 我强烈建议让服务器访问UDP \ 123上的Internet,除非完全没有问题,问题可能出在防火墙时间服务器上,而不是服务器上。还要检查以确保服务器已打开UDP \ 123用于NTP通信。如果未打开,则NTP将失败,这可能说明您遇到的问题。 –  ianc1215 2011年 6月6日13:01                                    
添加评论                    
       
0                        
                   

可能有一行以“限制默认值”开头, 只需删除它并重新启动服务...现在运行ntpq,然后运行pe                        

这是我之前和之后的...                        

# Permit time synchronization with our time source, but do not
# permit the source to query or modify the service on this system.
restrict default ignore
                       

结果是....                        

[root@jump ~]# ntpq
ntpq> pe
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 grom.polpo.org  .INIT.          16 u    -   64    0    0.000    0.000   0.000
 skavoovie.net   .INIT.          16 u    -   64    0    0.000    0.000   0.000
 hydrogen.consta .INIT.          16 u    -   64    0    0.000    0.000   0.000
 lttlesis.deekay .INIT.          16 u    -   64    0    0.000    0.000   0.000
ntpq> pe
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 grom.polpo.org  .INIT.          16 u    -   64    0    0.000    0.000   0.000
 skavoovie.net   .INIT.          16 u    -   64    0    0.000    0.000   0.000
 hydrogen.consta .INIT.          16 u    -   64    0    0.000    0.000   0.000
 lttlesis.deekay .INIT.          16 u    -   64    0    0.000    0.000   0.000
ntpq> pe
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 grom.polpo.org  .INIT.          16 u    -   64    0    0.000    0.000   0.000
 skavoovie.net   .INIT.          16 u    -   64    0    0.000    0.000   0.000
 hydrogen.consta .INIT.          16 u    -   64    0    0.000    0.000   0.000
 lttlesis.deekay .INIT.          16 u    -   64    0    0.000    0.000   0.000
ntpq> 
                       

现在,当我注释掉该行时...(或可能以限制默认值开头的任何行)..我得到...                        

# Permit time synchronization with our time source, but do not
# permit the source to query or modify the service on this system.
#restrict default ignore



[root@jump ~]# service ntpd restart
Shutting down ntpd: [  OK  ]
Starting ntpd: [  OK  ]
[root@jump ~]# ntpd
[root@jump ~]# ntpq 
ntpq> pe
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*wiggum.whackert 216.218.254.202  2 u    3   64    1   29.797   24.402   1.088
 76.73.0.4       130.173.91.58    2 u    2   64    1   59.319   23.059   8.816
 eterna.binary.n 216.229.0.179    2 u    1   64    1   67.785   31.427   0.233
 shed.galexander 204.163.51.41    3 u    -   64    1   21.291   21.746   9.525


ntpq> pe
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*wiggum.whackert 216.218.254.202  2 u   31   64    1   29.797   24.402   1.088
 76.73.0.4       130.173.91.58    2 u   30   64    1   59.319   23.059   8.816
 eterna.binary.n 216.229.0.179    2 u   29   64    1   67.785   31.427   0.233
 shed.galexander 204.163.51.41    3 u   28   64    1   21.291   21.746   9.525
ntpq> pe
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*wiggum.whackert 216.218.254.202  2 u   33   64    1   29.797   24.402   1.088
 76.73.0.4       130.173.91.58    2 u   32   64    1   59.319   23.059   8.816
 eterna.binary.n 216.229.0.179    2 u   31   64    1   67.785   31.427   0.233
 shed.galexander 204.163.51.41    3 u   30   64    1   21.291   21.746   9.525
                       

这就是解决我的问题的方法!                        

  改善这个答案                                   
14年8月30日在8:42编辑                                    
                                       
                                   
鲁比恩                                        
66.5千12枚金牌110枚银牌179枚青铜徽章                                        
14年8月30日在5:10 回答                                    
                                       
                                   
添加评论                    
       

 来自  https://serverfault.com/questions/277375/ntpdate-d-server-dropped-strata-too-high            


           


           

ntpdate:找不到适合同步的服务器                

问问题                
 
活动时间 10个月前                
浏览了 29.9万次                
93                                
                           

我的时钟关闭了,所以我想使用进行同步ntpdate我尝试了几种不同的NTP服务器,但是由于某种原因,我总是收到以下错误消息:                                

$ 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
                               

相关问题                                

我已经浏览了相关问题,但没有一个能解决我的问题:                                

我尝试过的事情                                

我安装了ntp软件包                                

...并尝试使用ntpd守护程序代替ntpdate实用程序。它也不会同步我的时间;守护程序启动正常,但我的时钟保持关闭状态。我什至尝试使用/etc/ntp.conf后一篇文章中接受的答案中的确切信息,然后重新启动守护程序。不行 无论如何,我不想使用守护程序。我完全知道它ntpdate被视为“已弃用”,建议改为使用ntpd -q另请参阅此处:                                

但是既然ntpd也不适合我,问题就出在其他地方而且我发现我宁愿不必为了同步时钟而安装任何额外的软件包。ntpdate预先安装了Ubuntu,它应该可以正常工作因此,我ntp再次卸载了该软件包。                                

也许123端口被阻塞了?                                

从这篇文章:                                

...我的想法是,在工作场所,端口123可能被我的计算机/网络阻止了。确实,                                

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

但仍然:                                

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

即使使用该-u选项,该选项也ntpdate可以使用未特权的端口进行同步(而不是port 123),但该端口肯定不受我的工作场所的限制:                                

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

也许地层太高了?                                

最后,来自serverfault的这篇文章:                                

...我认为也许来自NTP服务器的层次过高。不过不是。让我们看看更多的调试信息:                                

$ 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 ...这很长,对此表示歉意。我很沮丧 有什么线索吗?                                

更新:其他信息                                

无论NTP服务器HOSTNAME的数字/etc/ntp.conf,而不管是否ntpd服务运行与否,每当我跑sudo ntpdate -u HOSTNAME,我得到no server suitable for synchronization foundntpd服务运行也是如此,我省略了该-u选项。ntpd服务正在运行,我省略了-u选择,我反而得到the NTP socket is in use, exiting                                

也:                                

$ 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
                               

但是,此处的UTC时间不正确。现在,UTC时间现在11:11不是12:11                                

和:                                

$ sudo hwclock --show
Wed 05 Mar 2014 01:11:56 PM CET  -0.625627 seconds
                           
                                   
  改善这个问题                                           
17年4月13日于12:24编辑                                            
                                               
                                           
社区                                                
1个                                                
14年3月4日上午11:38 问                                            
                                               
                                           
  • 您说您运行过sudo ntpdate ntp.ubuntu.com,但是添加ntp.ubuntu.com/etc/ntp.confs服务器字段后是否这样做了 如果没有看到以下答案 – Stormvirux 14年 3月4日在14:16                                             
  • 尝试`sudo ntpdate 0.ubuntu.pool.ntp.org –  Stormvirux 2014年 3月4日14:18                                            
  • 1个                                            
    嗨,请看我对您答案的评论。我尝试添加server pool.ntp.org/etc/ntp.conf,但ntpdate -u pool.ntp.org引发了相同的错误。我还尝试了ntp.ubuntu.com(添加到/etc/ntp.conf,重新启动ntp服务,ntpdate -u在刚添加到的确切服务器上重新运行/etc/ntp.conf)。总结一下,我要同步的服务器是否在中都没有关系/etc/ntp.confno server suitable...在所有情况下,我都会收到错误消息(除非ntp服务正在运行,并且我省略了该-u选项,然后我收到了NTP socket in use错误消息)。 –  Malte Skoruppa 2014年 3月4日在16:24                                            
  • 好的,我也试过了sudo ntpdate 0.ubuntu.pool.ntp.org,该/etc/ntp.conf文件中已经存在没有运气-同样的错误。 –  Malte Skoruppa 2014年 3月4日在16:26                                            
添加评论                            
                   

5个答案                                

活性最老的投票数                                
                   
60                                    
                               

您的托管服务提供商正在阻止ntp数据包。某些ISP已针对DDoS攻击实施了这种繁重的方法。您可以看到ntpdate正在从ntpdate -vd发送数据包:                                    

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

我将与您的ISP联系,询问他们是否阻止了外部ntp请求,以及它们是否具有可用于时间同步的本地服务器。                                    

还有很多晦涩的可能性,但是很难排除它们,因为您尚未从syslog中发布任何日志。                                    

  改善这个答案                                               
14年3月4日在23:18 回答                                                
                                                   
                                               
  • 7                                                
    你说得很对。看来我们的大学正在阻止外部NTP请求。它还提供了一些本地NTP服务器作为替代。这些完美地工作。我现在看到的输出ntpdate -dv还应该包括一些消息receive(...),而不仅仅是transmit(...)消息。;) 非常感谢! –  Malte Skoruppa 2014年 3月5日在11:30                                                
  • 但是有一个问题,当我使用ntpdate-u选项时,大学如何阻止NTP数据包由于这使用的是非特权端口而不是端口123,这意味着它们的防火墙规则必须比简单地“阻止端口123上的传入数据包”更为复杂。那么,他们是否进行某种深度数据包检查? –  Malte Skoruppa 2014年 3月5日在11:42                                                 
  • 1个                                                
    他们将有一条防火墙规则,上面写着“用目标端口123阻止所有流量”,然后是其ntp主机的一些例外情况 –  dfc 2014年 5月5日14:27                                                
  • 我有同样的问题。我可以通过执行traceroute出站来解决该问题,并且在能够与之同步的路由上找到了一个正在运行ntp的本地服务器。其中之一正在阻止它。感谢您的提示! –  jonespm 2015年 1月7日在17:05                                                
  • 1个                                                
    对我来说,ntpdate -vdno servers can be used, exiting –  highBandWidth 2015年 4月11日,0:45                                                
再显示5条评论                                
                   
55                                    
                               

这不是ntp的答案,但是...                                    

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

这个和curl版本在这里                                    

  改善这个答案                                               
编辑了17年3月20日在10:18                                                
                                                   
                                               
社区                                                    
1个                                                    
15年8月2日在2:17 回答                                                
                                                   
                                               
  • 15                                                
    这很糟糕,但是可以。 –艾伦·梅 (  Alan Plum)2015年10月27日14:09                                                
  • 6                                                
    将未经消毒的数据馈送到以root身份运行的bash命令?非常感谢您的参与。这个答案应该带有极端的偏见。 – dfc 16年 3月23日19:26                                                
  • 1个                                                
    与必须处理ISP支持相比,痛苦要小得多。同样,如果出于测试目的而在本地VM中运行,则根本不重要。 –  Yalok Iy 17年1月18日在15:02                                                
  • 你能解释一下我在做什么吗? –  Suraj Jain 17年2月2日在6:00                                                
  • 1个                                                
    @SurajJain许多Web服务器返回Date标头。在该命令中,date -s表示设置日期,wget -S表示存储所有标题,2>&1表示在stdout中记录错误,grep表示带有标题Date的选择行,cut表示剥离日期和GMT。结束日期处的Z表示为UTC。准确性将取决于网络速度。 – user1516873 17年 4月12日在12:33                                                
再显示1条评论                                
                   
12                                    
                               

我遇到了同样的问题,这就是我解决的方法。我从上至下给出了详细的答案。您可能想跳到我的答案的中间,或者只是参考下面的屏幕快照以快速了解它。                                    

首先安装ntpdate(显然您已经完成了此操作)                                    

sudo apt-get install ntpdate
                                   

下一步您需要使用服务器配置ntp,如下所示:                                    

您至少应在/etc/ntp.conf配置文件中设置以下参数: server                                    

例如,使用nano文本编辑器打开/etc/ntp.conf文件:                                    

sudo nano /etc/ntp.conf
                                   

找到服务器参数,如果为空,则如下设置:                                    

server pool.ntp.org
                                   

但是通常在ubuntu中已经预写了一些服务器,这可能是                                    

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

在此处输入图片说明                                    

然后保存文件并重新启动ntpd服务                                    

sudo /etc/init.d/ntpd start
                                   

您可以使用以下命令立即将系统时钟同步到NTP服务器:                                    

sudo ntpdate pool.ntp.org
                                   

或仅运行已定义的服务器                                    

sudo ntpdate 0.ubuntu.pool.ntp.org
                                   

或使用服务器定义的其他服务器                                    

通常                                    

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

但是之后有机会出现错误NTP socket in use,如下所示:                                    

在此处输入图片说明                                    

在这种情况下,只需运行                                    

ntpdate -u pool.ntp.org 
                                   

在ntp守护进程运行时更新                                    

或者只是停止守护进程,更新并重新启动,如下所示:                                    

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

你会得到                                    

在此处输入图片说明                                    

  改善这个答案                                               
15年8月2日于10:50编辑                                                
                                                   
                                               
AB                                                    
80k19枚金牌213枚银牌297枚青铜徽章                                                    
14年3月4日在13:43 回答                                                
                                                   
                                               
  • 1个                                                
    嗨,谢谢您的详细回答!不幸的是,它对我没有用。我拥有/etc/ntp.confUbuntu附带那个,从未对其进行任何更改。我将其粘贴在这里:pastebin.com/bB0sskzv尝试了添加server pool.ntp.org到服务器列表的顶部,如您的屏幕快照所示。在此处找到:pastebin.com/YH372Jdi通过这两种设置,我运行了您建议的命令序列:我在原始帖子中添加了屏幕截图。结果与未修改的和修改的完全相同/etc/ntp.conf还有其他想法吗?谢谢! –  Malte Skoruppa 2014年 3月4日在16:16                                                
  • 什么会timedatectl status返回 – Stormvirux 14年 3月4日在16:27                                                 
  • 请参阅timedatectl status我的原始帖子中的命令输出 –  Malte Skoruppa 2014年 3月4日在16:31                                                
  • 现在,我尝试使用所有4个预定义的服务器(即{0..3}.ubuntu.pool.ntp.org),-u选择是否启用选项。总是相同的错误。 –  Malte Skoruppa 2014年 3月4日在16:33                                                 
  • 告诉我这个也。输出的sudo hwclock --show -  Stormvirux 03月04日'14 16:35                                                
再显示2条评论                                
                   
12                                    
                               

使用htpdate                                    

如果您的网络中阻止了ntp传输,请安装htpdate。它通过http协议同步时间。根据手册页,准确度将达到0.5秒。                                    

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

htpdate服务将在您安装软件包时启动。如果有互联网连接,时间将立即更新。                                    

  改善这个答案                                               
18年4月12日编辑于16:47                                                
                                                   
                                               
Abhinav Kumar                                                    
32枚青铜徽章                                                    
2017年8月21日在10:22回答                                                
                                                   
                                               
  • 请不要只是在找到有关ntp的每个主题中复制并粘贴相同的答案。 – sempaiscuba 17年 8月21日在15:30                                                
  • 3                                                
    无论是否使用Copypasta,当我收到ntpdate[22109]: no server suitable for synchronization found错误消息时,此解决方案都对我有用 –膝盖 19年 2月23日在17:26                                                
添加评论                                
                   
6                                    
                               

与Alex的答案类似,这对我来说可以绕过防火墙的ntp端口:                                    

sudo date -s "$(curl http://s3.amazonaws.com -v 2>&1 | \
  grep "Date: " | awk '{ print $3 " " $5 " " $4 " " $7 " " $6 " GMT"}')"
                               
  改善这个答案                                               
2017年2月23日在1:45回答                                                
                                                   
                                               
添加评论                                
                   

 来自  https://askubuntu.com/questions/429306/ntpdate-no-server-suitable-for-synchronization-found                        


           

解决ntp的错误:no server suitable for synchronization found



       在使用ntp的时候出现了下面的错误:

Server dropped: Strata too high

       在ntp客户端运行ntpdate serverIP,出现no server suitable for synchronization found的错误。在ntp客户端用ntpdate –d serverIP查看,发现有“Server dropped: strata too high”的错误,并且显示“stratum 16”。而正常情况下stratum这个值得范围是“0~15”。这是因为NTP server还没有和其自身或者它的server同步上。以下的定义是让NTP Server和其自身保持同步,如果在/etc/ntp.conf中定义的server都不可用时,将使用local时间作为ntp服务提供给ntp客户端。

       重启ntp服务,执行ntpstat可以发现已经向本地同步时间。有时执行过后依然没向本地同步时间,可以稍微等一会儿再执行一次,需要一点时间,也可执行如下命令进行查看:

watch ntpq -p

       注意LOCAL的这个就是与自身同步的ntp server。注意reach这个值,在启动ntp server服务后,这个值就从0开始不断增加,当增加到17的时候,从0到17是5次的变更,每一次是poll的值的秒数,是64秒*5=320秒的时间。

来自 https://blog.csdn.net/gdkyxy2013/article/details/88875632


普通分类: