NTP介绍

2017年11月6日19:47:12 发表评论 909 views

第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 系统环境

[[email protected] ~]# cat /etc/redhat-release
CentOS release 6.9 (Final)
[[email protected] ~]# uname -r
2.6.32-696.el6.x86_64
[[email protected] ~]# rpm -qa ntp
ntp-4.2.6p5-10.el6.centos.2.x86_64  #CentOS6.9最小化安装时已经自带ntp软件,但此版本ntp存在高危漏洞
# 注释定时任务中的时间同步
[[email protected] ~]# 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软件

[[email protected] ~]# yum install -y ntp

1.2.3 升级NTP软件到ntp-4.2.8p10

1.2.3.1 安装依赖文件

[[email protected] ~]# yum install -y libstdc++* libcap*

1.2.3.2 升级openssl

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

1.2.3.3 备份ntp相关配置文件

[[email protected] ~]# cp -a /etc/ntp /etc/ntp.bak
[[email protected] ~]# cp /etc/ntp.conf /etc/ntp.conf.bak
[[email protected] ~]# cp /etc/init.d/ntpd /etc/init.d/ntpd.bak
[[email protected] ~]# cp /etc/sysconfig/ntpd /etc/sysconfig/ntpd.bak
[[email protected] ~]# cp /etc/sysconfig/ntpdate /etc/sysconfig/ntpdate.bak

1.2.3.4 卸载低版本的ntp和ntpdate

[[email protected] tools]# yum remove -y ntp ntpdate

1.2.3.5 创建ntp进程文件目录

[[email protected] ~]# install -v -m710 -o ntp -g ntp -d /var/lib/ntp

1.2.3.6 编译安装NTP软件

[[email protected] ~]# cd /server/tools/
[[email protected] tools]# tar xf ntp-4.2.8p10.tar.gz
[[email protected] tools]# cd ntp-4.2.8p10
[[email protected] 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
[[email protected] ntp-4.2.8p10]# make && make install

1.2.3.7 还原ntp相关配置文件

[[email protected] ~]# cp -a /etc/ntp.bak /etc/ntp
[[email protected] ~]# cp /etc/ntp.conf.bak /etc/ntp.conf
[[email protected] ~]# cp /etc/init.d/ntpd.bak /etc/init.d/ntpd
[[email protected] ~]# cp /etc/sysconfig/ntpd.bak /etc/sysconfig/ntpd
[[email protected] ~]# cp /etc/sysconfig/ntpdate.bak /etc/sysconfig/ntpdate

1.2.4 配置NTP服务

[[email protected] ~]# 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
# 或
[[email protected] ~]# 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服务

[[email protected] ~]# service ntpd start

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

[[email protected] ~]# 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中已经没有这个命令了
[[email protected] ~]# 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命令查看同步状态
[[email protected] ~]# ntp-wait -v
Waiting for ntpd to synchronize... OK!

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

[[email protected] ~]# 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 客户端配置时间同步

[[email protected] ~]# crontab -e
*/5 * * * * /usr/sbin/ntpdate 172.16.1.61 &>/dev/null

提示:由于ntp服务和ntpdate一起使用会产生冲突,所以为了安全使用,仅在时间服务器上使用ntp服务,其他服务器均采用ntpdate方式向NTP服务同步时间。
weinxin
我的微信
如果有技术上的问题可以扫一扫我的微信
版权声明
1. 本网站名称:Leon的博客
2. 本站永久网址:https://blog.leonshadow.cn
3. 本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长QQ632113590进行删除处理。
4. 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
5. 本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
6. 本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
liyang