Linux下使用ntp进行时间同步

网络时间协议 - NTP - 是运行在传输层 123 号端口的 UDP 协议,它允许计算机通过网络同步准确时间。随着时间的流逝,计算机内部时间会出现漂移,这会导致时间不一致问题,尤其是对于服务器和客户端日志文件,或者你想要复制服务器的资源或数据库。

下面的实验均在centOS7下进行:

安装ntp服务

yum install ntp -y

配置ntp服务器

到官网ntp公共服务器池,寻找你所在洲的ntp服务器列表。而后在ntp守护进程的主配置文件/etc/ntp.conf中,注释掉来自pool.ntp.org项目的公共服务器默认列表,并用所在洲的真实服务器来替代。

# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst
server 0.hk.pool.ntp.org
server 1.hk.pool.ntp.org
server 2.hk.pool.ntp.org
server 3.hk.pool.ntp.org

允许本网络的客户端与这台服务器同步时间。同样修改配置文件。其中restrict语句控制允许哪些网络查询和同步时间,请根据需要替换网络IP。
nomodify notrap意味着不允许你的客户端配置服务器活着作为同步时间的节点。

# Hosts on local network are less restricted.
restrict 192.168.10.0 mask 255.255.255.0 nomodify notrap

如果你需要用于错误处理的额外信息,以防你的ntp守护进程出现问题,可添加一个logfile语句,将所有ntp服务器问题定向到一个指定的日志文件中去。

logfile /var/log/ntp.log

添加防火墙规则并启用ntp服务

NTP 服务使用 OSI 传输层(第四层)的 123 号 UDP 端口。它是为了避免可变延迟的影响所特别设计的。要在 RHEL/CentOS 7 中开放这个端口,可以对 Firewalld 服务使用下面的命令。

firewall-cmd --add-service=ntp --permanent
firewall-cmd --reload

你在防火墙中开放了 123 号端口之后,启动 NTP 服务器并确保系统范围内可用。用下面的命令管理服务。

systemctl start ntpd
systemctl enable ntpd
systemctl status ntpd

重启ntp服务,使配置生效。

systemctl restart ntpd

查看ntp同步状态

使用如下命令查看节点同步状态

[root@controller ~]# ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 218.189.210.3   118.143.17.82    2 u    7   64    1  101.974  -33.967   0.000
 209.58.185.100  .INIT.          16 u    -   64    0    0.000    0.000   0.000
 103-226-213-30- .INIT.          16 u    -   64    0    0.000    0.000   0.000

以下是几个字段的含义:

remote:即NTP主机的IP或主机名称。
注意最左边的符号,如果由“+”则代表目前正在作用钟的上层NTP,
如果是“*”则表示也有连上线,不过是作为次要联机的NTP主机。

refid:参考的上一层NTP主机的地址

st:即stratum阶层

when:几秒前曾做过时间同步更新的操作

poll:下次更新在几秒之后

reach:已经向上层NTP服务器要求更新的次数

delay:网络传输过程钟延迟的时间

offset:时间补偿的结果

jitter:Linux系统时间与BIOS硬件时间的差异时间

查询你的ntp服务器同步信息

[root@controller ~]# ntpdate -q  0.hk.pool.ntp.org
server 203.95.213.129, stratum 2, offset -0.020632, delay 0.06477
server 209.58.185.100, stratum 2, offset -0.011884, delay 0.06216
server 218.189.210.4, stratum 0, offset 0.000000, delay 0.00000
server 218.189.210.3, stratum 2, offset -0.036728, delay 0.11096
 6 Apr 12:51:43 ntpdate[10190]: adjust time server 209.58.185.100 offset -0.011884 sec

你可能感兴趣的:(Linux下使用ntp进行时间同步)