原理:NTP(Network Time Protocol,网络时间协议)使用开是计算机时间同步化的协议可以提供高精准度的时间校正,也可以由加密确认的方式来防止恶意的协议攻击
层数:最大16层,最顶层时国际授时中心
看所有端口:vim /etc/services 进去后搜索ntp 端口:123
扩展:NNTP 网络新闻传输协议,俗称帖子
ntpdate IP 或 ntp服务器域名。
ms毫秒是一秒的千分之一
[root@moban6 ~]# yum -y install ntp
[root@moban6 ~]# cp /etc/ntp.conf /etc/ntp.conf.bak
[root@moban6 ~]# egrep -v "#|^$" /etc/ntp.conf.bak > /etc/ntp.conf
[root@moban6 ~]# vim /etc/ntp.conf
driftfile /var/lib/ntp/drift
#restrict:限制谁能访问
restrict default nomodify notrap nopeer noquery #dufault:可以写本地服务端IP
restrict -6 default kod nomodify notrap nopeer noquery
restrict 127.0.0.1
restrict -6 ::1
restrict 192.168.200.0 mask 255.255.255.0 #允许这个网段访问
#下面server是给了时间同步的服务器,当然也可以写很多个,一个同步不通就自动换下一个
server ntp1.aliyun.com
server 0.asia.pool.ntp.org
server 1.cn.pool.ntp.org
server 210.72.145.44
server ntp.api.bz
server cn.ntp.org.cn prefer
server 127.127.0.1 #添加本地时间
fudge 127.127.1.0 stratum 10 #指定ntp服务在多少层 定义10层 我们是11层
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
#启动服务
[root@moban6 ~]# /etc/init.d/ntpd start
[root@moban6 ~]# chkconfig ntpd on
#出现报错信息,因为本地的ntpdate服务没有关掉
[root@moban6 ~]# ntpdate 0.centos.pool.ntp.org
22 Apr 18:54:44 ntpdate[1029]: the NTP socket is in use, exiting
[root@moban6 ~]# /etc/init.d/ntpd stop
#下面成功了,offset -0.002101 sec :误差同步时间
[root@moban6 ~]# ntpdate 0.centos.pool.ntp.org
22 Apr 18:57:08 ntpdate[1037]: adjust time server 185.255.55.20 offset -0.002101 sec
#出现这样没事,有时间延迟大概5分钟
[root@moban6 ~]# ntpstat
unsynchronised
time server re-starting
polling server every 8 s
#下面是好的了
[root@moban6 ~]# ntpstat
synchronised to NTP server (120.25.115.20) at stratum 3
time correct to within 1036 ms
polling server every 64 s
#列出我们NTP与上游的连接状态
[root@moban6 ~]# ntpq -p
解释: remote:+优先连接 *次一级
refid: 上一层主机ip地址
st: stratum层数
poll: 下次更新在多少秒之后
offset:时间补偿的结果
[root@moban6 ~]# yum -y install ntpdate(ntp)
#出现下面信息没事,因为两台服务器建立联系需要时间
[root@moban6 ~]# ntpdate -u 192.168.200.154
23 Apr 03:46:26 ntpdate[1128]: no server suitable for synchronization found
#下面成功了
[root@moban6 ~]# ntpstat
synchronised to NTP server (120.25.115.20) at stratum 3
time correct to within 1036 ms
polling server every 64 s
#时区
[root@moban6 ~]# ls /etc/sysconfig/clock
[root@moban6 ~]# cat !$
cat /etc/sysconfig/clock
ZONE="Asia/Shanghai"
#扩展 系统时间和BIOS时间(两个时间不一定时间)
ntp服务,默认只会同步系统时间。如果想要让ntp同时同步硬件时间,可以设置/etc/sysconfig/ntpd文件,在/etc/sysconfig/ntpd文件中,添加 SYNC_HWCLOCK=yes 这样,就可以让硬件时间与系统时间一起同步。
#允许BIOS与系统时间同步,也可以通过hwclock -w 命令
SYNC_HWCLOCK=yes
hwclock -r:读出BIOS时间;-w:将当前系统时间写入BIOS中
[root@moban6 ~]# hwclock -r
Tue 23 Apr 2019 03:58:11 AM CST -0.610551 seconds
[root@moban6 ~]# date
Mon Apr 22 19:58:28 CST 2019
#进行时间同步 crond定时任务
[root@moban6 ~]# crontab-e
0 12 * * * /usr/sbin/ntpdate 192.168.200.154
#用ntpd服务时间同步
注意:ntpd有一个自我保护设置:如果本机与上源时间差太大,ntpd不运行,所以刚装完的服务器,先手动能ntpdate从上源取得时间初值,在启动ntp服务
如果客户端使用ntpd服务的话,配置文件/etc/ntp.conf 添加 server 192.168.200.154(主服务器的时间节点)
相关查询: