说明:系统环境为centos7,关于ntp的层级关系,这里没有介绍
一:设置宿主机时间及时区
首先保证宿主机本地时区正确:
设置localtime:
设置本地时区
# timedatectl set-timezone "Asia/Shanghai"
设置硬件时钟以协调世界时(UTC)
# timedatectl set-local-rtc 0
设置硬件时间,使得硬件时钟变为跟系统时间同步
# hwclock --systohc
开启NTP
# timedatectl set-ntp true
二:安装NTP服务
yum install ntp
或者yum localinstall ./*
(当前目录下存放ntp的rpm包)
在要设置为ntp服务端的宿主机上手动和上级时钟源同步时间:ntpdate –u *.*.*.*
(公司级或国际通用的时钟源或IP)
ntp服务端添加配置:
vi /etc/ntp.conf
添加以下配置:# 允许内网中其他机器同步时间
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
# 添加上层服务端
server h3cntp02-in.h3c.com
restrict h3cntp02-in.h3c.com nomodify notrap noquery
如图:
# systemctl start ntpd
# systemctl enable ntpd
需要等待几钟后才能和上级时钟源连接并同步,验证:
ntpq -p
ntpstat
如图:
ntp客户端添加配置:
vi /etc/ntp.conf
添加以下配置:# 添加上层服务端
server h3cntp02-in.h3c.com
restrict h3cntp02-in.h3c.com nomodify notrap noquery
如图:
# systemctl start ntpd
# systemctl enable ntpd
需要等待几钟后才能和上级时钟源连接并同步,验证:
ntpq -p
ntpstat
如图:
说明:
nomodify:客户端不能修改服务器时间,但是可以从服务器获取时间
notrap:客户端不能使用trap(远端事件登录功能remote event logging)
noquery:其他客户端不能从本机获取时间
主要参考链接:blog.csdn.net/sinat_31726…
遇到过以下错误:the NTP socket is in use, exiting
解决方法参考:blog.csdn.net/Primeprime/…:ps -ef|grep xntpd
,将相关进程killlsof -i:123
,将相关进程kill
注:Centos7以上系统自带chrony服务,该服务同NTP服务存在冲突,安装NTP服务并启用验证时间同步后,需关闭chrony服务,否则会出现系统重启后NTP服务无法启动的情况,操作如下:Systemctl stop chronyd
Systemctl disable chronyd