zoukankan      html  css  js  c++  java
  • 002.NTP服务端搭建

    一 安装及准备

    1.1 安装NTP

      1 [root@server ~]# 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 root@ntp1 ~]# rpm -qa | grep ntp #检测ntp包安装情况
      2 
      3 [root@ntp1 ~]# yum -y install ntp #使用yum安装ntp

    4.2 修改主配置

      1 [root@server ~]# 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 [root@ntp1 ~]# chown ntp:ntp /var/log/ntp.log
      3 [root@ntp1 ~]# 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 [root@ntp1 ~]# firewall-cmd --permanent --add-service=ntp
      2 
      3 [root@ntp1 ~]# firewall-cmd --reload

    7.2 开启相关服务

      1 [root@ntp1 ~]# systemctl start ntpd.service
      2 
      3 [root@ntp1 ~]# systemctl enable ntpd.service
      4 
      5 [root@ntp1 ~]# systemctl status ntpd.service

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

      1 [root@ntp1 ~]# systemctl stop firewalld.service
      2 
      3 [root@ntp1 ~]# systemctl disable firewalld.service
      4 
      5 [root@ntp1 ~]# setenforce 0

    八 ntp1服务器查看服务

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

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

    02

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

    03

    九 ntp2服务器查看

    04

    十 ntp-client端查看

    05

    十一 其他选配

    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 』:远程服务器不可用。

     

  • 相关阅读:
    linux学习笔记--文件
    linux学习笔记——基础命令
    nginx实现动静分离
    keepalived+nginx高可用负载均衡环境搭建
    keepalived衡环境搭建
    redis配置文件redis.conf说明
    基于sentinel 的redis集群环境搭建
    jdk动态代理
    spring的事物实现
    Linux用户配置
  • 原文地址:https://www.cnblogs.com/itzgr/p/9888655.html
Copyright © 2011-2022 走看看