NTP( The Network Time Protocol)是网络时间协议,用以同步网络内计算机的时间。通过UDP包交换,通过互联网同步的误差是10毫秒,通过局域网则为200微秒。
RTC 硬件时间时钟 # 另外一个使系统时间
基于centos7
步骤:
1. 检查系统时区
date # 中国正确的时区应该是CST北京时间,20:00CST == 12:00UTC,中国为UTC+8时区
2. 查看亚洲大部分时区和国家城市的时间文件
ls -F /usr/share/zoneinfo/Asia # 查看文件
zdump Shanghai # 查看当前某一时区的时间
3. 设置时区
方法一:
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime # 创建前者的软连接/etc/localtime , -f指定如果/etc/localtime存在,则移除
方法二:
tzselect # 输入相关信息,比如在上海则会提示将TZ=’Asia/Shanghai’;export TZ添加到家目录中的.profile或/etc/profile里使之永久生效,比/etc/localtime的优先级高
date # 查看系统时间
hwclock –systohc # 让硬件时钟与系统时钟同步,反之参数相反
hwclock # 显示硬件时间
服务安装与服务检测
查看是否安装ntp服务组件,否则需要安装
rpm -qa | grep ntp # 需要ntp , ntpdate
检查上层NTP服务器是否正常连通
1.cn.pool.ntp.org # 一般格式都是number.country.pool.ntp.org
2.cn.pool.ntp.org
ch.pool.ntp.org
ntpdate -q 1.cn.pool.ntp.org # 测试NTP服务器是否正常连通ntpdate 1.cn.pool.ntp.org # 同步时间,手动调整两次可以避免无法同步的问题,如果发现socket被占用,可以kill进程
5.修改配置文件
vim /etc/ntp.conf
重点内容:
restrict default kod nomodify notrap nopeer noquery # 默认拒绝所有client的操作
restrict 127.0.0.1 # 允许本机的一切操作
restrict 192.168.211.0 mask 255.255.255.0 nomodify notrap # 允许192.168.211.0/24网段的主机对时,不允许客户端来修改或登陆
#注释
restrict IP地址 mask 子网掩码 参数 # restrict的语法,ip为default时表示所有ip,无参数表示无限制
nomodify 用户端不能更改NTP服务端的时间参数
notrap 不提供trap这个远程事件登陆功能
nopeer #避免其他人使用此ntpd作为time server
noquery # 用户端不能使用ntpq,ntpc等指令来查询时间
server 127.127.1.0
fudqe 127.127.1.0 stratum 10
server 1.cn.pool.ntp.org
server 2.cn.pool.ntp.org prefere # prefer 优先
logfile /var/log/ntp.log
拓展:NTP会自动来监测我们时钟的误差值并予以调整.但问题是这是一个冗长的过程,所以它会把记录下来的误差先写入driftfile
启动ntp服务,同步硬件时钟
在linux下系统时间在开机的时候会和硬件时间同步,之后也就各自独立运行了。NTP默认只更新系统时间。
vim /etc/sysconfig/ntpd #添加SYNC_HWCLOCK=yes
service ntpd start # 启动ntpd服务待正确后设置为开机启动
chkconfig ntpd onntpstat # 查看与上层服务器连接状态,或者ntpq -p
watch ntpq -p # 其中*表示主服务器,+表示辅助服务器,出现如下所示表示成功ntpstat说明
refid 上级NTP的ip
st stratum上层ntp的层级
when 几秒钟前曾做过时间同步更新
poll 下一次更新的间隔
reach 已经向上层服务器要求更新的次数
delay 网络传输过程中的延迟时间
jitter linux系统时间与bios硬件时钟之间的差异客户端配置
在/etc/ntp.conf中指定server 192.168.1.130 # 服务端地址,将其他server注释掉
不启用ntpd服务,使用crotab -e添加ntpdate 192.168.1.130定期更新时间