无法使用`ntpdate`同步时间,错误:“没有适合同步的服务器”
我的ntp.conf文件:
user@pc[0][07:37:40]:/etc$ cat /etc/ntp.conf idriftfile /var/lib/ntp/ntp.drift server 0.pool.ntp.org server 1.pool.ntp.org server 2.pool.ntp.org server pool.ntp.org
命令输出:
user@pc[0][07:37:24]:/etc$ sudo ntpdate -dv pool.ntp.org 18 Jun 07:37:35 ntpdate[10737]: ntpdate 4.2.4p8@1.1612-o Tue Apr 19 07:15:05 UTC 2011 (1) Looking for host pool.ntp.org and service ntp host found : conquest.kjsl.com transmit(198.137.202.16) transmit(216.45.57.38) transmit(64.6.144.6) transmit(198.137.202.16) transmit(216.45.57.38) transmit(64.6.144.6) transmit(198.137.202.16) transmit(216.45.57.38) transmit(64.6.144.6) transmit(198.137.202.16) transmit(216.45.57.38) transmit(64.6.144.6) transmit(198.137.202.16) transmit(216.45.57.38) transmit(64.6.144.6) 198.137.202.16: Server dropped: no data 216.45.57.38: Server dropped: no data 64.6.144.6: Server dropped: no data server 198.137.202.16, port 123 stratum 0, precision 0, leap 00, trust 000 refid [198.137.202.16], delay 0.00000, dispersion 64.00000 transmitted 4, in filter 4 reference time: 00000000.00000000 Thu, Feb 7 2036 0:28:16.000 originate timestamp: 00000000.00000000 Thu, Feb 7 2036 0:28:16.000 transmit timestamp: d1a71a93.1f16c1e3 Sat, Jun 18 2011 7:37:39.121 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 216.45.57.38, port 123 stratum 0, precision 0, leap 00, trust 000 refid [216.45.57.38], delay 0.00000, dispersion 64.00000 transmitted 4, in filter 4 reference time: 00000000.00000000 Thu, Feb 7 2036 0:28:16.000 originate timestamp: 00000000.00000000 Thu, Feb 7 2036 0:28:16.000 transmit timestamp: d1a71a93.524a05dd Sat, Jun 18 2011 7:37:39.321 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 64.6.144.6, port 123 stratum 0, precision 0, leap 00, trust 000 refid [64.6.144.6], delay 0.00000, dispersion 64.00000 transmitted 4, in filter 4 reference time: 00000000.00000000 Thu, Feb 7 2036 0:28:16.000 transmitted 4, in filter 4 reference time: 00000000.00000000 Thu, Feb 7 2036 0:28:16.000 originate timestamp: 00000000.00000000 Thu, Feb 7 2036 0:28:16.000 transmit timestamp: d1a71a93.524a05dd Sat, Jun 18 2011 7:37:39.321 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 64.6.144.6, port 123 stratum 0, precision 0, leap 00, trust 000 refid [64.6.144.6], delay 0.00000, dispersion 64.00000 transmitted 4, in filter 4 reference time: 00000000.00000000 Thu, Feb 7 2036 0:28:16.000 originate timestamp: 00000000.00000000 Thu, Feb 7 2036 0:28:16.000 transmit timestamp: d1a71a93.857c6fbd Sat, Jun 18 2011 7:37:39.521 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 18 Jun 07:37:40 ntpdate[10737]: no server suitable for synchronization found
我的ntp(/etc/ntp.conf)说
server 0.ubuntu.pool.ntp.org server 1.ubuntu.pool.ntp.org server 2.ubuntu.pool.ntp.org server 3.ubuntu.pool.ntp.org
把你改成这个并以root身份执行( sudo -i
)
service ntp stop
做这些改变:
service ntp start
测试一下
date
更新:昨晚我必须配置一台机器,发现这可能会有所帮助
~# dpkg-reconfigure tzdata
您可以设置您的时区并退出(以root身份: sudo -i
)
:~# dpkg-reconfigure tzdata Current default time zone: 'America/Montevideo' Local time is now: Tue Mar 6 13:18:00 UYST 2012. Universal Time is now: Tue Mar 6 15:18:00 UTC 2012. :~#
首先,你不需要ntp
服务器来同步时间(我看到你有来自包ntp
/etc/ntp.conf
,提供服务器),如果你使用那个服务器,你不需要使用ntpdate
手动。
更具体地说,不需要ntp
包的事实,每次使用ntpdate-debian
网络连接时,时间都会同步,这是默认安装中的。
因此,要尝试手动同步,请停止服务器
sudo service ntp stop
然后运行
sudo ntpdate-debian
这是debian帮助应用程序运行ntpdate
而没有你现在的麻烦。
使用选项-u
和可靠的服务器。 例如sudo ntpdate -u pool.ntp.org
确保您的防火墙允许出站连接。
使用命令:
sudo ntpdate ntp.ubuntu.com
和:
sudo ntpdate-debian
在更改我的路由器防火墙以允许端口123,协议UDP,出站之前,我收到了类似的错误“ntpdate [14593]:没有适合同步的服务器”。
特拉华大学(我称NTP的所在地)的ntp常见问题提到了这个错误。 链接是http://www.eecis.udel.edu/~ntp/ntpfaq/NTP-s-trouble.htm#AEN4972 。
您可以尝试使用ntpdate -d servername
或ntpdate -u servername
来运行ntpdate -u servername
。 库存ntpdate没有从ntp配置文件中获取servername。 我认为在尝试这些命令之前用手接近正确的时间是明智的,正如William Ting在评论中所建议的那样。
上面的两个ntpdate命令在计算机上的随机公共端口号(而不是端口123)上发送并期望UDP响应,以避免使用该特权端口入站的潜在复杂性。 当然,出站filter仍然是个问题。
常见问题解答建议将数据包过滤作为原因,因为它可能会消除必要的UDP数据包传入和传出计算机上的端口123 。 您应该根据需要调整系统和路由器上的数据包筛选器。
请注意,ntpdate采用服务器参数。 ntpdate-debian使用/ etc / default / ntpdate中指定的服务器。 使用不带参数的ntpdate会导致问题中提到的错误(提问者正确地指定了它)。
我找到了解决方案,因为我必须这样做。 如果没有任何防火墙转换问题, 请访问https://serverfault.com/questions/277375/ntpdate-d-server-dropped-strata-too-high链接提供解决方案。 至少是我的。
在尝试在我的工作场所网络上同步Raspberry Pi上的时间时遇到了同样的问题。 外部ntp数据包似乎在我的网络上被阻止了。 为了解决这个问题,我删除了默认ntp.conf
文件中列出的服务器并添加了我的内部网络服务器。 如果您不确定要使用的确切服务器名称,可以在/etc/resolv.conf
找到它。
由于只有ntpdate-debian
使用ntp.conf
文件,因此只能修复ntpdate-debian
(不是ntpdate
)。