002.NTP服务端搭建

Posted itzgr

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了002.NTP服务端搭建相关的知识,希望对你有一定的参考价值。

一 安装及准备

1.1 安装NTP

  1 [[email protected] ~]# yum -y install ntp #也可下载之后rpm安装,或者源码安装

1.2 NTP服务地址

提供全球可用NTP服务器列表,挑选适合自己(通常为物理位置附近)的NTP服务器。如:cn.ntp.org.cn。

二 相关配置

2.1 配置说明

  • /etc/ntp.conf:NTP主配置文件;
  • /usr/share/zoneinfo:规定了各主要时区的时间设定文件,如上海/usr/share/zoneinfo/Asia/Shanghai;
  • /etc/sysconfig/clock:Linux的主要时区设定文件,每次启动后系统读取此文件来设定系统预设要显示时间,如:Zone=Asia/Shanghai;
  • /etc/localtim:本地系统的时间设定文件。

2.2 命令说明

  • /bin/date:Linux系统上面的日期与时间修改及输出命令
  • /sbin/hwclock:主机的Bios时间与Linux系统时间分开date 这个指令调整后,只是影响系统时间。如果更改BIOS时间,需要用hwlock命令
  • /usr/sbin/ntpd:NTP服务的守护进程
  • /usr/sbin/ntpdata:NTP客户端用来连接NTP服务器命令文件
  • /usr/sbin/ntpq:标准网络计时协议(NTP)查询程序

2.3 配置详解

  • driftfile 文件名:在与上级时间服务器联系时所花费的时间,记录在driftfile参数后面的文件内。 注意: driftfile 后面接的文件需要使用完整的路径文件名,不能是链接文件,并且文件的权限需要设定成 ntpd守护进程可以写入。
  • restrict配置项——语法:restrict IP地址 mask 子网掩码 参数
  • 注意:其中IP地址也可以是default ,default 就是指所有的IP。
  • 参数:
  • ignore:关闭所有的 NTP 联机服务,即拒绝任何NTP连接。
  • minpoll+maxpoll:指定NTP消息的最小和最大轮询间隔(以秒为单位)。最大轮询间隔默认为10(1,024秒),可通过maxpoll选项增加到17(36.4小时)的上限。最小轮询间隔默认为6(64 s),可通过minpoll选项降低到4(16 s)的下限。
  • nomodify:客户端不能更改服务端的时间参数,但客户端可以通过服务端进行网络校时。
  • notrust:客户端除非通过认证,即拒绝没有认证的客户端。
  • noquery:不提供客户端的时间查询,用户端不能使用ntpq,ntpc等命令来查询ntp服务器,且不可以进行网络校时。
  • notrap:不提供trap远端登陆,即不提供远程事件日志记录功能。
  • nopeer:用于阻止主机尝试与服务器对等,不与其他同一层的NTP服务器进行时间同步。
  • kod:访问违规时发送 KoD 包,即使用kod技术防范“kiss of death”攻击。
  • restrict -6 :表示IPV6地址的权限设置。

举例:

  1 restrict default nomodify notrap nopeer noquery #默认拒绝所有访问
  2 
  3 restrict 211.71.14.254 mask 255.255.255.0 #添加允许211.71.14.254/24网段访问
  4 
  5 restrict 10.111.1.1 mask 255.0.0.0 nomodify #添加10.0.0.0/8网段访问,不能修改服务器时间,但能校时

server配置项:

  • server + ip 或者 server + hostname
  • prefer:设置优先上级服务器
  • burst:当一个运程NTP服务器可用时,向它发送一系列的并发包进行检测。
  • iburst:当一个运程NTP服务器不可用时,向它发送一系列的并发包进行检测。
  • peer:一般配置中表示,服务器接收其他服务器的地址,同时也会为其他设备提供NTP服务器。

举例:

  1 server 202.112.128.33 prefer #默认上级时间服务器为202.112.128.33
  2 
  3 server 202.112.10.60 #备用上级时间服务器为202.112.10.60
  4 
  5 fudge 127.127.1.0 stratum 3
  6 
  7 #设置本地时间级别是3,如果上级时间服务器均失效,对外发布本地时间,时间层级是4。
  8 
  9 keys /etc/ntp/keys #给客户端设置认证信息

三 实验配置

3.1 实验环境

  • ntp1:172.24.8.30
  • ntp2:172.24.8.31
  • ntp-client:172.24.8.32

要求:ntp1为最上级ntp服务器,且和亚洲授时中心同步;ntp2为次级ntp服务器,和ntp1时钟同步;ntp-client和ntp2时钟同步。

四 ntp1服务端配置

4.1 安装ntp包

  1 [email protected] ~]# rpm -qa | grep ntp #检测ntp包安装情况
  2 
  3 [[email protected] ~]# yum -y install ntp #使用yum安装ntp

4.2 修改主配置

  1 [[email protected] ~]# vi /etc/ntp.conf
  2 
  3 server 0.cn.pool.ntp.org
  4 
  5 server 1.asia.pool.ntp.org server 2.asia.pool.ntp.org server 3.asia.pool.ntp.org #设置与亚洲时间同步 restrict 0.cn.pool.ntp.org nomodify notrap noquery restrict 1.asia.pool.ntp.org nomodify notrap noquery restrict 2.asia.pool.ntp.org nomodify notrap noquery
  6 
  7 restrict 3.asia.pool.ntp.org nomodify notrap noquery # 允许上层时间服务器主动修改本机时间
  8 
  9 server 127.127.1.0
 10 
 11 fudge 127.127.1.0 stratum 8 #外部时间服务器不可用时,以本地时间作为时间服务
 12 
 13 #将系统原有ntp地址池修改为所选定的NTP服务器。

4.3 添加允许同步的网段

  1 restrict 172.24.8.0 mask 255.255.255.0 nomodify notrap

4.4 选配

  1 logfile /var/log/ntp.log								#添加ntp相关日志记录文件
  2 [[email protected] ~]# chown ntp:ntp /var/log/ntp.log
  3 [[email protected] ~]# chcon -t ntpd_log_t /var/log/ntp.log

注意:若增加日志,则需要配置日志所属者和SELinux上下文。

五 ntp2服务端配置

5.1 安装ntp包

5.2 修改主配置

  1 restrict 127.0.0.1
  2 
  3 restrict ::1
  4 
  5 restrict 172.24.8.0 mask 255.255.255.0 nomodify notrap
  6 
  7 server 172.24.8.30 prefer
  8 
  9 restrict 172.24.8.30 nomodify notrap noquery
 10 
 11 server 127.127.1.0
 12 
 13 fudge 127.127.1.0 stratum 10 #外部时间服务器不可用时,以本地时间作为时间服务

六 ntp-client服务器配置

6.1 安装ntp包

6.2 修改主配置

  1 server 172.24.8.31
  2 
  3 restrict 172.24.8.31 nomodify notrap noquery

七 防火墙及服务器开启

7.1 添加防火墙规则

  1 [[email protected] ~]# firewall-cmd --permanent --add-service=ntp
  2 
  3 [[email protected] ~]# firewall-cmd --reload

7.2 开启相关服务

  1 [[email protected] ~]# systemctl start ntpd.service
  2 
  3 [[email protected] ~]# systemctl enable ntpd.service
  4 
  5 [[email protected] ~]# systemctl status ntpd.service

注意:第七步操作需要在所有ntp服务器和client上执行,也可直接关闭防火墙。

  1 [[email protected] ~]# systemctl stop firewalld.service
  2 
  3 [[email protected] ~]# systemctl disable firewalld.service
  4 
  5 [[email protected] ~]# setenforce 0

八 ntp1服务器查看服务

8.1 查看该NTP服务器的上层服务器情况

需要隔一定时间之后,查询:

技术分享图片

等待一段时间后,查看是NTP服务器和NTP服务器的服务端同步状态。

技术分享图片

九 ntp2服务器查看

技术分享图片

十 ntp-client端查看

技术分享图片

十一 其他选配

ntp服务,默认只会同步系统时间。若需要tp同时同步硬件时间,可以在/etc/sysconfig/ntpd文件中,添加 SYNC_HWCLOCK=yes ,则可以让硬件时间与系统时间一起同步。

SYNC_HWCLOCK=yes

注意:允许BIOS与系统时间同步,也可以通过hwclock -w 命令。

附:ntpq参数解释:

  • remote:本地服务器所连接的远程NTP服务器。
  • refid:NTP服务器使用的上一级ntp服务器,即给远程ntp服务器提供时间同步是服务器。。
  • st :remote远程服务器的级别,由于NTP是层型结构,有顶端的服务器,多层的Relay Server再到客户端。所以服务器从高到低级别可以设定为1-16,为了减缓负荷和网络堵塞,原则上应该避免直接连接到级别为1的服务器的。
  • when: 上一次成功请求之后到现在的秒数。
  • poll : 本地机和远程服务器多少时间进行一次同步(单位为秒),在一开始运行NTP的时候这个poll值会比较小,那样和服务器同步的频率也就增加了,可以尽快调整到正确的时间范围,之后poll值会逐渐增大,同步的频率也就会相应减小。
  • reach:这是一个八进制值,用来测试能否和服务器连接,每成功连接一次它的值就会增加
  • delay:从本地机发送同步要求到ntp服务器的round trip time
  • offset:主机通过NTP时钟同步与所同步时间源的时间偏移量,单位为毫秒(ms)。offset越接近于0,主机和ntp服务器的时间越接近。
  • jitter:这是一个用来做统计的值,它统计了在特定个连续的连接数里offset的分布情况,简单地说这个数值的绝对值越小,主机的时间就越精确。
  • 『 * 』:代表目前正在作用当中的NTP,即主NTP Server;
  • 『 + 』:代表辅助的NTP Server和带有*号的服务器一起为我们提供同步服务, 当主NTP Server服务器不可用时备服务器接管,即作为下一个提供时间更新的候选者。
  • 『 - 』:远程服务器被认为是不合格的NTP Server。
  • 『 x 』:远程服务器不可用。



以上是关于002.NTP服务端搭建的主要内容,如果未能解决你的问题,请参考以下文章

Qt低功耗蓝牙系列四(搭建低功耗服务端代码)

Qt低功耗蓝牙系列四(搭建低功耗服务端代码)

Qt低功耗蓝牙系列四(搭建低功耗服务端代码)

Git 服务器搭建

Java 微服务 day02 源代码 SpringBoot 实战开发 创建相关数据库,搭建服务,搭建普通工程,设置访问后缀以及端口号

git服务器搭建post-receive 钩子部署服务端代码