写在前面
linux上比较常用的时间同步服务有ntp和chrony
这里记录一下他们的用法
ntp
ntpdate
ntpdate ip 同步目标主机的时间,目标主机需要有ntp服务(ntp和chrony都是ntp服务)
ntpdate -d ip 打印详细的同步信息,但并不修改系统时间
ntpdate ip执行没有输出,可以用-d参数来调试,如果只有transmit没有receive,那么就是连接不上远端的ntp服务
1、检查远端的时间同步服务是否启动
2、排查防火墙是否禁用了123端口
3、检查远端ntpd配置文件是否允许本机ip访问
(上述的执行也没有成功,原因是ntp服务器叠的层数太多)
ntpd
ntpd -c /etc/ntpd.conf -g
-c选项指定使用的配置文件启动ntpd,-g选项表示时间差过大时也强制同步
ntpd.conf配置文件示例
driftfile /var/lib/ntp/drift
restrict -4 default kod nomodify notrap nopeer noquery ignore
restrict -6 default kod nomodify notrap nopeer noquery ignore
# 允许本地访问
restrict -4 127.0.0.1
restrict -6 ::1
# 配置另一个ntp服务器, 本机将会尝试同步它, 最小轮序间隔2^6秒, 最大2^10秒
server 210.72.145.44 prefer minpoll 2 maxpoll 5
# 允许ip为121.41.86.106的主机访问
restrict 121.41.86.106 mask 255.255.255.255 nomodify notrap
# 允许192.168.3网段下所有主机访问
restrict 192.168.3.0 mask 255.255.255.0 nomodify notrap
ntpq
ntpq -p命令查看当前ntpd同步的状态,
when列表示距上一次同步的秒数,
poll表示轮询间隔
chrony
chrony也是时间同步服务,比ntpd ntpdate更好用一些
可以通过在/etc/chronyd.conf文件后增加如下项来配置:
# 将210.72.145.44作为上游ntp服务器
server 210.72.145.44 iburst
# 允许121.46.86.106访问本机
allow 121.46.86.106
# 允许192.168.3下的所有主机访问本机
allow 192.168.3.0/16