为什么需要通过设置ntp
>对于bios的内部时间因为bios内部晶片的关系,有可能会使硬件时间和标准时间(utc)产生一定的差异。为了避免时间差异问题,通过ntp校准硬件时间和标准时间
与时间以及ntp有关的几个重要的文件:
/etc/ntp.conf :有关设置ntp配置的重要文件
/usr/share/zoneinfo/ :各个时区相对应的文档
/etc/localtime:本地端的时间
关于ntp服务器的安装和设定
1、检查是否安装ntp
rpm -qa | grep ntp
如果没有可以通过yum在线安装
yum install -y ntp
2、安装完毕后根据需要修改配置文件
3、修改完配置文件之后重新启动ntp服务
service ntpd start(systemctl start ntpd)
4、用户端时间的更新方式
4.1、对于设置好ntp软件的主机,只要通过ntp进行网络时间的校准和同步就行了,无需修改用户端的时间,需要注意的是,当系统时间和标准时间同步了之后,需要同时将此时的系统时间写入bios的硬件时间中,通过使用hwclock -rw命令显示和将系统时间写入硬件时间中。
4.2、对于没有搭建的ntp软件的主机来讲,可以通过date命令设置系统时间,再通过hwlclock命令写入硬件时间中
5.、网络校时
在可利用ntp软件的服务器中,也可以通过ntpdate这支程序进行时间的同步化,但是ntp服务预设的情况下,也会进行ntp服务器和上层ntp服务器的时间的同步化,所以ntpd和ntpdate不能同时启用
[root@clientlinux ~]# ntpdate [-dv] [ntp ip/hostname]选项与参数:
-d :进入除错模式 (debug) ,可以显示出更多的有效资讯。
-v :有较多讯息的显示。
[root@clientlinux ~]# ntpdate 192.168.100.25428 jul 17:19:33 ntpdate[3432]: step time server 192.168.100.254 offset -2428.396146 sec# 最后面会显示微调的时间有多少 (offset),
查看启动服务的状态
service ntpd status(systemctl status ntpd)
查看ntpd是否开放了指定的端口(netstat -tulanp | grep ntpd)
proto recv-q send-q local address foreign address pid/program name
udp 0 0 192.168.100.254:123 0.0.0.0:* 3492/ntpd
udp 0 0 192.168.1.100:123 0.0.0.0:* 3492/ntpd
udp 0 0 127.0.0.1:123 0.0.0.0:* 3492/ntpd
udp 0 0 0.0.0.0:123 0.0.0.0:* 3492/ntpd
udp 0 0 ::1:123 :::* 3492/ntpd
udp 0 0 :::123 :::* 3492/ntpd
查看与上层ntp服务器连接情况
ntpstat
synchronised to ntp server (220.130.158.71) at stratum 3
time correct to within 538 ms
polling server every 128 s
列出当前ntp与相关的上层ntp的状态
ntpq -p:
remote:亦即是 ntp 主机的 ip 或主机名称啰~注意最左边的符号
o 如果有‘ * ’代表目前正在作用当中的上层 ntp
o 如果是‘ + ’代表也有连上线,而且可作为下一个提供时间更新的候选者。
refid:参考的上一层 ntp 主机的位址
st:就是 stratum 阶层啰!
when:几秒钟前曾经做过时间同步化更新的动作;
poll:下一次更新在几秒钟之后;
reach:已经向上层 ntp 伺服器要求更新的次数
delay:网路传输过程当中延迟的时间,单位为 10^(-3) 秒
offset:时间补偿的结果,单位与 10^(-3) 秒
jitter:linux 系统时间与 bios 硬体时间的差异时间, 单位为 10^(-3) 秒。
设置ntp服务器的注意事项:
1、保证ntp服务器与相关上层ntp服务器之间是否连接
2、端口123是否开放
3、防火墙规则是否设置无误