欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

服务:时间同步——ntpd

程序员文章站 2022-04-24 18:49:23
...

简介

NTP服务(Network Time Protocol)是用来使计算机时间同步化的一种协议,ntpd是ntp-daemon(ntp服务)的简写。

搭建ntpd

  1. 最优先使用的上层ntp服务器 ntp1.aliyun.com
  2. 不对外提供ntp服务,只允许内网客户端同步请求
  3. 检测软件时间与硬件时间,并将差异写入/var/lib/ntp/drift
主机 说明
ntp1.aliyun.com 上级ntp服务器
192.168.0.123 内网ntp服务器
192.168.0.124 内网客户端

ntp软件安装

# yum install -y ntp

服务端配置

[[email protected] ~]# grep ^[^#] /etc/ntp.conf  #过滤空行和注释
driftfile /var/lib/ntp/drift
restrict default nomodify notrap nopeer noquery
restrict 127.0.0.1 #允许本机时间同步请求
restrict ::1 #允许本机时间同步请求,IPv6
restrict 192.168.0.0 mask 255.255.255.0 nomodify notrap #允许同一局域网内主机的时间同步请求
server ntp1.aliyun.com perfer #优先选择的上级时间服务器
restrict ntp1.aliyun.com nomodify notrap noquery #允许上级时间服务器修改本机时间
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
disable monitor

#(可选项)同步上级时间不成功时,使用本机时间
#server 127.127.1.0
#fudge   127.127.1.0 stratum 10

客户端配置

[[email protected] ~]# egrep -v '^$|^#' /etc/ntp.conf
driftfile /var/lib/ntp/drift
restrict default nomodify notrap nopeer noquery
restrict 127.0.0.1 #允许本机时间同步请求
restrict ::1
restrict 192.168.0.0 mask 255.255.255.0 nomodify notrap #允许同一局域网内主机的时间同步请求
server 192.168.0.123 perfer #优先选择的上级时间服务器
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
disable monitor

启动服务

systemctl restart ntpd
systemctl enable ntpd

同步状态检查

下面介绍下查看ntpserver状态的两条命令及其差别。

1. ntpstat

ntpstat查看时间同步状态,一般需要5-10分钟后才能成功连接和同步。
刚启动的时候,一般是:

[[email protected] ~]# ntpstat
unsynchronised
time server re-starting
polling server every 64 s

连接并同步后:

[[email protected] ~]# ntpstat
synchronised to NTP server (192.168.0.123) at stratum 4 
time correct to within 1192 ms
polling server every 64 s

2. ntpq -p

查看时间同步服务器状态。
注意:NTP服务端重启后,客户机要等5分钟再与其进行时间同步,否则会提示“no server suitable for synchronization found”错误。等待的时间可以通过命令 watch ntpq -p来监控。

[root@localhost124 ~]# ntpq -p

remote          refid  st t when poll reach   delay   offset  jitter

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

*192.168.0.123 1 u  107  128  377  397.503 -24.042   0.538

说明:

  • * 表示目前使用的ntp server,这里选择的192.168.0.123;
  • st:即stratum阶层,值越小表示ntp serve的精准度越高;
  • when:几秒前曾做过时间同步更新的操作;
  • poll表示,每隔多少毫秒与ntp server同步一次;
  • reach:已经向上层NTP服务器要求更新的次数;
  • delay:网络传输过程钟延迟的时间;
  • offset:时间补偿的结果;
  • jitter:Linux系统时间与BIOS硬件时间的差异时间

将同步后的时间写入bios硬件时间

[root@localhost124 ~]# hwclock -w   #将系统时间同步到硬件时间
# system to hardware clock(-w, --systohc   set the hardware clock from the current system time)

参考:《鸟哥LINUX私房菜》
http://linux.vbird.org/linux_server/0440ntp.php#theory

相关标签: ntp