zoukankan      html  css  js  c++  java
  • NTP服务器搭建 北漂

    ntp服务器搭建

    1、准备:一共两台(centos 7.x),一台服务器,一台客户端。服务器做本地ntp,不与上层时间服务器同步;机器ip:服务器:10.1.40.232,客户端:10.1.40.233;两台机器都安装ntp服务;yum install ntp。

    2、服务端:

    修改配置文件:vim /etc/ntp.conf

    在restrict ::1下面添加如下几行

    restrict default nomodify

    server 127.127.1.0  # local clock

    fudge 127.127.1.0 stratum 10

    logfile /var/log/ntp.log   #日志文件

    注释掉下面几行:

    # 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

    接着启动ntp服务,并且关闭防火墙

    #systemctl restart ntpd.service

    #systemctl enable ntpd.service

    查看状态:

     

    现在我就来解释一下其中的含义

      remote: 它指的就是本地机器所连接的远程NTP服务器
          refid: 它指的是给远程服务器(e.g. 193.60.199.75)提供时间同步的服务器
              st: 远程服务器的层级别(stratum). 由于NTP是层型结构,有顶端的服务器,多层的Relay Server再到客户端. 所以服务器从高到低级别可以设定为1-16. 为了减缓负荷和网络堵塞,原则上应该避免直接连接到级别为1的服务器的.
                t: 这个.....我也不知道啥意思^_^
        when: 我个人把它理解为一个计时器用来告诉我们还有多久本地机器就需要和远程服务器进行一次时间同步
           poll: 本地机和远程服务器多少时间进行一次同步(单位为秒). 在一开始运行NTP的时候这个poll值会比较小,那样和服务器同步的频率也就增加了,可以尽快调整到正确的时间范围.之后poll值会逐渐增大,同步的频率也就会相应减小
        reach: 这是一个八进制值,用来测试能否和服务器连接.每成功连接一次它的值就会增加
        delay: 从本地机发送同步要求到服务器的round trip time
        offset: 这是个最关键的值, 它告诉了我们本地机和服务器之间的时间差别. offset越接近于0,我们就和服务器的时间越接近
         jitter: 这是一个用来做统计的值. 它统计了在特定个连续的连接数里offset的分布情况. 简单地说这个数值的绝对值越小我们和服务器的时间就越精确

    * 它告诉我们远端的服务器已经被确认为我们的主NTP Server,我们系统的时间将由这台机器所提供
    + 它将作为辅助的NTP Server和带有*号的服务器一起为我们提供同步服务. 当*号服务器不可用时它就可以接管
    - 远程服务器被clustering algorithm认为是不合格的NTP Server
    x 远程服务器不可用

    Refid出现LOCL就为正确,一般在服务器启动3-5分钟客户端才能进行同步。

    3、客户端配置

    修改配置文件:vim /etc/ntp.conf

    在restrict::1添加:

    server 10.1.40.232  iburst

    fudge 127.127.1.0 stratum 10

    logfile /var/log/ntp.conf

    接着启动ntp服务,并且关闭防火墙

    #systemctl restart ntpd.service

    #systemctl enable ntpd.service

    查看状态:

     

    接下来就可以进行时间同步了。

    这种方式是平滑同步,还有一种方式是直接同步:在使用直接同步的时候需要关闭客户端的ntp服务,执行:ntpdate  服务器IP地址就OK。一般在进行同步的时候,先进行直接同步在进行平滑同步。

    4、关于权限设定部分 
    权限的设定主要以 restrict 这个参数来设定,主要的语法为: 
    restrict IP地址 mask 子网掩码 参数 
    其中 IP 可以是IP地址,也可以是 default ,default 就是指所有的IP 
    参数有以下几个: 
    ignore :关闭所有的 NTP 联机服务 
    nomodify:客户端不能更改服务端的时间参数,但是客户端可以通过服务端进行网络校时。 
    notrust :客户端除非通过认证,否则该客户端来源将被视为不信任子网 
    noquery :不提供客户端的时间查询 
    注意:如果参数没有设定,那就表示该 IP (或子网)没有任何限制!

    5、查看服务的状态:

     

    #本ntp服务器层次为12,已经向上级服务器同步过

    #时间校正到相差34ms

    #每256s会向上级服务器轮询更新一次

    6、常见的错误:

    (1)、使用ntp Client进行时间同步,报错信息“no server suitable for synchronization found”

    解决:

    ----.ntp server重启后3-5分钟再试  

    ---ntp server配置文件中可能使用了notrust,需将其注释  

    ---.防火墙udp 123端口没有打开  

    ---网络原因,比如路由器,防火墙,公司的上网策略禁止了ntp服务 

    (2)[root@localhost ~]# ntpq -p

         remote           refid      st t when poll reach   delay   offset  jitter

    ==============================================================================

    *10.1.40.232     INIT        11 u  289  256  376    0.220   -0.018   0.043

    注意上图标红的部分,如果出现这种情况:

    -----服务器防火墙没关

    -----服务器ntp的udp123端口没开

    ------在服务器端的配置文件restrict设置里面去掉notrust参数。

    (3)Server dropped: no data

     

    解决:检查ntp的版本,如果你使用的是ntp4.2(包括4.2)之后的版本,在restrict的定义中使用了notrust的话,会导致以上错误

    查看ntp版本:# ntp  -c  version

    查看stratum层级

    [root@localhost ~]# ntpq -c rv | grep stratum

    stratum=12, precision=-24, rootdelay=0.220, rootdisp=47.152,

     

     

     

     

    相关博客(比较详细):https://blog.csdn.net/gycool21/article/details/51746174

  • 相关阅读:
    .NET中TreeView控件从数据库获取数据源
    .NET中GridView控件的全选删除
    TreeView无限极分类绑定(从数据库读取数据源)
    .NET中GridView代码更改列名
    .NET读写cookie方法
    .NET中GridView控件的高亮显示和删除前弹框提示
    Repeater控件的多层嵌套,DataList控件的多层嵌套
    .NET一些常用的语句集合(不断更新中)
    解决IE5、IE6、IE7与W3C标准的冲突,使用(IE7.js IE8.js)兼容
    kindeditor富文本编辑器ASP.NET源码下载
  • 原文地址:https://www.cnblogs.com/yjt1993/p/9492231.html
Copyright © 2011-2022 走看看