美文网首页
NTP服务器的配置和使用

NTP服务器的配置和使用

作者: whiffet | 来源:发表于2017-12-04 13:08 被阅读0次

    为了避免Linux系统的主机,在长时间运行下所导致的时间偏差。因此我们需要对时间进行时间同步(synchronize)。我们一般使用ntp服务来同步不同机器的时间。NTP 是网络时间协议(Network Time Protocol)的简称,他是通过UDP协议,对时间进行同步的。

    ubuntu下NTP-Server安装及配置

    安装NTP包

    sudo apt-get install ntp
    

    NTP配置

    编辑NTP Server的主要配置文件为/etc/ntp.conf ,如下:

    driftfile /var/lib/ntp/ntp.drift
    statistics loopstats peerstats clockstats
    filegen loopstats file loopstats type day enable
    filegen peerstats file peerstats type day enable
    filegen clockstats file clockstats type day enable
    #server 0.ubuntu.pool.ntp.org
    #server 1.ubuntu.pool.ntp.org
    #server 2.ubuntu.pool.ntp.org
    #server 3.ubuntu.pool.ntp.org
    server s1a.time.edu.cn prefer
    server s2a.time.edu.cn
    server s2b.time.edu.cn
    server s2e.time.edu.cn
    #server ntp.ubuntu.com
    server 127.127.1.0
    fudge 127.127.1.0 stratum 5
    restrict -4 default kod notrap nomodify nopeer noquery
    restrict -6 default kod notrap nomodify nopeer noquery
    
    restrict 172.17.0.0 mask 255.255.0.0 nomodify
    restrict 127.0.0.1
    restrict ::1
    

    配置含义:

    restrict s2a.time.edu.cn prefer
    server s2a.time.edu.cn
    server s2b.time.edu.cn
    server s2e.time.edu.cn   
    server 127.127.1.0
    fudge 127.127.1.0 stratum 5
    

    设定NTP主机来源,其中prefer表示优先同步的主机

    restrict 172.17.0.0 mask 255.255.0.0 nomodify 
    

    restrict 控制相关权限
    语法为: restrict IP地址 mask 子网掩码 参数
    其中IP地址也可以是default ,default 就是指所有的IP
    参数有以下几个:
    ignore :关闭所有的 NTP 联机服务
    nomodify:客户端不能更改服务端的时间参数,但是客户端可以通过服务端进行网络校时。
    notrust :客户端除非通过认证,否则该客户端来源将被视为不信任子网 NTP4.2 版本以后使用会出错
    noquery :不提供客户端的时间查询:用户端不能使用ntpq,ntpc等命令来查询ntp服务器
    notrap :不提供trap远端登陆:拒绝为匹配的主机提供模式 6 控制消息陷阱服务。陷阱服务是 ntpdq 控制消息协议的子系统,用于远程事件日志记录程序。
    nopeer :用于阻止主机尝试与服务器对等,并允许欺诈性服务器控制时钟
    kod : 访问违规时发送 KoD 包。
    restrict -6 表示IPV6地址的权限设置。

    server 127.127.1.0  
    

    只有在上级时钟源失效时,NTP才会使用127.127.1.0的本地时钟,将local时间作为ntp服务器时间提供给ntp客户端。NTP把本地主机的时钟也看作外部时钟源来处理,分配的地址是127.127.1.0

    fudge  127.127.1.0 stratum 5
    

    设置本地时钟源的层次为5,这样如果NTP服务从本地时钟源获取时间的话,NTP对外宣布的时间层次为6

    配置完毕,重启NTP服务,使配置更改生效。

    service ntp restart
    

    查看NTP服务和上级连通状态

    ntpq -p
    
    image.png

    remote: 本机和上层ntp的ip或主机名,“+”表示优先,“*”表示次优先
    refid:参考上一层ntp主机地址
    st:stratum阶层
    when:多少秒前曾经同步过时间
    poll:下次更新在多少秒后
    reach:已经向上层ntp服务器要求更新的次数
    delay:网络延迟
    offset:时间补偿
    jitter:系统时间与bios时间差

    配置内网NTP-Clients

    内网其他设备作为NTP的客户端配置,相对就比较简单,而且所有设备的配置都相同。
    首先需要安装NTP服务(与NTP-Server完全一样)。然后找其中一台配置/etc/ntp.conf文件,配置完成验证通过后,拷贝到其他客户端机器,直接使用即可。
    注释掉之前的上层服务,以下几行

    pool 0.ubuntu.pool.ntp.org 
    pool 1.ubuntu.pool.ntp.org
    pool 2.ubuntu.pool.ntp.org
    pool 3.ubuntu.pool.ntp.org
    pool ntp.ubuntu.com
    

    添加本地的NTP服务器即可完成配置

    server 172.17.30.100 prefer
    

    可以用date命令查看时区
    如果时区是EST需要改成CST

    sudo tzselect
    

    选择亚洲 /中国 /北京 /然后确认
    改完后执行如下复制语句

     cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
    

    使用

    ntpdate -d -u 172.17.30.100
    

    172.17.30.100为你的NTP服务器的ip地址,显示adjust time server 192.168.1.135 offset 0.004882 sec
    这里有可能出现同步失败,一般情况下原因都是本地的NTPD服务器还没有正常启动起来,一般需要几分钟时间后才能开始同步。
    也有报错 no server suitable for synchronization found,这种问题由一下两种情况造成:
    Server dropped: strata too high:
    并且显示“stratum 16”。而正常情况下stratum这个值得范围是“0~15”。
    这种问题往往是由ntp服务启动后还没有和上层服务同步完成,可以等五分钟再次查看。
    Server dropped: strata no data:
    这种问题一般是因为访问不到NTP服务,需要检查NTP服务是否启动成功,或者是否是被防火墙拦截。
    启动NTP_Client

    service ntp start
    

    启动后,查看同步情况

    ntpq -p
    

    由于是内网,NTP服务很快会同步上,可以使用下面命令查看时间是否和服务器时间相同

    date
    

    本机客户端配置完成后,需要同步的客户端机器使用SCP拷贝/etc/ntp.conf,命令如下,启动NTP服务即可。

    scp 172.17.30.1:/etc/ntp.conf /etc/ntp.conf
    

    Linux的NTP配置总结
    NTP服务及时间同步问题

    相关文章

      网友评论

          本文标题:NTP服务器的配置和使用

          本文链接:https://www.haomeiwen.com/subject/klbtixtx.html