NTP

NTP(Network Time Protocol)网络时间协议,工作在UDP123端口。一种来同步计算机时间,实现高精度时间同步,较小的误差的协议。

NTP服务器

NTP服务器通过向UTC的时间源(原子钟、天文台、卫星或者Internet)获取时间同步。根据与UTC源的远近将所有时间服务器划分为不同的层(Stratum)。顶层的Stratum-1有外部UTC接入,Stratum-2从顶层获取时间,Stratum-3Stratum-2获取时间,以此类推,成阶梯式架构互相连接。总层数在15以内。顶层Stratum-1是整个系统的基础。

计算机主机与多个时间服务器连接,利用统计学的算法过滤不同服务器的时间,选择最佳的路径和来源校正主机时间。NTP使用鉴定(Authentication)机制,检查时间来源的合法性。

NTP时间同步方式

  • broadcast/multicast:主要用于局域网对时,时间服务器周期性广播,将时间信息传送给其他网络中的时间服务器,时间有少量延迟,配置简单,但是精确度不高。
  • Symmetric:一台服务器从远端时间服务器获取时钟,也可以提供时间信息给远端的时间服务器。这种方式用于配置冗余的时间服务器,以提供更高精确度给主机。
  • client/server:一台时间服务器接收上层时间服务器的时间信息,并提供时间信息给下层用户。不提供给其他时间服务器时间信息。时间信息传输都使用UDP协议。同时与许多时间服务器通讯校时,利用过滤算法找出相对可靠的时间来源,然后用它来校时。

NTP服务器配置

名称 IP 系统
ntp_server 10.15.3.100 RHEL7.8
ntp_client 10.15.3.42 RHEL7.8

1.安装ntp

1)确认是否已安装ntp
[root@ntp_server ~]# rpm -qa |grep ntp
若只有ntpdate而未见ntp,则需删除原有ntpdate。如:

ntpdate-4.2.6p5-22.el7_0.x86_64

fontpackages-filesystem-1.44-8.el7.noarch

python-ntplib-0.3.2-1.el7.noarch

2)删除已安装ntp
[root@ntp_server ~]# yum –y remove ntpdate-4.2.6p5-22.el7.x86_64
3)重新安装ntp
[root@server ~]# yum –y install ntp

2.修改配置钱,向上层时间服务器同步本机时间

[root@ntp_server ~]# ntpdate 114.118.7.161
30 May 02:52:51 ntpdate[12938]: adjust time server 114.118.7.161 offset 0.000146 sec

3.修改/etc/ntp.conf配置文件

[root@ntp_server ~]# vi /etc/ntp.conf 
driftfile /var/lib/ntp/drift
#注释默认拒绝所有操作
#restrict default nomodify notrap nopeer noquery
#允许本机的所有操作
restrict 127.0.0.1
restrict ::1
#允许10.15.3.0网段的机器同步时间
restrict 10.15.3.0 mask 255.255.255.0 nomodify notrap
#允许任何人来同步
#restrict default nomodify notrap
#同步的上层时间服务器地址
server 114.118.7.161
server 202.112.10.36
#允许上层时间服务器主动修改本机时间
restrict 114.118.7.161 nomodify notrap noquery
restrict 202.112.10.36 nomodify notrap noquery
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
#以本机作为时间服务器,上层不可用时,以本地时间为准,层数设置为8
server 127.127.1.0 prefer
fudge 127.127.1.0 stratum 8
disable monitor

4.将同步的时间写入硬件时钟

/etc/sysconfig/ntpd文件中添加SYNC_HWCLOCK=yes

[root@ntp_server ~]# vi /etc/sysconfig/ntpd

5.设置ntp服务自启动,并开启ntp服务

[root@ntp_server ~]# systemctl enable ntpd
[root@ntp_server ~]# systemctl start ntpd

6.开放防火墙的123udp端口

[root@ntp_server ~]# firewall-cmd --zone=public --add-port=123/udp --permanent
[root@ntp_server ~]# systemctl restart firewalld
[root@ntp_server ~]# firewall-cmd --list-ports
123/udp

7.使用ntpq -p查看状态

[root@prometheus ~]# ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
*time.neu.edu.cn .PTP. 1 u 43 64 1 77.505 -5.118 0.152
makaki.miuku.ne .INIT. 16 u - 64 0 0.000 0.000 0.000
pingless.com .INIT. 16 u - 64 0 0.000 0.000 0.000
ntp7.flashdance 192.36.143.152 2 u 42 64 1 277.343 -1.609 3.482
114.118.7.161 .INIT. 16 u - 64 0 0.000 0.000 0.000
202.112.10.36 .INIT. 16 u - 64 0 0.000 0.000 0.000

NTP客户端配置

1.客户端使用命令同步时间,或者配置同步计划

[root@ntp_client ~]# ntpdate 10.15.3.42
30 May 15:20:33 ntpdate[16251]: step time server 10.15.3.42 offset 8.376900 sec

2.写入定时任务,定时同步时间

[root@ntp_client ~]# crontab -e
*/1 * * * * ntpdate 10.15.3.42

国内常用NTP服务器地址及IP

210.72.145.44 (国家授时中心服务器IP地址)  
133.100.11.8 日本 福冈大学
time-a.nist.gov 129.6.15.28 NIST, Gaithersburg, Maryland
time-b.nist.gov 129.6.15.29 NIST, Gaithersburg, Maryland
time-a.timefreq.bldrdoc.gov 132.163.4.101 NIST, Boulder, Colorado
time-b.timefreq.bldrdoc.gov 132.163.4.102 NIST, Boulder, Colorado
time-c.timefreq.bldrdoc.gov 132.163.4.103 NIST, Boulder, Colorado
utcnist.colorado.edu 128.138.140.44 University of Colorado, Boulder
time.nist.gov 192.43.244.18 NCAR, Boulder, Colorado
time-nw.nist.gov 131.107.1.10 Microsoft, Redmond, Washington
nist1.symmetricom.com 69.25.96.13 Symmetricom, San Jose, California
nist1-dc.glassey.com 216.200.93.8 Abovenet, Virginia
nist1-ny.glassey.com 208.184.49.9 Abovenet, New York City
nist1-sj.glassey.com 207.126.98.204 Abovenet, San Jose, California
nist1.aol-ca.truetime.com 207.200.81.113 TrueTime, AOL facility, Sunnyvale, California
nist1.aol-va.truetime.com 64.236.96.53 TrueTime, AOL facility, Virginia
————————————————————————————————————
ntp.sjtu.edu.cn 202.120.2.101 (上海交通大学网络中心NTP服务器地址)
s1a.time.edu.cn 北京邮电大学
s1b.time.edu.cn 清华大学
s1c.time.edu.cn 北京大学
s1d.time.edu.cn 东南大学
s1e.time.edu.cn 清华大学
s2a.time.edu.cn 清华大学
s2b.time.edu.cn 清华大学
s2c.time.edu.cn 北京邮电大学
s2d.time.edu.cn 西南地区网络中心
s2e.time.edu.cn 西北地区网络中心
s2f.time.edu.cn 东北地区网络中心
s2g.time.edu.cn 华东南地区网络中心
s2h.time.edu.cn 四川大学网络管理中心
s2j.time.edu.cn 大连理工大学网络中心
s2k.time.edu.cn CERNET桂林主节点
s2m.time.edu.cn 北京大学
-----------------------------------