NTP
(Network Time Protocol
,网络时间协议)是用来使网络中的各个计算机保持时间同步的一种协议。它的用途是把计算机的时钟同步到 UTC(Coordinated Universal Time
,世界标准时间),其精度在局域网内可达0.1 ms
,在互联网上绝大多数的地方其精度可以达到 1~50 ms
。
服务简介
Chrony
应用本身已经有几年了,是网络时间协议(NTP
)的另一种实现。一直以来众多发行版里标配的都是ntpd
服务,自 RHEL 7
起,Chrony
作为标配服务,不过旧 ntpd
服务依旧可用。
Chrony
可以同时做为客户端和服务端。默认安装完后有两个程序chronyd
和chronyc
。chronyd
是一个在系统后台运行的守护进程,chronyc
是用来监控chronyd
性能和配置其参数程序。
小贴士:Chrony 基于UDP
报文进行传输,使用的端口号为323
。
服务部署
提示:本文环境默认为 CentOS 7.5
环境准备
因涉及到网络操作,因此需要禁用防火墙和临时禁用 SELinux
# systemctl stop firewalld
# systemctl disable firewalld
# setenforce 0
使用时间同步,需要先确定时区正确,若在中国,请统一调整为 “中国/上海”
# timedatectl
Local time: Thu 2018-08-01 04:50:52 PDT
Universal time: Thu 2018-08-01 11:50:52 UTC
RTC time: Thu 2018-08-01 11:52:42
Time zone: America/Los_Angeles (PDT, -0700)
NTP enabled: yes
NTP synchronized: yes
RTC in local TZ: no
DST active: yes
Last DST change: DST began at
Sun 2018-03-11 01:59:59 PST
Sun 2018-03-11 03:00:00 PDT
Next DST change: DST ends (the clock jumps one hour backwards) at
Sun 2018-11-04 01:59:59 PDT
Sun 2018-11-04 01:00:00 PST
列出全部时区
# timedatectl list-timezones
调整时区为【中国/上海】,时区中无【中国/北京】选项
# timedatectl set-timezone Asia/Shanghai
服务安装
安装 chrony
软件包
# yum install chrony -y
小贴士:chrony
在base
源中,若无法安装请检查yum
源文件。
使用 chrony
服务进行网络时间同步(重点)
# timedatectl set-ntp true
小贴士:从yum
源安装的chrony
默认配置文件已经有同步服务器,但是默认为海外。
服务配置
配置 chrony
同步服务器
# vim /etc/chrony.conf
# Allow NTP client access from Aliyun NTP server.
server ntp.aliyun.com iburst
# Allow NTP client access from local network.
allow 192.168.31.0/24
在 Debian
及其衍生版本(如:Ubuntu
)上,默认配置文件路径与 RH 系列不同。
# ll /etc/chrony/chrony.conf
-rw-r--r-- 1 root root 1.8K May 16 02:56 /etc/chrony/chrony.conf
小贴士:若服务器为海外机器则无需修改,直接使用即可。
启动 chrony
服务
# systemctl enable chronyd
# systemctl start chronyd
验证服务端是否能同步时间
# chronyc sources
210 Number of sources = 4
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^+ time.tritn.com 2 10 377 263 -144us[ -233us] +/- 13ms
^* clock.xmission.com 1 10 377 125 -628us[ -719us] +/- 12ms
^- lithium.constant.com 2 10 377 485 -5442us[-5529us] +/- 67ms
^- blue.1e400.net 3 10 377 144 -8550us[-8641us] +/- 131ms
Chrony 内网实例
案例背景
在企业中,为了安全,只有少数机器会暴露在外网上,其他机器只有内网网络,但部分服务需要 C/S
时间的误差在一定内才能正常运行。
解决方案
在这种情况下可以使用 chrony
服务进行内网时间同步。
- 步骤 1:
先在可以连接外网的机器上配置好外网同步服务器。
具体步骤如上,此处省略。
- 步骤 2:
在内网全部机器上配置时间同步客户端。
# yum install chrony -y
修改配置文件
# vim /etc/chrony.conf
配置内网时间同步服务器,加入以下内容(以实际机器地址为准)
server 192.168.31.200 iburst
启动 chrony
服务
# systemctl enable chronyd
# systemctl start chronyd
启动默认使用网络同步时间
# timedatectl set-ntp true
客户端同步验证
# chronyc sources
210 Number of sources = 1
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^? 192.168.31.200 3 6 372 173 -54.1s[ -54.1s] +/- 12.6s
附录
参考链接
本文由 柒 创作,采用 知识共享署名4.0
国际许可协议进行许可。
转载本站文章前请注明出处,文章作者保留所有权限。
最后编辑时间: 2018-08-01 23:46 PM