时间同步服务
CentOS7之前的版本用的是ntpdate服务,之后用的是chrony服务 默认是安装的了
查看版本
[root@centos8 ~]#rpm -qi chrony Name : chrony Version : 3.5 Release : 2.el8 Architecture: x86_64 Install Date: Sun 13 Jun 2021 12:40:02 PM CST Group : System Environment/Daemons Size : 537759 License : GPLv2 Signature : RSA/SHA256, Wed 03 Mar 2021 12:26:24 AM CST, Key ID 05b555b38483c65d Source RPM : chrony-3.5-2.el8.src.rpm Build Date : Tue 02 Mar 2021 03:04:32 PM CST Build Host : x86-01.mbox.centos.org Relocations : (not relocatable) Packager : CentOS Buildsys <bugs@centos.org> Vendor : CentOS URL : https://chrony.tuxfamily.org Summary : An NTP client/server Description : chrony is a versatile implementation of the Network Time Protocol (NTP). It can synchronise the system clock with NTP servers, reference clocks (e.g. GPS receiver), and manual input using wristwatch and keyboard. It can also operate as an NTPv4 (RFC 5905) server and peer to provide a time service to other computers in the network. [root@centos7 ~]#cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) [root@centos7 ~]#uname -r 3.10.0-327.el7.x86_64 [root@centos7 ~]#rpm -qi chrony Name : chrony Version : 2.1.1 Release : 1.el7.centos Architecture: x86_64 Install Date: 2019年11月25日 星期一 20时17分23秒 Group : System Environment/Daemons Size : 479430 License : GPLv2 Signature : RSA/SHA256, 2015年11月25日 星期三 22时19分35秒, Key ID 24c6a8a7f4a80eb5 Source RPM : chrony-2.1.1-1.el7.centos.src.rpm Build Date : 2015年11月24日 星期二 05时36分12秒 Build Host : worker1.bsys.centos.org Relocations : (not relocatable) Packager : CentOS BuildSystem <http://bugs.centos.org> Vendor : CentOS URL : http://chrony.tuxfamily.org Summary : An NTP client/server Description : A client/server for the Network Time Protocol, this program keeps your computer's clock accurate. It was specially designed to support systems with intermittent internet connections, but it also works well in permanently connected environments. It can use also hardware reference clocks, system real-time clock or manual input as time references.
服务端配置
主配置文件/etc/chrony 重点是: allow 0.0.0.0/0 local stratum 10
简单解释: 允许NTP客户端从本地网络访问。 即使不能和一个远程服务器时间源同步,也能继续为其他客户端提供时间同步服务. 10 代表当前服务器设置为第10层, 按照 原子钟为第一层,互联网上的若干时间服务器为第N层,第10层足够表示当前主机所在的局域网 iburst:并行同步,加快同步速度
[root@centos8 ~]#vim /etc/chrony.conf Use public servers from the pool.ntp.org project. Please consider joining the pool (http://www.pool.ntp.org/join.html). pool 2.centos.pool.ntp.org iburst server ntp.aliyun.com iburst iburst server ntp.ecslb.sjtu.edu.cn iburst server time1.cloud.tencent.com iburst Record the rate at which the system clock gains/losses time. driftfile /var/lib/chrony/drift Allow the system clock to be stepped in the first three updates if its offset is larger than 1 second. makestep 1.0 3 Enable kernel synchronization of the real-time clock (RTC). rtcsync Enable hardware timestamping on all interfaces that support it. hwtimestamp * Increase the minimum number of selectable sources required to adjust the system clock. minsources 2 Allow NTP client access from local network. allow 192.168.0.0/16 allow 0.0.0.0/0 Serve time even if not synchronized to a time source. local stratum 10 local stratum 10 Specify file containing keys for NTP authentication. keyfile /etc/chrony.keys Get TAI-UTC offset and leap seconds from the system tz database. leapsectz right/UTC Specify directory for log files. logdir /var/log/chrony Select which information is logged. log measurements statistics tracking
重启服务
systemctl restart chronyd
- 1
查看chrony服务默认监听的UDP端口123是否打开
[root@centos8 ~]#ss -ntlu Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port Process udp UNCONN 0 0 0.0.0.0:111 0.0.0.0:* udp UNCONN 0 0 0.0.0.0:123 0.0.0.0:* udp UNCONN 0 0 0.0.0.0:39087 0.0.0.0:* udp UNCONN 0 0 0.0.0.0:5353 0.0.0.0:* udp UNCONN 0 0 127.0.0.1:323 0.0.0.0:* udp UNCONN 0 0 [::]:111 [::]:* udp UNCONN 0 0 [::]:50298 [::]:* udp UNCONN 0 0 [::]:5353 [::]:* udp UNCONN 0 0 [::1]:323 [::]:* tcp LISTEN 0 128 127.0.0.1:6010 0.0.0.0:* tcp LISTEN 0 128 127.0.0.1:6011 0.0.0.0:* tcp LISTEN 0 128 127.0.0.1:6012 0.0.0.0:* tcp LISTEN 0 128 127.0.0.1:6013 0.0.0.0:* tcp LISTEN 0 128 0.0.0.0:111 0.0.0.0:* tcp LISTEN 0 128 0.0.0.0:22 0.0.0.0:* tcp LISTEN 0 5 127.0.0.1:631 0.0.0.0:* tcp LISTEN 0 128 [::1]:6010 [::]:* tcp LISTEN 0 128 [::1]:6011 [::]:* tcp LISTEN 0 128 [::1]:6012 [::]:* tcp LISTEN 0 128 [::1]:6013 [::]:* tcp LISTEN 0 128 [::]:111 [::]:* tcp LISTEN 0 128 *:80 *:* tcp LISTEN 0 128 [::]:22 [::]:* tcp LISTEN 0 5 [::1]:631 [::]:*
客户端测试
[root@centos7 ~]#date -s "-1 year" 2020年 08月 27日 星期四 20:09:11 CST [root@centos7 ~]#date 2020年 08月 27日 星期四 20:09:17 CST [root@centos7 ~]#ntpdate 10.0.0.5 27 Aug 16:09:37 ntpdate[4935]: step time server 10.0.0.5 offset 31521600.000748 sec [root@centos7 ~]#date 2021年 08月 27日 星期五 16:09:40 CST 更改配置文件使客户端时间服务默认指向10.0.0.5 [root@centos7 ~]#vim /etc/chrony.conf Use public servers from the pool.ntp.org project. Please consider joining the pool (http://www.pool.ntp.org/join.html). server 0.centos.pool.ntp.org iburst server 1.centos.pool.ntp.org iburst server 2.centos.pool.ntp.org iburst server 3.centos.pool.ntp.org iburst server 10.0.0.5 iburst
重启服务
systemctl restart chronyd
- 1
测试
[root@centos7 ~]#date -s "-1 year" 2020年 08月 27日 星期四 16:17:28 CST 查看同步详细信息 [root@centos7 ~]#chronyc sources -v 210 Number of sources = 1 .-- Source mode '^' = server, '=' = peer, '#' = local clock. / .- Source state '*' = current synced, '+' = combined , '-' = not combined, | / '?' = unreachable, 'x' = time may be in error, '~' = time too variable. || .- xxxx [ yyyy ] +/- zzzz || Reachability register (octal) -. | xxxx = adjusted offset, || Log2(Polling interval) --. | | yyyy = measured offset, || \ | | zzzz = estimated error. || | | MS Name/IP address Stratum Poll Reach LastRx Last sample ^? 10.0.0.5 3 6 377 17 -8760h[ -8760h] +/- 17ms 同步成功 [root@centos7 ~]#chronyc sources -v 210 Number of sources = 1 .-- Source mode '^' = server, '=' = peer, '#' = local clock. / .- Source state '*' = current synced, '+' = combined , '-' = not combined, | / '?' = unreachable, 'x' = time may be in error, '~' = time too variable. || .- xxxx [ yyyy ] +/- zzzz || Reachability register (octal) -. | xxxx = adjusted offset, || Log2(Polling interval) --. | | yyyy = measured offset, || \ | | zzzz = estimated error. || | | MS Name/IP address Stratum Poll Reach LastRx Last sample ^* 10.0.0.5 3 6 377 1 +76us[ -8760h] +/- 16ms
注:使用默认同步需要稍微等待几分钟,立即同步可以用ntpdate 10.0.0.5 或者重启chrony服务 systemctl restart chronyd
国内常见的NTP时间服务器地址
清华大学 https://tuna.moe/help/ntp/
ntp.tuna.tsinghua.edu.cn
上海交通大学
ntp.sjtu.edu.cn ntp.ecslb.sjtu.edu.cn
腾讯
time1.cloud.tencent.com time2.cloud.tencent.com time3.cloud.tencent.com time4.cloud.tencent.com time5.cloud.tencent.com
微软 windows自带
time.windows.com