linux下搭建NTP时间服务器
admin
2023-03-21 12:41:14
0

一、时间与时区配置

格林威治时间(GMT), 它是0时区时间. 但是在计算机中经常看到的是UTC. 它是Coordinated Universal Time的简写. UTC已经被认定为是国际标准,所以我们都应该遵守标准只使用UTC

CST是Chinese Standard Time,也就是我们通常所说的北京时间

相关命令:

date   显示或修改时间日期

hwclock  修改BIOS时间

ntpd   守护进程配置文件在/etc/ntp.conf

ntpdate  链接同步时间命令

ntpq  NTP查询命令

ntptime  读取和设置内核时间变量

ntpstat  显示网络时间同步状态

相关配置文件:

/etc/ntp.conf     NTP服务配置文件

/usr/share/zoneinfo    各时区的时间设定文件

/etc/sysconfig/clock  主要时区设定指定文件“ZONE=Asia/Shanghai”

/etc/localtime   本地系统时间设定文件

[root@pjy ~]# date   #查看时间
Wed Jun  7 12:36:19 CST 2017
[root@pjy ~]# zdump Shanghai  #查看对应时区的时间
Shanghai  Wed Jun  7 04:51:10 2017 Shanghai
[root@pjy ~]#ln -sf /usr/share/zoneinfo/posix/Asia/Shanghai /etc/localtime   #设置时区方法1
[root@pjy ~]# tzselect    #设置时区方法2,需要选择国家和城市,最后将变量写入到环境变量
[root@pjy ~]# echo "TZ=Asia/Shanghai" >>/etc/profile
[root@pjy ~]# . /etc/profile
[root@pjy ~]# echo $TZ 
Asia/Shanghai
[root@pjy zoneinfo]# cat /etc/sysconfig/clock  #查看时区配置文件
ZONE="Asia/Shanghai"
[root@pjy zoneinfo]# date -R   #查看系统时区
Wed, 07 Jun 2017 13:44:49 +0800
[root@pjy zoneinfo]# hwclock --show   #查看硬件时间
Wed Jun  7 13:48:21 2017  -0.235036 seconds
[root@pjy zoneinfo]# ntpdate cn.pool.ntp.org|hwclock -w   #同步系统时间和硬件时间

二、配置NTP server

[root@pjy zoneinfo]# rpm -qa |grep ntp   #查看是否安装NTP包,如没有使用YUM安装
ntpdate-4.2.6p5-1.el6.centos.x86_64
ntp-4.2.6p5-1.el6.centos.x86_64
fontpackages-filesystem-1.41-1.1.el6.noarch
[root@pjy zoneinfo]# yum -y install ntp  #安装NTP服务

http://www.pool.ntp.org是NTP的官方网站,在这上面我们可以找到离我们城市最近的NTP Server. NTP建议我们为了保障时间的准确性,最少找两个个NTP Server

配置NTP配置文件:

[root@pjy ~]#vim /etc/ntp.conf
driftfile /var/lib/ntp/drift   #存储时差值,以供调整
broadcastdelay 0.008    
restrict default nomodify    #定义默认访问规则,不允许修改
restrict 127.0.0.1      #定义允许本机全部操作
restrict -6 ::1    #IPv6定义
server 202.120.2.101 prefer    #优先向上同步服务器
server cn.pool.ntp.org
server 127.127.1.0      #本地时间服务器
fudge 127.127.1.0 stratum 8  #当服务器与公网服务器失去链接则使用本地时间给客户端同步时间
includefile /etc/ntp/crypto/pw 
keys /etc/ntp/keys

stratum为设置服务器的层次,0为顶级,如要向外同步时间则不应该设置为0

关于权限设定部分 
权限的设定主要以 restrict 这个参数来设定,主要的语法为: 
restrict IP地址 mask 子网掩码 参数 
其中 IP 可以是IP地址,也可以是 default ,default 就是指所有的IP 
参数有以下几个: 
ignore :关闭所有的 NTP 联机服务 
nomodify:客户端不能更改服务端的时间参数,但是客户端可以通过服务端进行网络校时。 
notrust :客户端除非通过认证,否则该客户端来源将被视为不信任子网 
noquery :不提供客户端的时间查询 
注意:如果参数没有设定,那就表示该 IP (或子网)没有任何限制!

默认是拒绝所有操作的:

restrict default kod nomodify notrap nopeer noquery

如只允许10.0.0.0网段的主机同步时间且不允许修改服务器上的时间:

restrict 10.0.0.0 mask 255.255.255.0 nomodify

启动服务:

/etc/init.d/ntpd start
chkconfig --level 35 ntpd on

查看ntp服务运行状态:

#watch ntpq -p
Every 2.0s: ntpq -p                                                              Tue Jun  6 22:54:30 2017
     remote           refid st t when poll reach   delay   offset  jitter
==============================================================================
 dns.sjtu.edu.cn .INIT.          16 u    -   64    0    0.000    0.000   0.000
 biisoni.miuku.n 204.123.2.72     2 u   49   64    1  172.026    9.264   0.000
*LOCAL(0)        .LOCL.           8 l   50   64    3    0.000    0.000   0.000

remote:  它指的就是本地机器所连接的远程NTP服务器
refid:  它指的是给远程服务器(e.g. 193.60.199.75)提供时间同步的服务器
st:  远程服务器的层级别(stratum). 由于NTP是层型结构,有顶端的服务器,多层的Relay Server再到客户端. 所以服务器从高到低级别可以设定为1-16. 为了减缓负荷和网络堵塞,原则上应该避免直接连接到级别为1的服务器的.
when:  我个人把它理解为一个计时器用来告诉我们还有多久本地机器就需要和远程服务器进行一次时间同步
poll:  本地机和远程服务器多少时间进行一次同步(单位为秒). 在一开始运行NTP的时候这个poll值会比较小,那样和服务器同步的频率也就增加了,可以尽快调整到正确的时间范围.之后poll值会逐渐增大,同步的频率也就会相应减小
reach:  这是一个八进制值,用来测试能否和服务器连接.每成功连接一次它的值就会增加
delay:  从本地机发送同步要求到服务器的round trip time
offset:  这是个最关键的值, 它告诉了我们本地机和服务器之间的时间差别. offset越接近于0,我们就和服务器的时间越接近
jitter:  这是一个用来做统计的值. 它统计了在特定个连续的连接数里offset的分布情况. 简单地说这个数值的绝对值越小我们和服务器的时间就越精确

注意:在remote段,NTP提供的是群集服务,所以每次链接的服务器是不一样的

其中的前标记解释:

* 它告诉我们远端的服务器已经被确认为我们的主NTP Server,我们系统的时间将由这台机器所提供
+ 它将作为辅助的NTP Server和带有*号的服务器一起为我们提供同步服务. 当*号服务器不可用时它就可以接管
- 远程服务器被clustering algorithm认为是不合格的NTP Server
x 远程服务器不可用

查看ntp更新间隔:

[root@pjy ~]# ntpstat
synchronised to NTP server (193.228.143.24) at stratum 3  #本层次服务器为3,已向服务器同步
   time correct to within 655 ms    #时间校正到相差655MS之内
   polling server every 64 s   #每64秒向上级NTP轮询更新一次时间

如需要同步硬件时间也可以在配置文件中打开:

vim /etc/sysconfig/ntpd
SYNC_HWCLOCK=yes

三、客户端时间同步

使用定时同步任务:

[root@zabbix ~]# cat /var/spool/cron/root
*/10 * * * * /usr/sbin/ntpdate 10.0.0.100 |hwclock -w >/dev/null 2>&11

hwclock -w为将系统时间作为硬件时间

注:让linux运行ntpdate更新时间时,linux不能开启NTP服务,否则会提示端口被占用

相关内容

热门资讯

AI开源公开信签署企业增至50... IT之家 7 月 26 日消息,英伟达、微软、IBM、Meta 等 25 家美国科技企业本周(7 月...
南阳快手短视频代运营企业的服务... 在短视频平台快速发展的背景下,企业通过快手等渠道进行内容运营已成为常见的市场动作。对于希望借助短视频...
普通人该如何跟上科技发展的步伐 这个被称作科技的词汇, 听起来既有宏大之感, 又颇为遥远, 好似仅仅归属于在实验室里专心致志钻研的科...
原创 王... 菲尔兹奖名单一出,邓煜和王虹两位华人数学家共同获奖,本应是一件令人振奋的喜讯。然而,王虹那段仅3分1...
《万物》杂志首个阅读空间亮相正... 26日,由国内知名的青少年家庭科普期刊《万物》杂志与广州正佳自然科学探索中心联合打造的阅读互动空间—...
从康复机器人到脑机接口 智能康... 天津北方网讯:对脑卒中患者来说,重新抬起手臂、迈出一步,往往需要持续的康复训练,逐步恢复运动功能;对...
原创 苹... 当苹果、谷歌、斯坦福、麻省理工都无法留住一位年轻的中国AI天才时,究竟是什么力量吸引他毅然回国?为何...
为什么新能源车供应链要本地化? 当前汽车产业变革加速,电动化成为核心发展方向。车企为了在激烈市场中站稳脚跟,必须优化生产结构。其中,...
携程罚单的真正影响,不是酒店变... 文 | 听风译码 7月25日,市场监管总局对携程开出51.79亿元天价罚单。 全网叫好。 但如果你...
自己管理自己,我国成功发射两颗... 7月24日消息,力箭一号遥十五运载火箭今日在东风商业航天创新试验区成功发射,以“一箭5星”方式将5颗...