NTP介绍

第1章 NTP服务介绍

1.1 使用NTP服务的原因

时间对服务器之间的通信及信息交流非常的关键, 一般情况我们可以同步公网的时间服务器,例如ntp1.aliyun.com,但是当机器比较多(百台或千台)同步公网服务器会造成延迟,导致时间同步不准确,所以建议内网搭建一台时间服务器,然后我们让所有的机器去同步它。

NTP(Network Time Protocol,网络时间协议)是用来使网络中的各个计算机时间同步的一种协议。它的用途是把计算机的时钟同步到世界协调时UTC,其精度在局域网内可达0.1ms,在互联网上绝大多数的地方其精度可以达到1-50ms。

NTP服务器就是利用NTP协议提供时间同步服务的。

1.2 搭建NTP服务器

提示:参考资料:http://blog.oldboyedu.com/ntp/

1.2.1 系统环境

[root@m01 ~]# cat /etc/redhat-release
CentOS release 6.9 (Final)
[root@m01 ~]# uname -r
2.6.32-696.el6.x86_64
[root@m01 ~]# rpm -qa ntp
ntp-4.2.6p5-10.el6.centos.2.x86_64  #CentOS6.9最小化安装时已经自带ntp软件,但此版本ntp存在高危漏洞
# 注释定时任务中的时间同步
[root@m01 ~]# crontab -e
#*/5 * * * * /usr/sbin/ntpdate time.nist.gov >/dev/null 2>&1
提示:NTP漏洞相关信息:http://blog.nsfocus.net/ntp-multiple-vulnerability-notifications/

1.2.2 yum安装NTP软件

[root@m01 ~]# yum install -y ntp

1.2.3 升级NTP软件到ntp-4.2.8p10

1.2.3.1 安装依赖文件

[root@m01 ~]# yum install -y libstdc++* libcap*

1.2.3.2 升级openssl

[root@m01 ~]# cd /server/tools/
[root@m01 tools]# tar xf openssl-1.1.0f.tar.gz
[root@m01 tools]# cd openssl-1.1.0f
[root@m01 openssl-1.1.0f]# ./config
[root@m01 openssl-1.1.0f]# make && make install

1.2.3.3 备份ntp相关配置文件

[root@m01 ~]# cp -a /etc/ntp /etc/ntp.bak
[root@m01 ~]# cp /etc/ntp.conf /etc/ntp.conf.bak
[root@m01 ~]# cp /etc/init.d/ntpd /etc/init.d/ntpd.bak
[root@m01 ~]# cp /etc/sysconfig/ntpd /etc/sysconfig/ntpd.bak
[root@m01 ~]# cp /etc/sysconfig/ntpdate /etc/sysconfig/ntpdate.bak

1.2.3.4 卸载低版本的ntp和ntpdate

[root@m01 tools]# yum remove -y ntp ntpdate

1.2.3.5 创建ntp进程文件目录

[root@m01 ~]# install -v -m710 -o ntp -g ntp -d /var/lib/ntp

1.2.3.6 编译安装NTP软件

[root@m01 ~]# cd /server/tools/
[root@m01 tools]# tar xf ntp-4.2.8p10.tar.gz
[root@m01 tools]# cd ntp-4.2.8p10
[root@m01 ntp-4.2.8p10]# ./configure --prefix=/usr --bindir=/usr/sbin --sysconfdir=/etc --enable-linuxcaps --with-lineeditlibs=readline --docdir=/usr/share/doc/ntp-4.2.8p10 --enable-all-clocks --enable-parse-clocks
[root@m01 ntp-4.2.8p10]# make && make install

1.2.3.7 还原ntp相关配置文件

[root@m01 ~]# cp -a /etc/ntp.bak /etc/ntp
[root@m01 ~]# cp /etc/ntp.conf.bak /etc/ntp.conf
[root@m01 ~]# cp /etc/init.d/ntpd.bak /etc/init.d/ntpd
[root@m01 ~]# cp /etc/sysconfig/ntpd.bak /etc/sysconfig/ntpd
[root@m01 ~]# cp /etc/sysconfig/ntpdate.bak /etc/sysconfig/ntpdate

1.2.4 配置NTP服务

[root@m01 ~]# vim /etc/ntp.conf
  8 restrict default nomodify   # 控制时间服务器的同步权限
 22 server ntp1.aliyun.com      # 配置上级时间服务器
 23 server www.ntp.org
 24 server time.nist.gov
 25 server pool.ntp.org
# 或
[root@m01 ~]# sed -i.bak '8s#restrict.*noquery#restrict default nomodify#;22,25d;21a server ntp1.aliyun.com\nserver www.ntp.org\nserver time.nist.gov\nserver pool.ntp.org' /etc/ntp.conf

1.2.5 启动NTP服务

[root@m01 ~]# service ntpd start

1.2.5.1 查看上游时间服务器的状态

[root@m01 ~]# ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 time5.aliyun.co 10.137.38.86     2 u   49   64    1   54.204  5763359   0.000
 www.ntp.org     .INIT.          16 u    -   64    0    0.000    0.000   0.000
 time-d.nist.gov .INIT.          16 u    -   64    0    0.000    0.000   0.000
 202.118.1.130   202.118.1.47     2 u   39   64    1   41.584  5763359   0.000

1.2.5.2 查看时间同步状态

# ntpstat命令只有ntp-4.2.6p5版本中有,升级后的新版ntp中已经没有这个命令了
[root@m01 ~]# ntpstat
synchronised to NTP server (182.92.12.11) at stratum 3
   time correct to within 968 ms
   polling server every 64 s
# 升级后的ntp使用ntp-wait命令查看同步状态
[root@m01 ~]# ntp-wait -v
Waiting for ntpd to synchronize... OK!

1.2.5.3 查看ntp服务使用的端口(123)及网络协议(udp)

[root@m01 ~]# netstat -lntup | grep ntp
udp        0      0 172.16.1.61:123             0.0.0.0:*                               98663/ntpd         
udp        0      0 10.0.0.61:123               0.0.0.0:*                               98663/ntpd         
udp        0      0 127.0.0.1:123               0.0.0.0:*                               98663/ntpd         
udp        0      0 0.0.0.0:123                 0.0.0.0:*                               98663/ntpd         
udp        0      0 fe80::20c:29ff:fe8a:a77c:123 :::*                                    98663/ntpd         
udp        0      0 fe80::20c:29ff:fe8a:a772:123 :::*                                    98663/ntpd         
udp        0      0 ::1:123                     :::*                                    98663/ntpd         
udp        0      0 :::123                      :::*                                    98663/ntpd

1.2.6 客户端配置时间同步

[root@web01 ~]# crontab -e
*/5 * * * * /usr/sbin/ntpdate 172.16.1.61 &>/dev/null
提示:由于ntp服务和ntpdate一起使用会产生冲突,所以为了安全使用,仅在时间服务器上使用ntp服务,其他服务器均采用ntpdate方式向NTP服务同步时间。
温馨提示:本文最后更新于2022-12-20 20:57:54,已超过486天没有更新。某些文章具有时效性,若文章内容或图片资源有错误或已失效,请联系站长。谢谢!
转载请注明本文链接:https://blog.leonshadow.cn/763482/266.html
© 版权声明
THE END
喜欢就支持一下吧
点赞2 分享