环境:最小化安装centos7.1
问题:使用ntpdate同步时间,一直不成功,报错误no server suitable for synchronization found。只是使用ntpdate同步时间而已,并不是要配置ntp服务来同步时间。
解决方法步骤:找了很多,发现网上的很多都是说的ntp服务器同步,很少关心ntpdate来同步时间的。
1、看到有这样的解决办法,如图
2、最下面出现不要启动ntp服务。
3、使用ps -ef|grep ntpd发现并不存在这个进程。
4、使用systemctl status ntpd发现ntpd服务是关闭的。
5、没办法只好试试关闭一下。但是ntpd不在/etc/init.d/ntpd中。使用find查找,发现在/etc/sysconfig/ntpd中。执行#/etc/sysconfig/ntpd stop竟然成功了。
6、执行ntpdate time.nist.gov.发现依然不可以
7、网上说使用ntpdate -d ip 查看详细错误。一般就两种情况(1)Server dropped: Strata too high(2)Server dropped: no data。执行一次,竟然成功了(没有执行#/etc/sysconfig/ntpd stop前,使用-d 参数也是不可以同步的,说明执行这条命令还是有用的)
8、再执行ntpdate ip,瞬间又不可以了。
9、网上查找使用-d成功,不使用失败,找到一个方案说使用-u参数试试。如图:
10、执行ntpdate -u asia.pool.ntp.org发现也成功同步了时间。可是ntpdate ip就是不成功。
11、继续看英文网站吧,发现有一个推测如图:这里写图片描述,他的意思应该是虽然你Linux服务器防火墙关闭了,但是可能你linux服务器上册网络禁止了特殊端口的使用,所以使用-u参数和-d 参数成功(这两个参数使用非限定的特殊端口进行接收ntp协议)。
12、于是使用手机打开流量给电脑开一个热点,然后执行#ntpdate time.nist.gov成功同步时间。看来上面的推测是正确的
总结:
1、使用ntpdate时候需要关闭ntpd服务;
2、虽然你的Linux防火墙允许123端口的udp协议,但是可能你的上层网络服务ISP是禁用特殊端口来传输ntp协议的。这时候使用-u 参数即可。